POODLE (Padding Oracle On Downgraded Legacy Encryption) est une vulnérabilité qui a été trouvée le 14 octobre 2014, qui permet à un attaquant de lire toutes les informations chiffrées à l'aide du protocole SSLv3 en effectuant une attaque homme-au-milieu. Bien que de nombreux programmes utilisent SSLv3 comme solution de rechange, il est arrivé au point où il devrait être désactivé - car de nombreux clients peuvent être contraints d'utiliser SSLv3. Forcer un client dans SSLv3 augmente les chances d'une attaque. Cet article vous montrera comment désactiver SSLv3 dans certaines applications logicielles couramment utilisées aujourd'hui.
Désactiver SSLv3 sur Nginx
Dirigez-vous vers le fichier de configuration où vos informations de serveur sont stockées. Par exemple, /etc/nginx/sites-enabled/ssl.example.com.conf
(en remplaçant le chemin en fonction de votre configuration). Dans le fichier, recherchez ssl_protocols
. Assurez-vous que cette ligne existe et correspond à ce qui suit:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
Cela imposera l'utilisation de TLS, désactivant ainsi SSLv3 (et tous les protocoles plus anciens ou obsolètes). Redémarrez maintenant votre serveur Nginx en exécutant l'une des commandes suivantes.
CentOS 7 :
systemctl restart nginx
Ubuntu / Debian :
service nginx restart
Désactiver SSLv3 sur Apache
Pour désactiver SSLv3, rendez-vous dans le répertoire de configuration de votre module pour Apache. Sur Ubuntu / Debian, cela peut être le cas /etc/apache2/mod-available
. Alors que sur CentOS, il peut être situé dans /etc/httpd/conf.d
. Recherchez le ssl.conf
fichier. Ouvrez ssl.conf
et trouvez la SSLProtocol
directive. Assurez-vous que cette ligne existe et correspond à ce qui suit:
SSLProtocol all -SSLv3 -SSLv2
Une fois terminé, enregistrez, puis redémarrez votre serveur en exécutant l'une des commandes suivantes.
Pour exécuter Ubuntu / Debian:
CentOS 7 :
systemctl restart httpd
Ubuntu / Debian :
service apache2 restart
Désactiver SSLv3 sur Postfix
Dirigez-vous vers votre postfix
répertoire. C'est typiquement /etc/postfix/
. Ouvrez le main.cf
fichier et recherchez smtpd_tls_mandatory_protocols
. Assurez-vous que cette ligne existe et correspond à ce qui suit:
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, TLSv1, TLSv1.1, TLSv1.2
Cela forcera TLSv1.1 et TLSv1.2 à être activés et utilisés sur votre serveur Postfix. Une fois terminé, enregistrez et redémarrez.
CentOS 7 :
systemctl restart postfix
Ubuntu / Debian :
service postfix restart
Désactiver SSLv3 sur Dovecot
Ouvrez le fichier situé à /etc/dovecot/conf.d/10-ssl.conf
. Ensuite, recherchez la ligne qui contient ssl_protocols
et assurez-vous qu'elle correspond à ce qui suit:
ssl_protocols = !SSLv2 !SSLv3 TLSv1.1 TLSv1.2
Une fois cela fait, enregistrez et redémarrez Dovecot.
CentOS 7 :
systemctl restart dovecot
Ubuntu / Debian :
service dovecot restart
Test de la désactivation de SSLv3
Pour vérifier que SSLv3 est désactivé sur votre serveur Web, exécutez la commande suivante (remplacez le domaine et l'IP en conséquence):
openssl s_client -servername example.com -connect 0.0.0.0:443 -ssl3
Vous verrez une sortie similaire à la suivante:
CONNECTED(00000003)
140060449216160:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1260:SSL alert number 40
140060449216160:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:ssl handshake failure:s3_pkt.c:596:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 0 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : SSLv3
Cipher : 0000
Session-ID:
Session-ID-ctx:
Master-Key:
Key-Arg : None
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1414181774
Timeout : 7200 (sec)
Verify return code: 0 (ok)
Si vous souhaitez confirmer que votre serveur utilise TLS, exécutez la même commande mais sans -ssl3
:
openssl s_client -servername example.com -connect 0.0.0.0:443
Vous devriez voir des informations similaires affichées. Localisez la Protocol
ligne et confirmez qu'elle utilise TLSv1.X
(X étant 1 ou 2 selon votre configuration). Si vous voyez cela, alors vous avez réussi à désactiver SSLv3 sur votre serveur Web.