E-mail e sicurezza

SSL/TLS (Secure Sockets Layer / Transport Layer Security)

Protocolli crittografici che codificano la comunicazione tra i server web e i browser, indicati da HTTPS e l'icona del lucchetto.
← Torna al glossario

Cos'è SSL/TLS?

SSL (Secure Sockets Layer) e TLS (Transport Layer Security) sono protocolli crittografici che assicurano la comunicazione sulle reti. TLS è il successore moderno di SSL, ma "SSL" rimane comunemente usato per riferirsi a entrambi. Questi protocolli consentono HTTPS, crittografando i dati tra browser e server.

SSL vs TLS: una breve storia

VersioneAnnoStato
SSL 1.01994Mai rilasciato (flawed)
SSL 2.01995Deprecato (insecure)
SSL 3.01996Deprecated (POODLE vulnerabilità)
TLS 1.01999Deprecato
TLS 1.12006Deprecato
TLS 1.22008Standard attuale
TLS 1.32018Ultimi, consigliati

I sistemi moderni dovrebbero utilizzare TLS 1.2 o TLS 1.3 esclusivamente.

Come funziona TLS

Il TLS Handshake

1. Pronto? Browser invia versioni TLS supportate e suite di cifrari

2. Ehila'! Server seleziona la versione TLS e la suite di cifrari

3. Certificate: Server invia il suo certificato SSL

4. Key Exchange: Scambio chiave sicuro (varie per suite di cifrari)

5. Finished: sessione crittografata stabilita

Client                          Server

|-- Client Hello -------------->|

|<-- Server Hello --------------|

|<-- Certificate ---------------|

|<-- Key Exchange --------------|

|-- Key Exchange -------------->|

|-- Finished ------------------>|

|<-- Finished ------------------|

|<======= Encrypted Session ===>|

TLS 1.3 riduce questo a un solo giro, migliorando le prestazioni.

Certificati SSL/TLS

Cosa c'e' in un certificato?

  • Subject: Nome(i) del dominio
  • Issuer: Certificato Autorità (CA) che lo ha rilasciato
  • Periodo di validità: date di inizio e di scadenza
  • #Public Key # Per stabilire connessioni crittografate
  • Signature: firma crittografica di CA

Tipi di certificati

Domain Validated (DV): Prove solo la proprietà del dominio
  • Emessa in pochi minuti
  • Gratuito (crittografia) o basso costo
  • Mostra lucchetto, nessuna informazione dell'organizzazione
Organization Validated (OV): Verifica l'identità dell'organizzazione
  • Richiede verifica aziendale
  • Mostra il nome dell'organizzazione nei dettagli del certificato
  • Maggiore fiducia, costo moderato
Validazione estesa (EV): Livello di verifica più alto
  • Verifica dell'identità rigorosa
  • Nelle puntate precedenti...
  • Più alto costo, più alta fiducia

Copertura del certificato

Single Domain: Copre un dominio (example.com) Wildcard: copre tutti i sottodomini (*.example.com)

Multi-Domain (SAN) Copre più domini specifici

Implementazione SSL/TLS

Certificati gratuiti con Let's Encrypt

# Using Certbot

sudo certbot --nginx -d example.com -d www.example.com

# Auto-renewal

sudo certbot renew --dry-run

Certificati Cloud Provider

La maggior parte delle piattaforme cloud offrono certificati di rinnovo automatico gratuiti:

  • Cloudflare: Automatico per domini prossi
  • AWS: Gestione certificati (ACM)
  • Google Cloud: certificati SSL gestiti

Verifica del certificato

I browser verificano i certificati per:

1. Controllare la catena del certificato a una CA radice attendibile

2. Verifica del certificato non è scaduto

3. Confermare le partite di dominio

4. Controllo dello stato di revoca (CRL/OCSP)

Migliori pratiche SSL/TLS

Configurazione server

Utilizzare TLS 1.2+: Disattiva SSL 3.0, TLS 1.0, TLS 1.1
ssl_protocols TLSv1.2 TLSv1.3;

Straong Cipher Suites. Preferire numeri moderni e sicuri

ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
HSTS: Forza HTTPS (vedi voce glossaria HSTS)

Gestione certificati

  • Rinnovo automatico: I certificati scadono (90 giorni per Let's Encrypt)
  • Monitor expiration: Impostare gli avvisi prima della scadenza dei certificati
  • Utilizzare i record CAA: Limitare quali CA possono rilasciare certificati

Controllo SSL/TLS

curl "https://domscan.net/v1/health?domain=example.com"

# Returns SSL validity, issuer, expiration

Utilizzando OpenSSL:
openssl s_client -connect example.com:443 -servername example.com
Strumenti online: SSL Labs (ssllabs.com/ssltest) fornisce un'analisi completa.

Problemi comuni SSL

Contenuti separati: risorse HTTPS di caricamento della pagina (bloccato dai browser) Certificate Mismatch: Il certificato non corrisponde al dominio Certificato scaduto: Periodo di validità del certificato terminato Catena incompleta: Certificati intermedi mancanti

SSL/TLS non è più facoltativo: tutti i siti web dovrebbero utilizzare HTTPS per i vantaggi di sicurezza e SEO.

Metti in pratica queste conoscenze

Usa l'API di DomScan per verificare disponibilità, salute del dominio e altro.