Disabilita TLS 1.0 e 1.1 in Apache e Nginx

Tutte le versioni di SSL /TLS protocollo prima di TLS 1.2 sono ora deprecati e considerati non sicuri. Molte piattaforme di server web lo hanno ancora TLS 1.0 e TLS 1.1 abilitato per impostazione predefinita. Tuttavia, tutti i browser Web moderni sono compatibili con TLS 1.2. Per questo motivo, è una buona idea che i proprietari di siti Web controllino la configurazione del server per assicurarsi che solo le versioni correnti e sicure di SSL /TLS sono abilitati e tutti gli altri (inclusi TLS 1.0 TLS 1.1 e SSL 3.0) sono disabilitati.

Questa guida include istruzioni per verificare quali versioni di SSL /TLS sono abilitati su un sito web, disabilitando le versioni obsolete di SSL /TLS in Apache e Nginx e mostra esempi di errori del browser risultanti da server che eseguono solo versioni obsolete e non sicure di SSL /TLS.

Seleziona SSL abilitato /TLS versioni

Strumenti

Puoi controllare rapidamente le versioni di SSL /TLS il tuo sito web supporta visitando CDN77 TLS Checker e inserendo il nome di dominio che desideri controllare. Come si può vedere di seguito, https://example.com attualmente disabilita le versioni SSL 2 e 3, ma abilita tutte le versioni di TLS (compreso il deprecato TLS 1.1 e 1.0):

SSL /TLS versioni supportate da example.com

Nmap

Puoi anche verificare la presenza di SSL /TLS versioni e cifrature supportate da un sito web con open-source Nmap strumento da riga di comando:

nmap --script ssl-enum-ciphers -p

La porta predefinita per SSL /TLS is 443. Il comando seguente genererà un rapporto per example.com:

$ nmap --script ssl-enum-ciphers -p 443 example.com Avvio di Nmap 7.80 (https://nmap.org) alle 2020-08-25 13:10 EDT Rapporto di scansione Nmap per example.com (93.184.216.34) L'host è attivo (0.031 secondi di latenza). Altri indirizzi per example.com (non scansionati): 2606: 2800: 220: 1: 248: 1893: 25c8: 1946 PORT STATE SERVICE 443 / tcp open https | ssl-enum-ciphers: |   TLSv1.0: | cifrari: |       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A |       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A |       TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA (dh 2048) - A |       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A |       TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (rsa 2048) - A |       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A |       TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (rsa 2048) - A |       TLS_DHE_RSA_WITH_SEED_CBC_SHA (dh 2048) - A |       TLS_RSA_WITH_SEED_CBC_SHA (rsa 2048) - A | compressori: | NULL | preferenza di cifratura: server |   TLSv1.1: | cifrari: |       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A |       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A |       TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA (dh 2048) - A |       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A |       TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (rsa 2048) - A |       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A |       TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (rsa 2048) - A |       TLS_DHE_RSA_WITH_SEED_CBC_SHA (dh 2048) - A |       TLS_RSA_WITH_SEED_CBC_SHA (rsa 2048) - A | compressori: | NULL | preferenza di cifratura: server |   TLSv1.2: | cifrari: |       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (secp256r1) - A |       TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (secp256r1) - A |       TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (dh 2048) - A |       TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (dh 2048) - A |       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (secp256r1) - A |       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A |       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (secp256r1) - A |       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A |       TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (dh 2048) - A |       TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (dh 2048) - A |       TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 2048) - A |       TLS_RSA_WITH_AES_128_GCM_SHA256 (rsa 2048) - A |       TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA (dh 2048) - A |       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A |       TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (rsa 2048) - A |       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A |       TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (rsa 2048) - A |       TLS_DHE_RSA_WITH_SEED_CBC_SHA (dh 2048) - A |       TLS_RSA_WITH_SEED_CBC_SHA (rsa 2048) - A | compressori: | NULL | preferenza di cifratura: server | _ forza minima: una Nmap completata: 1 indirizzo IP (1 host in su) scansionato in 3.88 secondi

Configurazione del server

Apache

Disabilitare TLS 1.0 e 1.1 in Apache, sarà necessario modificare il file di configurazione contenente l'estensione SSLProtocol direttiva per il tuo sito web. Questo file potrebbe trovarsi in posizioni diverse a seconda della piattaforma, della versione o di altri dettagli di installazione. Alcune possibili posizioni sono:

  • /usr/local/apache2/conf/extra/httpd-ssl.conf (installazione predefinita di Apache)
  • /etc/apache2/mods-enabled/ssl.conf (Ubuntu / Debian)
  • /private/etc/apache2/extra/httpd-ssl.conf (Mac OS)

Una volta individuato il file di configurazione corretto, cercare una riga che inizia con SSLProtocol. Questo esempio, da un'installazione predefinita di macOS Apache, disabilita SSLv3 con l'estensione - operatore ma abilita TLS 1.0 e 1.1:

SSLProtocol tutto -SSLv3

Puoi disabilitare tutte le versioni obsolete di SSL /TLS supportato da Apache specificandoli come segue:

Protocollo SSL tutto -SSLv3 -TLSv1 -TLSv1.1

La configurazione di cui sopra abilita TLS 1.2, nonché TLS 1.3 se è disponibile nel proprio ambiente.

Apache e host virtuali

Apache può eseguire più di un sito Web su un singolo server. Questi host virtuali può essere basato su numero IP, porta o nome di dominio e può includere impostazioni che sovrascrivono la configurazione di base per Apache. Per questo motivo, dovresti controllare le impostazioni per ogni host virtuale nei tuoi file di configurazione, specialmente se le modifiche al SSL /TLS la configurazione non sembra funzionare.

Per le versioni di Apache precedenti alla 2.4.42 (create / collegate a OpenSSL prima della 1.1.1), non era possibile specificare SSL /TLS protocolli per host virtuali basati sul nome che condividono lo stesso numero IP di base e la stessa porta: il SSLProtocol del primo host virtuale è stato applicato a tutti gli altri. A partire da Apache 2.4.42 / OpenSSL 1.1.1, il SSLProtocol di ogni host virtuale basato sul nome viene rispettato quando il Indicazione nome server (SNI) è fornito dal cliente durante il SSL /TLS stretta di mano.

Dopo aver apportato le modifiche alla configurazione, ricarica Apache per renderle effettive. Per ulteriori informazioni su SSLProtocol direttiva, fare riferimento a Apache's documentazione.

Nginx

SSL /TLS le impostazioni del protocollo possono essere specificate nel file di configurazione principale di Nginx (solitamente situato in /etc/nginx/nginx.conf) o nei file di configurazione del sito. Cerca una riga che inizi con ssl_protocols. Ad esempio, quanto segue è dal valore predefinito nginx.conf file da una nuova installazione di Nginx su Ubuntu:

protocolli_sslpro TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Eliminazione di SSLv3, rif: POODLE

È possibile modificare questa riga in modo che solo le versioni correnti e sicure di SSL /TLS sono inclusi:

protocolli_sslpro TLSv1.2 TLSversione 1.3;

Tieni presente che qualsiasi impostazione nella tua configurazione SSL predefinita può essere sovrascritta dai blocchi del server che configurano singoli nomi di dominio, quindi assicurati di controllarli se le modifiche alle impostazioni del protocollo non si riflettono nel tuo sito web.

Dopo aver apportato le modifiche alla configurazione, ricarica Nginx per renderle effettive. Per ulteriori informazioni, fare riferimento alla documentazione di Nginx su configurazione dei server HTTPS.

TLS Errori del browser 1.0 e 1.1

Perché TLS le versioni 1.0 e 1.1 sono attualmente considerate non sicure, la maggior parte dei browser moderni produrrà un messaggio di errore se incontrano un sito web in cui questi sono obsoleti TLS le versioni sono abilitate ma TLS 1.2 o 1.3 non lo sono. Di seguito sono riportati esempi di questi errori:

Google Chrome

Il test di Chrome è stato eseguito con Chrome 84 su Windows 10. Gli screenshot provengono da Chrome. Tieni presente che la versione corrente di Microsoft Edge (basata su Chromium) mostra lo stesso codice di errore di Chrome, accompagnato da un testo leggermente diverso.

Google Chrome visualizza il seguente messaggio di errore quando si collega a un sito Web in esecuzione TLS 1.0 o 1.1:

La tua connessione non è completamente sicura
Questo sito utilizza una configurazione di sicurezza obsoleta, che potrebbe esporre le tue informazioni (ad esempio, password, messaggi o carte di credito) quando vengono inviate a questo sito.
NET::ERR_SSL_OBSOLETE_VERSION

TLS Messaggio di errore 1.0 in ChromeFacendo clic sul Tecnologia Il pulsante visualizzerà il seguente messaggio, più un collegamento per procedere al sito Web, etichettato pericoloso:

Il collegamento utilizzato per caricare questo sito utilizzato TLS 1.0 o TLS 1.1, che sono deprecati e saranno disabilitati in futuro. Una volta disabilitato, gli utenti non potranno caricare questo sito. Il server dovrebbe abilitare TLS 1.2 o successivo.

Informazioni avanzate su TLS 1.0 e 1.1 in Chrome

Mozilla Firefox

Il test di Firefox è stato eseguito con Firefox 79.0 su Windows 10.

Mozilla Firefox produce il seguente messaggio di errore quando si connette a un sito Web in esecuzione TLS 1.0 o 1.1:

Sicuro Connessione non riuscita
Si è verificato un errore durante una connessione a [URL]. Peer utilizzando una versione non supportata del protocollo di sicurezza.
Codice di errore: SSL_ERROR_UNSUPPORTED_VERSION
...
Questo sito Web potrebbe non supportare l'estensione TLS 1.2, che è la versione minima supportata da Firefox. Abilitare TLS 1.0 e 1.1 potrebbero consentire la riuscita di questa connessione.
TLS 1.0 e TLS 1.1 sarà permanentemente disabilitato in una versione futura.

Firefox TLS Messaggio di errore 1.0 e 1.1

Facendo clic sul permettere TLS 1.0 e 1.1 Il pulsante può aiutare a caricare il sito, ma non è un'esenzione una tantum. Per riattivare TLS 1.0 e 1.1, vai a about:config in Firefox e impostare security.tls.version.enable-deprecated a false.

impostare la sicurezza.tls.version.enable-deprecated a false

apple Safari

Il test di Safari è stato eseguito con Safari versione 13.1.2 su macOS 10.15.6 (Catalina)

Il browser Safari di Apple caricherà i siti Web HTTPS utilizzando TLS 1.0 e 1.1, ma visualizzerà un messaggio "Non sicuro" nella barra degli indirizzi del browser.

TLS 1.0 sito in Apple Safari

Per maggiori informazioni

Per leggere i problemi di sicurezza associati alle versioni precedenti di TLS, leggi il nostro articolo, Deprecando presto TLS per un Internet più sicuro. Per ulteriori informazioni sulle importanti differenze tra TLS 1.2 e TLS 1.3, verifica TLS 1.3 è qui per restare.

E, come sempre, se hai domande, contattaci tramite e-mail all'indirizzo Support@SSL.com, chiama 1-877-SSL-SECUREoppure fai clic sul link della chat in basso a destra in questa pagina. Puoi anche trovare risposte a molte domande comuni di supporto nel nostro base di conoscenza. Grazie per aver visitato SSL.com!

Twitter
Facebook
LinkedIn
Reddit
E-mail

Rimani informato e sicuro

SSL.com è un leader globale nella sicurezza informatica, PKI e certificati digitali. Iscriviti per ricevere le ultime notizie del settore, suggerimenti e annunci di prodotti da SSL.com.

Ci piacerebbe il tuo feedback

Partecipa al nostro sondaggio e facci sapere cosa ne pensi del tuo recente acquisto.