Securitate, Infrastructură & OperațiuniSecuritatea Aplicației
SDLC Securizat
Practici secure development: PR review, analiză statică SAST, testare în staging, deploy automat
Principii de Dezvoltare Securizată
Platforma SSM.ro integrează securitatea în fiecare etapă a ciclului de dezvoltare software (SDLC), nu doar ca o verificare finală.
Pipeline de Dezvoltare
1. Cod scris de developer (local)
│ Analiză statică SAST opțională local
▼
2. Pull Request creat pe GitHub
│ Code review obligatoriu de alt developer
│ Analiză statică SAST + SCA dependențe în CI
▼
3. Testare în mediul Staging (intern, neexpus public)
│ Funcționalitate verificată
│ Scenarii de securitate relevante verificate
▼
4. Merge în branch main (PR aprobat)
│
▼
5. Build & Deploy automat Heroku
│ Rolling restart dynos
▼
6. Monitorizare în producție (New Relic + Sentry)Controale de Securitate în SDLC
| Etapă | Control |
|---|---|
| Cod sursă | Analiză statică SAST — detectare vulnerabilități în codul aplicației |
| Dependențe | Scanare SCA dependențe — detectare vulnerabilități în pachete |
| Review cod | PR review obligatoriu — cel puțin un alt developer aprobă orice modificare |
| Branch protection | Niciun merge direct în main — modificările trec prin PR |
| Staging | Testare completă înainte de producție — staging nu primește date reale |
| Deploy | Pipeline automat GitHub → Heroku — fără pași manuali care ar putea introduce erori |
| Rollback | Versioned releases — rollback cu un click la orice release anterior |
| Monitoring | New Relic + Sentry — detectare imediată a regresiilor în producție |
Protecții Built-in ale Framework-ului
Framework-ul web al platformei oferă protecții automate:
- ORM parametrizat — interogări parametrizate (SQL injection imposibil prin ORM)
- Auto-escaping HTML — output-ul este escape-uit automat (XSS prevenit automat)
- CSRF protection — token CSRF generat și validat pe orice cerere de modificare stare
- Validare input — allow-listing explicit al input-ului utilizatorului
- Headere de securitate HTTP — configurate centralizat: HSTS, X-Frame-Options etc.
Medii Separate
- Development — local pe workstation-ul dezvoltatorului; nu expus pe internet
- Staging — intern, neexpus public; acces restricționat prin HTTP Basic Auth; date de test exclusiv
- Producție —
appssm.ro; date reale; HTTPS enforced; monitorizare activă
Niciodată datele de producție nu sunt copiate în staging.
Gestionarea Secretelor în Dezvoltare
- Secretele de producție nu sunt accesibile în development sau staging
- Fiecare mediu are propriul set de config vars Heroku
- Secretele nu sunt incluse în
.envfiles commit-ate în repository