Che cos'è un certificato SSL?
Un certificato SSL (Secure Sockets Layer) è un certificato digitale che autentica l'identità di un sito web e stabilisce una connessione cifrata tra il server web e il browser. Sebbene SSL sia stato sostituito da TLS (Transport Layer Security), il termine "certificato SSL" è ancora ampiamente usato. Questi certificati sono essenziali per i siti HTTPS e mostrano l'icona del lucchetto che segnala la sicurezza ai visitatori.
Come funzionano i certificati SSL
Il processo di handshake
1. Browser requests secure connection
2. Server sends SSL certificate + public key
3. Browser verifies certificate with CA
4. Browser creates session key, encrypts with public key
5. Server decrypts with private key
6. Encrypted session established
Tipi di certificato
Per livello di convalida
| Tipo | Convalida | Durata | Livello di fiducia | Caso d'uso |
|---|---|---|---|---|
| DV (Domain) | Solo proprietà del dominio | Minuti | Base | Blog, siti piccoli |
| OV (Organization) | Verifica dell'organizzazione | 1-3 giorni | Medio | Siti aziendali |
| EV (Extended) | Verifica approfondita | 1-2 settimane | Massimo | Banche, e-commerce |
Per ambito di copertura
| Tipo | Copertura | Esempio |
|---|---|---|
| Dominio singolo | Un dominio | example.com |
| Wildcard | Dominio e tutti i sottodomini | *.example.com |
| Più domini (SAN) | Più domini specifici | example.com, example.org |
Autorità di certificazione (CA)
Entità affidabili che rilasciano certificati:
- Commerciali: DigiCert, Sectigo, GlobalSign
- Gratuiti: Let's Encrypt, ZeroSSL
- Provider cloud: AWS Certificate Manager, Cloudflare
Ottenere un certificato SSL
Opzioni gratuite (Let's Encrypt)
# Using Certbot
sudo certbot --nginx -d example.com -d www.example.com
# Auto-renewal
sudo certbot renew --dry-run
Procedura di acquisto commerciale
1. Genera una CSR (Certificate Signing Request).
2. Inviala all'autorità di certificazione.
3. Completa la convalida (DV/OV/EV).
4. Scarica e installa il certificato.
Configurazione DNS (record CAA)
Specifica quali CA possono rilasciare certificati:
example.com. CAA 0 issue "letsencrypt.org"
example.com. CAA 0 issuewild "letsencrypt.org"
Componenti del certificato
| Componente | Scopo |
|---|---|
| Chiave pubblica | Cifra i dati inviati al server |
| Chiave privata | Decifra i dati, conservala segreta |
| Catena di certificati | Collega alla CA radice attendibile |
| Periodo di validità | Data di scadenza, in genere da 90 giorni a 1 anno |
Procedure consigliate
1. Usa TLS 1.2 o superiore: disabilita i protocolli meno recenti.
2. Automatizza il rinnovo: previeni le interruzioni dovute alla scadenza.
3. Proteggi la chiave privata: non condividerla né esporla.
4. Usa cifrari robusti: configura suite di cifratura sicure.
5. Implementa HSTS: forza le connessioni HTTPS.
6. Controlla la scadenza: configura avvisi in anticipo.
Problemi comuni
- Certificato non corrispondente: il dominio non corrisponde al certificato.
- Certificato scaduto: il periodo di validità è terminato.
- Catena incompleta: mancano certificati intermedi.
- Contenuti misti: la pagina HTTPS carica risorse HTTP.
I certificati SSL sono fondamentali per la sicurezza web: consentono comunicazioni cifrate che proteggono i dati sensibili durante la trasmissione.