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.