Come disabilitare SSLv3 in Apache?


76

Oggi sembra che tutti stiano parlando della vulnerabilità di POODLE . E tutti raccomandano di disabilitare SSLv3 in Apache usando la seguente direttiva di configurazione:

SSLProtocol All -SSLv2 -SSLv3

invece del valore predefinito

SSLProtocol All -SSLv2

L'ho fatto, e senza gioia - dopo aver testato ripetutamente con vari strumenti ( eccone uno veloce ), trovo che SSLv3 sia felicemente accettato dal mio server.

Sì, ho riavviato Apache. Sì, ho fatto un ricorsivo grepsu tutti i file di configurazione e non ho alcuna sostituzione da nessuna parte. E no, non sto usando una versione antica di Apache:

[root@server ~]# apachectl -v
Server version: Apache/2.2.15 (Unix)
Server built:   Jul 23 2014 14:17:29

Quindi, cosa dà? Come si disabilita davvero SSLv3 in Apache?



5
Come spiegato nella domanda, ho eseguito tutti i passaggi indicati in quella sezione e SSL3 è ancora disponibile. Non saprei dirti quale parte specifica di quella sezione non riesce a disabilitare SSL3, ma il punto è che non lo fa, nella sua interezza. Detto questo, ho capito che al momento hai il tuo cappello da moderatore, quindi per favore smentisci la domanda - potrebbe benissimo dimostrare che sono un idiota e ho fatto un errore elementare, ma dal punto di vista di un moderatore questa è una domanda legittima.

Risposte:


80

Ho avuto lo stesso problema ... Devi includere SSLProtocol all -SSLv2 -SSLv3in ogni stanza VirtualHost in httpd.conf

Le stanze VirtualHost sono generalmente verso la fine del file httpd.conf. Quindi per esempio:

...
...
<VirtualHost your.website.example.com:443>
    DocumentRoot /var/www/directory
    ServerName your.website.example.com

    ...
    SSLEngine on
    ...
    SSLProtocol all -SSLv2 -SSLv3
    ...
</VirtualHost>

Controlla anche ssl.conf o httpd-ssl.conf o simili perché potrebbero essere impostati lì, non necessariamente in httpd.conf


3
Per la cronaca, a seconda del tuo amministratore di sistema / webmaster, VirtualHosts potrebbe anche vivere all'interno del proprio file dedicato in conf.d (è così che mi piace tenere la casa, ed è qualcosa che ho imparato, non qualcosa che ho inventato, quindi mi aspetto che non sono l'unico).
Bogdan Stăncescu,

3
Si noti che almeno da Apache 2.4+ SSLProtocolconfigurato all'esterno delle stanze VirtualHost si applicherà a tutti gli host virtuali.
Nurikabe,

2
Ho trovato questo strumento che metterà alla prova, tra l'altro, se il server ha SSLv3 disabilitato: ssllabs.com/ssltest/index.html
amphetamachine

1
Questa risposta mi è stata molto utile quando ho disabilitato TLSv1. Per verificare se un determinato protocollo è completamente disabilitata, ho trovato il seguente utile: nmap -sV --script ssl-enum-ciphers -p 443 <hostname>.
Luca Citi,

C'è un modo per impostare il SSLProtocolsistema, senza dover modificare ogni VirtualHost?
Dunatotatos,

10

Ho avuto lo stesso problema su Ubuntu 14.04. Dopo aver letto questo, ho modificato la sezione "SSLProtocol" in /etc/apache2/mods-available/ssl.conf.

  • a partire dal: SSLProtocol all
  • per: SSLProtocol all -SSLv2 -SSLv3 -TLSV1

Ma non ha funzionato. Così ho modificato anche la seguente sezione "SSLCipherSuite" in /etc/apache2/mods-available/ssl.conf.

  • a partire dal: SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
  • per: SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SSLv3:!SSLv2:!TLSv1

E ora ora funziona per me.

A proposito, le suite di crittografia non sono influenzate da POODLE, ma solo dal protocollo, ma la maggior parte dei browser va bene con una suite di crittografia SSLv3 disabilitata.

Non usarlo per un Mailserver! O dovrai (forse) affrontare il problema di non essere in grado di recuperare la tua posta su alcuni dispositivi.


Grazie. Questa risposta ha funzionato nella configurazione WHM / cPanel. Ho provato altri metodi suggeriti online e il tuo è stato l'unico che ha funzionato.
Voitek Zylinski,

1
Funziona, ma disabiliterà l'accesso con IE 10, poiché utilizza SSLv3 e TLS1.0 per impostazione predefinita.
Erebus,

4

Per Ubuntu 10.04

Per disabilitare SSLv3 su tutti i vhosts attivi è necessaria l'opzione in

/etc/apache2/mods-available/ssl.conf:

SSLProtocol all -SSLv2 -SSLv3

2

Stamattina ho avuto un problema simile e ho trovato un altro virtualhost che abilita SSLv3, quindi l'intero server risponde alle connessioni SSLv3.

Quindi, assicurati che nessuno dei tuoi host abbia SSLv3 attivo.


1

Assicurarsi che SSLCipherSuite non contenga! SSLv3. In tale contesto, si riferisce anche a TLS1.0 e TLS1.1.

Ad esempio, se la configurazione è SSLProtocol All , sarà disponibile solo TLS1.2 a causa della configurazione di SSLCipherSuite con! SSLv3.


0

Per gli utenti di CentO che hanno problemi a modificare il file di configurazione SSL tramite SSH, prova a disabilitare SSLv3 tramite WHM :

Passaggio 1: vai all'Editor di inclusione

-Accedere a WHM -Aprire la schermata "Configurazione di Apache" e fare clic su "Includi editor"

Passaggio 2: modifica le Include

-Sotto "Includi pre-main", seleziona "Tutte le versioni". In questo modo il tuo server sarà protetto se cambi la tua versione di Apache. Quando selezionato, inserisci quanto segue nella casella di testo:

Su CentOS / RHEL 6.x:

SSLHonorCipherOrder su
SSLProtocol -All + TLSv1 + TLSv1.1 + TLSv1.2

Su CentOS / RHEL 5.x:

SSLHonorCipherOrder Su
SSLProtocol -All + TLSv1

... e quindi fai clic su Aggiorna .

Dopo aver fatto clic su Aggiorna, ti verrà richiesto di riavviare Apache; fallo in questo momento.

fonte originale: https://www.liquidweb.com/kb/how-to-disable-sslv3-and-protect-your-whmcpanel-server-from-poodle/


1
Questa risposta è rilevante per i server controllati tramite WHM / cPanel, non per i server che eseguono CentOS.
Bogdan Stăncescu,

0

Il metodo che stai utilizzando è per la nuova versione di Apache e Openssl. Potrebbe essere possibile che una nuova versione di questi non sia installata sul tuo sistema, verifica l'attuale versione installata.

Dato SSLv2che SSLv3entrambi sono vulnerabili ad alcuni attacchi, sarebbe meglio usare solo TLS. Quindi modifica il tuo file conf di apache come segue,

SSLProtocol TLSv1 TLSv1.1 TLSv1.2

o

SSLProtocol TLSv1

Sì, ci ho provato anche io - nessuna gioia. :-(

puoi per favore incollare l'output del comando "apachectl configtest".
P4cK3tHuNt3R

0

Ho avuto un problema simile e ho verificato di aver corretto tutte le impostazioni appropriate di Apache.

Tuttavia quello che mi mancava era che avevo nginx come proxy inverso di fronte ad Apache. Mi capita anche di usare Plesk e questo è dalla loro guida alle correzioni POODLE :

Se stai eseguendo Nginx, includi la seguente riga nella tua configurazione tra le altre direttive SSL nella /etc/nginx/nginx.conf:

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.