ssm.ro Docs
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țeScanare SCA dependențe — detectare vulnerabilități în pachete
Review codPR review obligatoriu — cel puțin un alt developer aprobă orice modificare
Branch protectionNiciun merge direct în main — modificările trec prin PR
StagingTestare completă înainte de producție — staging nu primește date reale
DeployPipeline automat GitHub → Heroku — fără pași manuali care ar putea introduce erori
RollbackVersioned releases — rollback cu un click la orice release anterior
MonitoringNew 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țieappssm.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 .env files commit-ate în repository