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
| Categorie | Conținut |
|---|---|
| Baze de date | URL conexiune Postgres și Redis (per mediu) |
| Email tranzacțional | Token server Postmark (per mediu) |
| Semnătură electronică | Credențiale furnizor semnătură electronică (certificat client mTLS sau API token) |
| Observabilitate | Cheie cont New Relic, DSN Sentry |
| AWS | Credențiale IAM acces S3 și CloudWatch (least-privilege) |
| Sesiune aplicație | Cheie 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:
- Generare credențiale noi în serviciul furnizorului
- Actualizare config var în Heroku (producție + staging separat)
- Verificare funcționare aplicație cu noile credențiale
- Revocare credențiale vechi
- 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.