ssm.ro Docs
Securitate, Infrastructură & OperațiuniSecuritatea Aplicației

Managementul Secretelor

Secretele exclusiv în Heroku config vars; 2FA obligatoriu; rotație la compromitere

Principiu

Niciun secret nu este integrat în codul sursă. Toate credențialele, cheile API și secretele de configurare sunt stocate exclusiv în Heroku config vars și sunt injectate în aplicație ca variabile de mediu la runtime.

Categorii de Secrete Gestionate

CategorieConținut
Baze de dateURL conexiune Postgres și Redis (per mediu)
Email tranzacționalToken server Postmark (per mediu)
Semnătură electronicăCredențiale furnizor semnătură electronică (certificat client mTLS sau API token)
ObservabilitateCheie cont New Relic, DSN Sentry
AWSCredențiale IAM acces S3 și CloudWatch (least-privilege)
Sesiune aplicațieCheie criptografică sesiune (per mediu)

Controale de Acces la Secrete

  • 2FA obligatoriu pe conturile cu acces la console administrative: GitHub, Heroku, AWS și alte console
  • Accesul la config vars Heroku este limitat la membrii echipei cu rol administrativ
  • Secretele sunt separate per mediu — producție și staging au seturi complet distincte
  • Credențiale separate per furnizor: fiecare serviciu extern are propriul token/cheie — nu există credențiale shared

Protecție Împotriva Expunerii Accidentale

  • Branch protection GitHub: PR review obligatoriu pe main — reduce riscul unui secret commis accidental
  • Secretele nu sunt logate în output-ul aplicației sau CI/CD
  • Log-urile Heroku nu conțin valori de config vars
  • Analiză statică SAST scanează codul pentru secrete hardcodate în sursă

Principiul Least-Privilege

Credențialele AWS respectă least-privilege IAM:

  • Accesul S3 este restricționat la bucket-urile aplicației
  • CloudWatch write-only (aplicația nu poate citi log-uri proprii prin aceste credențiale)
  • Nicio cheie nu are acces de administrator

Rotație Secrete

La un eveniment de compromitere sau la intervale planificate:

  1. Generare credențiale noi în serviciul furnizorului
  2. Actualizare config var în Heroku (producție + staging separat)
  3. Verificare funcționare aplicație cu noile credențiale
  4. Revocare credențiale vechi
  5. Documentare în log-ul de incident (dacă rotația este cauzată de o compromitere)

La un incident de securitate, rotația acoperă toate secretele simultan: Heroku config vars, chei AWS, tokeni Postmark/furnizor semnătură electronică.

Secrete de Semnare

Cheile de semnare electronică sunt gestionate separat — vezi pagina Gestionarea Cheilor Criptografice.