Un certificato SSL (tecnicamente un certificato TLS, poiché SSL è stato sostituito da TLS anni fa) è un piccolo file di dati che risiede sul tuo web server e stabilisce una connessione cifrata tra il server e i browser dei tuoi visitatori. Quando un certificato è installato correttamente, il tuo sito si carica tramite HTTPS invece di HTTP, e i browser mostrano l'icona del lucchetto nella barra degli indirizzi per indicare che la connessione è sicura.
Come funziona effettivamente la cifratura TLS/SSL
Quando qualcuno digita il tuo URL e preme invio, il suo browser e il tuo server eseguono un processo chiamato handshake TLS. Avviene in millisecondi, ma succedono parecchie cose dietro le quinte:
- Hello: il browser invia un messaggio "Client Hello" al server, con i metodi di cifratura che supporta.
- Certificato: il server risponde con il suo certificato TLS, che contiene la chiave pubblica del server più informazioni sull'autorità di certificazione (CA) che lo ha emesso.
- Verifica: il browser controlla il certificato rispetto al suo elenco integrato di CA fidate. Verifica che il certificato non sia scaduto, corrisponda al nome di dominio e non sia stato revocato.
- Scambio di chiavi: il browser e il server concordano una chiave di sessione condivisa tramite cifratura asimmetrica (coppie di chiavi pubbliche/private). Questa chiave di sessione viene usata per cifrare i dati effettivi.
- Comunicazione cifrata: da questo punto in poi, tutti i dati tra browser e server sono cifrati con la chiave di sessione tramite cifratura simmetrica, che è molto più veloce della cifratura asimmetrica.
Il punto chiave: la coppia chiave pubblica/privata viene usata solo per impostare in modo sicuro la connessione. Il contenuto effettivo della pagina, gli invii di moduli e i cookie sono cifrati con una chiave di sessione temporanea unica per ogni connessione.
Tipi di certificati SSL/TLS
I certificati arrivano in tre livelli di validazione, e le differenze ruotano attorno alla fiducia e alla verifica, non alla forza della cifratura. La cifratura stessa è ugualmente forte per tutti i tipi.
- Domain Validation (DV): la CA verifica solo che tu controlli il dominio, tipicamente facendoti impostare un record DNS o rispondere a un'email al dominio. Questo richiede pochi minuti ed è spesso gratuito (Let's Encrypt, ad esempio). I certificati DV vanno bene per la maggior parte dei siti WordPress, blog e piccoli siti aziendali.
- Organization Validation (OV): la CA verifica l'esistenza giuridica della tua organizzazione. Questo include il controllo dei documenti di registrazione aziendale e richiede tipicamente alcuni giorni. I certificati OV mostrano il nome dell'organizzazione nei dettagli del certificato (sebbene non visibili nella barra del browser). Sono più comuni sui siti web aziendali e sulle piattaforme SaaS.
- Extended Validation (EV): il processo di verifica più rigoroso. La CA conduce un'indagine approfondita sull'organizzazione, inclusi stato legale, indirizzo fisico e contatti autorizzati. I certificati EV una volta mostravano il nome dell'azienda in una barra verde nel browser, ma la maggior parte dei browser ha rimosso questa distinzione visiva negli ultimi anni. Sono ancora usati da banche, istituzioni finanziarie e grandi siti e-commerce, anche se il loro valore pratico è diminuito.
Let's Encrypt e i certificati gratuiti
Let's Encrypt ha cambiato il panorama SSL quando è stato lanciato nel 2015. Prima, anche i certificati DV di base costavano denaro e richiedevano installazione manuale. Let's Encrypt offre certificati DV gratuiti e automatizzati validi per 90 giorni e rinnovabili automaticamente.
Oggi praticamente ogni provider di hosting supporta Let's Encrypt. Molti lo includono come parte dei loro pacchetti di hosting e gestiscono installazione e rinnovo automaticamente. Se il tuo host non offre SSL automatico, strumenti come Certbot possono gestire il ciclo di vita del certificato sul tuo server.
Nel 2025 non c'è davvero più motivo di gestire un sito WordPress senza HTTPS. Il certificato è gratuito, l'installazione è automatizzata e i vantaggi (sicurezza, SEO, fiducia dell'utente) sono significativi.
Certificati wildcard
Un certificato standard copre un singolo dominio (es. example.com) e talvolta anche www.example.com. Se hai più sottodomini (shop.example.com, blog.example.com, app.example.com), normalmente avresti bisogno di un certificato separato per ciascuno.
Un certificato wildcard copre tutti i sottodomini sotto un singolo dominio. Usa il pattern *.example.com e protegge ogni sottodominio a quel livello. Let's Encrypt supporta i certificati wildcard, ma richiedono la validazione basata su DNS invece del metodo di validazione HTTP più semplice. La maggior parte dei provider di hosting gestiti gestisce questo automaticamente se necessario.
Scadenza e rinnovo del certificato
Ogni certificato TLS ha una data di scadenza. I certificati Let's Encrypt scadono dopo 90 giorni, mentre i certificati acquistati commercialmente sono tipicamente validi per un anno (il massimo consentito dal 2020). Quando un certificato scade, i browser mostrano un avviso a pagina intera che impedisce alla maggior parte dei visitatori di visitare il tuo sito. Questo è un problema serio che può fermare completamente il tuo traffico.
Il rinnovo automatico è essenziale. Se usi Let's Encrypt tramite il tuo provider di hosting, il rinnovo tipicamente avviene in background senza che tu debba fare nulla. Se gestisci il tuo server, assicurati che Certbot o il tuo client ACME sia configurato per rinnovare automaticamente i certificati, e testa che funzioni davvero. Un problema comune è un cron job impostato per il rinnovo che fallisce silenziosamente a causa di un problema di permessi o di una configurazione del server modificata.
Come controllare il tuo certificato SSL
Ci sono diversi modi per verificare che il tuo certificato funzioni correttamente:
- Lucchetto nel browser: clicca sull'icona del lucchetto nella barra degli indirizzi del tuo browser. Vedrai l'emittente del certificato, la data di scadenza e il dominio che copre.
- SSL Labs (ssllabs.com/ssltest): lo strumento online standard del settore per testare la tua configurazione SSL. Controlla non solo il certificato ma anche le versioni del protocollo TLS, le cipher suite e le vulnerabilità note. Punta a una valutazione A o A+.
- Strumenti da riga di comando:
openssl s_client -connect example.com:443mostra informazioni dettagliate sul certificato per l'analisi tecnica dei problemi.
WordPress e HTTPS
Installare un certificato sul tuo server è solo metà del lavoro. Devi anche assicurarti che WordPress usi HTTPS in modo coerente:
- Impostazioni URL del sito: in Impostazioni WordPress > Generali, sia "Indirizzo WordPress" che "Indirizzo del sito" dovrebbero usare
https://. Impostare questo erroneamente causa loop di redirect e problemi di accesso. - Forzare SSL: aggiungi
define('FORCE_SSL_ADMIN', true);al tuowp-config.phpper assicurare che l'area di amministrazione usi sempre HTTPS. - Redirect 301: imposta redirect a livello di server (tramite .htaccess su Apache o un server block su Nginx) per reindirizzare tutte le richieste HTTP a HTTPS. Così, visitatori e motori di ricerca arrivano sempre alla versione sicura.
- Mixed content: dopo essere passato a HTTPS, potresti avere immagini, script o fogli di stile ancora caricati tramite HTTP. I browser bloccano o avvisano per queste risorse non sicure. Usa un plugin come "Better Search Replace" per aggiornare i vecchi URL HTTP nel tuo database e controlla il tuo tema per riferimenti HTTP hardcoded.
- Header HSTS: l'header
Strict-Transport-Securitydice ai browser di usare sempre HTTPS per il tuo sito, anche se qualcuno digitahttp://nella barra degli indirizzi. Questo elimina il breve momento in cui un visitatore potrebbe connettersi tramite HTTP prima di essere reindirizzato.
Perché "SSL" è in realtà TLS
Il termine "certificato SSL" è rimasto, anche se il protocollo SSL stesso è stato messo fuori servizio dal 2015. SSL 3.0 era l'ultima versione, e aveva vulnerabilità di sicurezza note (tra cui l'attacco POODLE). Il sostituto è TLS (Transport Layer Security), che è attualmente alla versione 1.3. I browser moderni non supportano più SSL del tutto; usano solo TLS 1.2 e TLS 1.3.
Quando provider di hosting, autorità di certificazione o plugin WordPress parlano di "SSL", intendono in realtà TLS. I termini vengono usati in modo intercambiabile in pratica, anche se tecnicamente sono protocolli diversi. Se il tuo server supporta ancora TLS 1.0 o 1.1, dovresti disabilitare anche quelli, poiché sono anch'essi considerati non sicuri.
Cosa controlla InspectWP
InspectWP verifica se il tuo sito WordPress ha un certificato TLS valido, controlla la data di scadenza del certificato e rileva problemi di mixed content in cui risorse HTTP vengono caricate su pagine HTTPS. Esamina anche i tuoi header di sicurezza, incluso HSTS, per confermare che la tua configurazione HTTPS sia completa e configurata correttamente.