Perche questa checklist esiste
La maggior parte delle guide sulla sicurezza dei siti web e scritta per sviluppatori e amministratori di sistema. Presuppongono che tu sappia cos'e SSH, che tu possa leggere file di configurazione del server e che tu abbia tempo per studiare la sicurezza delle applicazioni web in profondita. Questo non e realistico per un imprenditore che ha bisogno di capire il proprio livello di rischio e agire.
Questa checklist e diversa. Ciascuno dei 15 elementi include: cos'e in linguaggio semplice, perche e importante, come verificarlo usando strumenti gratuiti e cosa fare se il controllo fallisce. Non hai bisogno di competenze tecniche per la maggior parte di questi. Per quelli che richiedono l'intervento di uno sviluppatore, saprai esattamente cosa chiedere.
Abbiamo anche pubblicato una checklist di audit di sicurezza del sito web piu tecnica per sviluppatori e team IT. Questa guida e la versione per l'imprenditore.
Come usare questa checklist
Segui ogni elemento in ordine. Sono disposti dalla priorita piu alta (elementi che ti espongono al rischio piu immediato) alla priorita piu bassa.
Per ogni elemento, assegnati un punteggio:
- Superato (2 punti): Il controllo passa completamente.
- Parziale (1 punto): Alcuni aspetti passano, altri richiedono lavoro.
- Fallito (0 punti): Il controllo fallisce interamente.
| Punteggio | Valutazione | Cosa significa |
|---|---|---|
| 25-30 | Buono | Il tuo sito web ha una solida base di sicurezza. Concentrati sul mantenerla. |
| 18-24 | Discreto | Hai alcune protezioni ma restano lacune significative. Affronta i fallimenti prontamente. |
| 10-17 | Scarso | Il tuo sito web ha gravi debolezze di sicurezza. Dai priorita alla correzione immediatamente. |
| 0-9 | Critico | Il tuo sito web e altamente vulnerabile. Smetti di leggere e contatta un professionista della sicurezza oggi. |
Controllo 1: HTTPS ovunque
Cos'e
HTTPS crittografa la connessione tra il browser del visitatore e il tuo web server. Senza di esso, tutto cio che viene trasmesso (inclusi invii di moduli, credenziali di accesso e dati personali) puo essere intercettato.
Come verificare
- Visita il tuo sito web. C'e un'icona di lucchetto nella barra degli indirizzi? L'URL inizia con
https://? - Prova a visitare
http://tuosito.com. Reindirizza automaticamente ahttps://? - Usa SSL Labs Server Test su
ssllabs.com/ssltest. Punta a un voto A o A+.
Controllo 2: CMS e plugin aggiornati
Cos'e
Il tuo CMS e tutti i plugin/estensioni installati dovrebbero essere alla loro ultima versione. Il software obsoleto contiene vulnerabilita note che gli aggressori scansionano attivamente.
Come verificare
- Accedi al pannello admin del tuo CMS.
- Confronta la versione del core CMS con l'ultima versione disponibile sul sito ufficiale.
- Controlla ogni plugin installato per aggiornamenti disponibili.
- Controlla la tua versione PHP (dovrebbe essere 8.2 o superiore nel 2025).
Controllo 3: Accesso admin protetto con 2FA
Cos'e
L'autenticazione a due fattori (2FA) richiede un secondo passaggio di verifica oltre alla password quando accedi al pannello admin del tuo sito.
Come verificare
- Prova ad accedere al pannello admin. Ti viene chiesto un secondo fattore dopo aver inserito la password?
- Controlla tutti gli account con accesso admin, non solo il tuo.
- Verifica che il metodo 2FA sia basato su app (TOTP), non SMS.
Controllo 4: Security header configurati
Cos'e
I security header sono header di risposta HTTP che dicono ai browser come comportarsi quando caricano il tuo sito. Per una spiegazione dettagliata, vedi il nostro articolo sugli header HTTP di sicurezza.
Come verificare
- Visita securityheaders.com e inserisci il tuo dominio.
- Cerca:
Content-Security-Policy,X-Content-Type-Options,X-Frame-Options,Strict-Transport-Security,Referrer-Policy,Permissions-Policy. - L'obiettivo e un voto A o A+. Qualsiasi cosa sotto B indica header mancanti.
Controllo 5: Moduli di contatto protetti
Cos'e
I tuoi moduli di contatto dovrebbero essere protetti contro bot spam e attacchi di iniezione. Abbiamo un articolo dedicato sul perche i moduli di contatto non protetti sono pericolosi.
Come verificare
- Visita il tuo modulo di contatto. C'e un CAPTCHA, reCAPTCHA o campo honeypot?
- Invia il modulo piu volte in rapida successione. C'e un rate limiting?
- Ricevi spam attraverso il tuo modulo di contatto? Se si, non e adeguatamente protetto.
Controllo 6: Backup testati
Cos'e
Backup regolari e automatizzati dei file del tuo sito web e del database, conservati in una posizione separata dal tuo web server, e testati per confermare che possono effettivamente essere ripristinati.
Come verificare
- Chiedi: dove sono conservati i backup? Con quale frequenza vengono fatti?
- Richiedi un test di ripristino. Possono ripristinare il backup di ieri?
- Verifica che i backup includano sia i file che il database.
- Verifica che i backup siano conservati fuori dal server.
Controllo 7: Restrizioni upload file
Cos'e
Se il tuo sito web consente l'upload di file, quegli handler dovrebbero limitare i tipi di file accettati, controllare il contenuto dei file, limitare le dimensioni e conservare i file caricati in una posizione che impedisce l'esecuzione.
Come verificare
- Identifica tutti i punti di upload sul tuo sito.
- Prova a caricare un file con un'estensione insolita (come .php). Dovrebbe essere rifiutato.
- Prova a caricare un file sovradimensionato. Dovrebbe esserci un limite.
Controllo 8: I messaggi di errore non rivelano informazioni
Cos'e
I messaggi di errore mostrati ai visitatori dovrebbero essere generici, non tecnici e rivelatori. I messaggi di errore dettagliati possono esporre il tuo stack tecnologico, percorsi di file e struttura del database.
Come verificare
- Visita una pagina che non esiste sul tuo sito. Vedi una pagina 404 personalizzata o un errore server grezzo?
- Prova a cercare caratteri speciali come
'o;. Vedi messaggi di errore del database?
Controllo 9: Directory listing disabilitato
Cos'e
Il directory listing mostra il contenuto di una directory quando non c'e un file indice. Puo esporre file di backup, file di configurazione e documenti caricati.
Come verificare
- Prova a visitare directory comuni:
tuosito.com/wp-content/uploads/,tuosito.com/images/. - Se vedi una lista di file, il directory listing e abilitato e deve essere disattivato.
Controllo 10: Credenziali predefinite cambiate
Cos'e
Ogni username e password predefiniti che sono arrivati con il tuo CMS dovrebbero essere stati cambiati durante la configurazione.
Come verificare
- Il tuo username admin e "admin" o "administrator"? Cambialo.
- Ci sono account di test ancora attivi? Rimuovili.
Controllo 11: XML-RPC disabilitato (WordPress)
Cos'e
XML-RPC e un protocollo in WordPress che e ormai in gran parte non necessario ed e un vettore di attacco comune per brute force e amplificazione DDoS.
Come verificare
- Visita
tuosito.com/xmlrpc.php. Se vedi "XML-RPC server accepts POST requests only", e abilitato. - Se ottieni un errore 403 o 404, e disabilitato.
Controllo 12: Enumerazione utenti bloccata
Cos'e
L'enumerazione utenti permette a un aggressore di scoprire username validi sul tuo sito. In WordPress, visitare tuosito.com/?author=1 rivela lo username del primo account admin.
Come verificare
- Visita
tuosito.com/?author=1. Reindirizza a un URL contenente uno username? - Visita
tuosito.com/wp-json/wp/v2/users. Restituisce una lista di utenti?
Controllo 13: Script di terze parti verificati
Cos'e
La maggior parte dei siti web carica JavaScript da fonti esterne: Google Analytics, Facebook Pixel, widget di chat, reti pubblicitarie. Ognuno e codice che gira sul tuo sito e che non controlli.
Come verificare
- Apri il tuo sito in Chrome. Premi F12 per aprire gli Strumenti Sviluppatore. Vai alla scheda "Sorgenti" o "Rete".
- Elenca ogni dominio da cui vengono caricati gli script. Li riconosci tutti?
- Per ogni script di terze parti, chiediti: lo usiamo davvero? E ancora necessario?
Controllo 14: Consenso cookie conforme
Cos'e
Se il tuo sito web usa cookie, hai bisogno di un meccanismo di consenso cookie conforme alle normative applicabili (LPD svizzera, GDPR UE).
Come verificare
- Visita il tuo sito in una finestra di navigazione privata. Vedi un banner di consenso cookie?
- Prima di accettare, gli script di analytics sono gia in esecuzione?
- Clicca "Rifiuta". I cookie non essenziali vengono impostati comunque?
Controllo 15: Piano di risposta agli incidenti
Cos'e
Un piano di risposta agli incidenti e un insieme documentato di passaggi da seguire quando il tuo sito web viene compromesso.
Come verificare
- La tua organizzazione ha un documento scritto che descrive cosa fare se il sito viene compromesso?
- Include informazioni di contatto per: hosting, sviluppatore, team di sicurezza?
- Conosci i tuoi obblighi secondo la nLPD svizzera per la notifica all'IFPDT?
Il tuo punteggio
| Controllo | Punti |
|---|---|
| 1. HTTPS ovunque | __ / 2 |
| 2. CMS e plugin aggiornati | __ / 2 |
| 3. Accesso admin con 2FA | __ / 2 |
| 4. Security header | __ / 2 |
| 5. Moduli di contatto protetti | __ / 2 |
| 6. Backup testati | __ / 2 |
| 7. Restrizioni upload file | __ / 2 |
| 8. Messaggi errore sicuri | __ / 2 |
| 9. Directory listing disabilitato | __ / 2 |
| 10. Credenziali predefinite cambiate | __ / 2 |
| 11. XML-RPC disabilitato | __ / 2 |
| 12. Enumerazione utenti bloccata | __ / 2 |
| 13. Script terze parti verificati | __ / 2 |
| 14. Consenso cookie conforme | __ / 2 |
| 15. Piano risposta incidenti | __ / 2 |
| Totale | __ / 30 |
Cosa fare con i risultati
Se hai ottenuto 25 o piu, ben fatto. Concentrati sul mantenere la tua postura di sicurezza con revisioni regolari (trimestrali e una buona cadenza).
Se hai ottenuto tra 18 e 24, hai del lavoro da fare ma non sei in pericolo immediato. Affronta i controlli falliti entro i prossimi 30 giorni, iniziando dai controlli 1-6.
Se hai ottenuto sotto 18, il tuo sito web ha lacune di sicurezza significative. Gli elementi nei controlli 1-3 (HTTPS, aggiornamenti e 2FA) dovrebbero essere affrontati questa settimana.
Se hai ottenuto sotto 10, hai bisogno di aiuto professionale. Contatta un professionista della sicurezza immediatamente.
La sicurezza non e un'attivita una tantum. Esegui questa checklist ogni trimestre. Se hai bisogno di aiuto, contattaci. Lavoriamo con PMI in tutto il Ticino e la Svizzera per rendere la sicurezza dei siti web pratica, accessibile ed efficace.
Vuoi sapere se il tuo sito è sicuro?
Richiedi un audit di sicurezza gratuito. In 48 ore ricevi un report completo.
Richiedi Audit Gratuito