Comment désactiver SSLv3 dans Apache?


76

Tout le monde semble parler de la vulnérabilité de POODLE aujourd'hui. Et tout le monde recommande de désactiver SSLv3 dans Apache en utilisant la directive de configuration suivante:

SSLProtocol All -SSLv2 -SSLv3

au lieu de la valeur par défaut

SSLProtocol All -SSLv2

C'est ce que j'ai fait, et cela ne me fait pas plaisir - après des tests répétés avec divers outils ( voici un outil rapide ), je constate que SSLv3 est accepté avec joie par mon serveur.

Oui, j'ai redémarré Apache. Oui, j'ai fait un récursif grepsur tous les fichiers de configuration, et je n'ai aucune substitution nulle part. Et non, je n'utilise pas d'ancienne version d'Apache:

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

Alors, qu'est-ce qui donne? Comment désactiver vraiment SSLv3 dans Apache?



5
Comme expliqué dans la question, j'ai effectué toutes les étapes indiquées dans cette section et SSL3 est toujours disponible. Je ne saurais vous dire quelle partie de cette section ne désactive pas SSL3, mais le fait est que ce n'est pas le cas, dans son intégralité. Cela dit, je sais que vous avez votre chapeau de modérateur pour le moment, alors veuillez vous abstenir de poser la question. Cela pourrait bien prouver que je suis un crétin et que j'ai commis une erreur élémentaire, mais que le point de vue d'un modérateur est légitime.

Réponses:


80

J'ai eu le même problème ... Vous devez inclure SSLProtocol all -SSLv2 -SSLv3dans chaque strophe VirtualHost dans httpd.conf

Les strophes de VirtualHost sont généralement vers la fin du fichier httpd.conf. Donc par exemple:

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

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

Vérifiez également ssl.conf ou httpd-ssl.conf ou similaire, car ils peuvent être définis ici, pas nécessairement dans httpd.conf


3
Pour mémoire, en fonction de votre administrateur système / webmaster, les VirtualHosts pourraient tout aussi bien vivre dans leur propre fichier dédié dans conf.d (c'est comme ça que j'aime garder la maison, et c'est quelque chose que j'ai appris, pas quelque chose que j'ai inventé, ne suis pas le seul).
Bogdan Stăncescu

3
Notez qu'au moins Apache 2.4+ SSLProtocolconfiguré en dehors des strophes VirtualHost s'appliquera à tous les hôtes virtuels.
Nurikabe

2
J'ai trouvé cet outil qui testera, entre autres choses, si votre serveur a SSLv3 désactivé: ssllabs.com/ssltest/index.html
amphetamachine

1
Cette réponse m'a été très utile lors de la désactivation de TLSv1. Pour vérifier si un protocole donné est complètement désactivé, j'ai trouvé l'utile suivante: nmap -sV --script ssl-enum-ciphers -p 443 <hostname>.
Luca Citi

Existe-t-il un moyen de configurer l’ensemble du SSLProtocolsystème sans avoir à éditer chaque hôte virtuel?
Dunatotatos le

10

J'ai eu le même problème sur Ubuntu 14.04. Après avoir lu ceci, j’ai édité la section "SSLProtocol" dans /etc/apache2/mods-available/ssl.conf.

  • de: SSLProtocol all
  • à: SSLProtocol all -SSLv2 -SSLv3 -TLSV1

Mais ça n'a pas marché. J'ai donc édité la section suivante aussi "SSLCipherSuite" dans /etc/apache2/mods-available/ssl.conf.

  • de: SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
  • à: SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SSLv3:!SSLv2:!TLSv1

Et maintenant ça marche maintenant pour moi.

En passant, les suites de chiffrement ne sont pas affectées par POODLE, mais uniquement par le protocole - mais la plupart des navigateurs acceptent une suite de chiffrement SSLv3 désactivée.

Ne l'utilisez pas pour un serveur de messagerie! Sinon, vous rencontrerez peut-être le problème de ne pas pouvoir récupérer vos messages sur certains appareils.


Je vous remercie. Cette réponse a fonctionné dans la configuration WHM / cPanel. J'ai essayé d'autres méthodes suggérées en ligne et la vôtre était la seule qui a fonctionné.
Voitek Zylinski

1
Cela fonctionne, mais il désactivera l'accès avec IE 10, car il utilise SSLv3 et TLS1.0 par défaut.
Erebus

4

Pour Ubuntu 10.04

Pour désactiver SSLv3 sur tous les vhosts actifs, vous devez activer l'option dans

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

SSLProtocol all -SSLv2 -SSLv3

2

J'ai eu un problème similaire ce matin et j'ai trouvé un autre hôte virtuel activant SSLv3. L'ensemble du serveur répond donc aux connexions SSLv3.

Donc, assurez-vous qu'aucun de vos hôtes n'a SSLv3 actif.


1

Assurez-vous que SSLCipherSuite ne contient pas ! SSLv3. Dans ce contexte, il fait également référence à TLS1.0 et TLS1.1.

Par exemple, si votre configuration est SSLProtocol All , seul TLS1.2 sera disponible en raison de la configuration de SSLCipherSuite avec! SSLv3.


0

Pour les utilisateurs de CentO ayant des difficultés à éditer votre fichier de configuration SSL via SSH, essayez de désactiver SSLv3 via WHM :

Étape 1: accédez à l'éditeur d'inclusion

-Login à WHM -Ouvrez l'écran "Configuration Apache" et cliquez sur "Inclure l'éditeur"

Étape 2: Modifier l'inclus

-Sous "Pré-inclusion principale", sélectionnez "Toutes les versions". De cette façon, votre serveur sera protégé si vous modifiez votre version d'Apache. Lorsque cette option est sélectionnée, entrez les informations suivantes dans la zone de texte:

Sur CentOS / RHEL 6.x:

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

Sur CentOS / RHEL 5.x:

SSLHonorCipherOrder On
SSLProtocol -All + TLSv1

… Puis cliquez sur Mettre à jour .

Une fois que vous cliquez sur mettre à jour, vous serez invité à redémarrer Apache. faites-le maintenant.

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


1
Cette réponse est pertinente pour les serveurs contrôlés via WHM / cPanel, pas pour les serveurs exécutant CentOS.
Bogdan Stăncescu

0

La méthode que vous utilisez concerne la nouvelle version d’Apache et Openssl. Il est possible que la nouvelle version de ces versions ne soit pas installée sur votre système. Vérifiez la version actuelle installée.

Puisque SSLv2et les SSLv3deux sont vulnérables à certaines attaques, il serait donc préférable d’utiliser uniquement TLS. Alors modifiez votre fichier de configuration apache comme suit,

SSLProtocol TLSv1 TLSv1.1 TLSv1.2

ou

SSLProtocol TLSv1

Oui, j'ai aussi essayé ça - pas de joie. :-(

pouvez-vous s'il vous plaît coller le résultat de la commande "apachectl configtest".
P4cK3tHuNt3R

0

J'avais un problème similaire et j'avais vérifié que tous les paramètres Apache appropriés étaient corrects.

Cependant, ce qui m'a manqué, c'est que j'avais nginx comme proxy inverse devant apache. Il se trouve que j’utilise également Plesk et cela est tiré de leur guide de correctifs POODLE :

Si vous exécutez Nginx, incluez la ligne suivante dans votre configuration parmi les autres directives SSL du /etc/nginx/nginx.conf:

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.