Désactiver SSLv3 ou comment se prémunir de la vulnérabilité POODLE

11 février 2015 Sécurité 0 Commentaire

POODLE (Padding Oracle On Downgraded Legacy Encryption) est une faille de sécurité dans la version du protocole SSLv3 pourrait permettre à des pirates de s’insérer entre un serveur et un client pour récupérer des informations chiffrées (pour en savoir plus c’est ici). Cette faille toucherait aussi le protocole TLS (voir ici) mais ne serait exploitable que dans certains cas (source).

 

Votre serveur est-il protégé ?

Afin de savoir si vous votre serveur est vulnérable il est possible d’effectuer un test avec OpenSSL. Lancez la commande

openssl s_client -connect votre_domaine.com:443 -ssl3

 

N’oubliez pas de remplacer votre_domaine.com par le nom de domaine que vous utilisez, mais surtout testez tous vos ports utilisant une connexion SSL : POP3 SSL, IMAP SSL, SMTP SSL, FTP SSL etc…

Une fois que la commande ci-dessus a été lancée, cherchez la ligne suivante

routines:SSL3_READ_BYTES:sslv3 alert handshake failure

Si cette ligne est bien présente votre serveur n’est pas vulnérable, dans les autres cas il faudra désactiver le protocole SSLv3

 

Désactiver SSLv3

La faille POODLE est seulement exploitable si le client et le serveur utilise tous les deux SSLv3, cependant en désactivant SSLv3 sur votre système vous protégez aussi vos clients.

 

Apache

Si votre serveur web tournant sous apache est vulnérable il vous faut éditer sa configuration. Pour Ubuntu / Debian vous devrez modifier le fichier suivant

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

 

Cherchez une ligne commençant par SSLProtocol, si elle existe remplacez la par (si elle n’exite pas ajoutez la ligne suivante)

SSLProtocol All -SSLv2 -SSLv3

 

Votre serveur apache autorisera tous les protocoles sauf SSLv2 et SSLv3, vous pouvez tester votre configuration avec la commande suivante

apachectl configtest

 

Vous pouvez maintenant relancer votre instance Apache

sudo service apache2 restart

 

NGINX

Si vous avez un serveur NGINX utilisant le protocole SSLv3, modifiez le fichier de configuration

/etc/nginx.conf

 

Ajoutez au bloc serveur

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

 

Le protocole SSLv3 sera désactivé pour NGINX. si vous ne trouvez pas de bloc server dans votre fichier de configuration nginx, vous devrez ajoutez cette ligne à la configuration de vos VirtualHosts.

 

Postfix SMTP

Ouvrez le fichier de configuration de postfix

sudo nano /etc/postfix/main.conf

 

Dans la section # TLS parameters, ajoutez la ligne suivante

smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3

 

Redémmarez Postfix

sudo service postfix restart

 

Dovecot

La modification ci-dessous fonctionne seulement pour les versions 2.1 et supérieures, vérifiez tout d’abord quelle version de postfix est installée sur votre serveur.

sudo dovecot --version

 

Dans le fichier dovecot.conf : /etc/dovecot/dovecot.conf ajoutez après ssl_key la ligne

ssl_protocols = !SSLv2 !SSLv3

 

Ce qui devrait ressembler à

ssl_key = </chemin/vers/votre/certificat.pem
ssl_protocols = !SSLv2 !SSLv3

 

Vous pouvez relancez Dovecot

sudo service dovecot restart

 

Si votre version de Dovecot < 2.1, je vous conseille fortement une mise à jour.

 

HAProxy

Pour désactiver SSLv3 sur HAProxy vous devez utilisez une version >1.5 SSl n’étant pas supporté dans les versions précédentes. Editez le fichier de configuration /etc/haproxy.cfg et recherchez une ligne commencez par bind faisant référence au port 443 (SSL). Ajoutez à la fin de cette ligne no-sslv3

Exemple :

bind :443 ssl crt <crt> ciphers <ciphers> no-sslv3

 

OpenVPN

OpenVPN a annoncé ne pas etre vulnérable a la faille SSLv3 puisqu’ils utilisent TLSv1.0.

 

Source

Linode