Guides

Checklist sicurezza pre-produzione

50+ controlli di sicurezza da verificare prima del go-live. Checklist completa per sviluppatori e team DevOps.

18 avril 20265 min de lectureWarDek Team

Il go-live è il momento di massima esposizione. Ogni configurazione dimenticata, ogni header mancante, ogni credenziale esposta diventa una vulnerabilità reale. Questa checklist è il vostro gate di sicurezza prima della produzione.

Infrastruttura

Rete e accesso

  • HTTPS obbligatorio su tutti gli endpoint (TLS 1.2+ minimo)
  • Certificato SSL/TLS valido e con rinnovo automatico
  • Firewall configurato (solo porte necessarie aperte)
  • SSH con chiave pubblica (password disabilitata)
  • VPN o IP whitelisting per accesso admin
  • Rate limiting configurato sui reverse proxy
  • DDoS protection attiva (Cloudflare o equivalente)

Server

  • Sistema operativo aggiornato con patch di sicurezza
  • Servizi non necessari disabilitati
  • Utente non-root per l'applicazione
  • Log centralizzati e protetti da manipolazione
  • Monitoraggio uptime e risorse configurato
  • Backup automatici testati e funzionanti

Docker / Container

  • Immagini base aggiornate e scansionate per vulnerabilità
  • Container eseguiti con utente non-root
  • Nessun segreto hardcoded nelle immagini
  • Health check configurati
  • Limiti di risorse (CPU, memoria) impostati
  • Network isolation tra container

Applicazione

Autenticazione

  • Password con requisiti minimi (lunghezza ≥12, complessità)
  • Hash delle password con bcrypt/argon2 (costo ≥10)
  • MFA disponibile (obbligatorio per admin)
  • Sessioni con scadenza ragionevole (15-30 min inattività)
  • Invalidazione sessione al logout
  • Protezione brute force (account lockout dopo N tentativi)
  • Reset password sicuro (token monouso con scadenza)

Autorizzazione

  • Principio del minimo privilegio applicato
  • Controllo autorizzazione su ogni endpoint (non solo autenticazione)
  • RBAC o ABAC implementato e testato
  • Endpoint admin separati e protetti
  • Nessun IDOR (Insecure Direct Object Reference)

Validazione input

  • Validazione lato server su tutti gli input (Zod, Joi, ecc.)
  • Sanitizzazione dell'output (prevenzione XSS)
  • Query parametrizzate (prevenzione SQL injection)
  • Upload file validati (tipo, dimensione, contenuto)
  • Content-Type verificato su ogni richiesta

Header di sicurezza

  • Strict-Transport-Security (HSTS)
  • Content-Security-Policy (CSP)
  • X-Content-Type-Options: nosniff
  • X-Frame-Options: DENY
  • Referrer-Policy: strict-origin-when-cross-origin
  • Permissions-Policy configurato
  • X-XSS-Protection: 0 (obsoleto ma non dannoso)

Cookie

  • Flag Secure su tutti i cookie
  • Flag HttpOnly sui cookie di sessione
  • SameSite=Strict o Lax configurato
  • Durata cookie proporzionata alla finalità
  • Nessun dato sensibile nei cookie

Gestione errori

  • Messaggi di errore generici per l'utente (nessun dettaglio tecnico)
  • Stack trace disabilitati in produzione
  • Errori loggati lato server con contesto sufficiente
  • Pagine di errore personalizzate (404, 500)
  • Nessuna informazione sul server negli header (Server, X-Powered-By rimossi)

Dati e segreti

Segreti

  • Nessun segreto nel codice sorgente
  • Variabili d'ambiente per credenziali
  • File .env in .gitignore
  • Segreti ruotati rispetto allo sviluppo
  • Chiavi API con permessi minimi
  • Nessun segreto nei log

Database

  • Credenziali database dedicate per l'applicazione (non root)
  • Connessione database crittografata (SSL)
  • Query parametrizzate ovunque
  • Backup automatico con retention policy
  • Dati sensibili crittografati a riposo
  • Accesso database non esposto pubblicamente

GDPR / Privacy

  • Informativa privacy aggiornata e accessibile
  • Banner cookie conforme (Garante Privacy)
  • Registro dei trattamenti aggiornato
  • DPA firmati con tutti i fornitori che trattano dati
  • Procedura per esercizio diritti degli interessati
  • Log degli accessi ai dati personali

API

  • Autenticazione su tutti gli endpoint non pubblici
  • Rate limiting per endpoint
  • CORS configurato con origini specifiche
  • Validazione input su ogni endpoint
  • Paginazione con limiti massimi
  • Versioning dell'API
  • Documentazione OpenAPI aggiornata

Monitoraggio e risposta

Logging

  • Log strutturati (JSON)
  • Nessun dato personale nei log (PII)
  • Nessuna password o token nei log
  • Retention dei log definita
  • Log centralizzati e ricercabili

Alerting

  • Allarme su errori 500 anomali
  • Allarme su tentativi di accesso falliti massivi
  • Allarme su certificato SSL in scadenza
  • Allarme su utilizzo risorse anomalo
  • Procedura di risposta agli incidenti documentata

Scansione

  • Scansione vulnerabilità automatizzata (dipendenze)
  • Scansione header di sicurezza
  • Test di penetrazione effettuato
  • OWASP Top 10 verificato

Pipeline CI/CD

  • Scansione dei segreti nel codice (pre-commit hook)
  • Analisi statica del codice (SAST)
  • Scansione delle dipendenze (SCA)
  • Test di sicurezza automatizzati nella pipeline
  • Deploy automatizzato con rollback
  • Nessun accesso manuale al server di produzione

Processo di validazione

Prima del go-live, fate passare questa checklist con:

  1. Lo sviluppatore verifica l'applicazione
  2. Il DevOps verifica l'infrastruttura
  3. Un revisore indipendente effettua una review
  4. Una scansione automatizzata conferma i controlli tecnici

Solo quando tutti e quattro hanno validato, il go-live è autorizzato.


Scansiona il tuo sito web gratis con WarDek — OWASP, NIS2, GDPR, AI Act in un'unica scansione.

#checklist#sicurezza#produzione#deploy#devops

Scannez votre site gratuitement

WarDek détecte les vulnérabilités mentionnées dans cet article en quelques secondes.