Vous avez sans doute vu passer la faille concernant le protocole SSLv3 trouvée par une équipe de Google et annoncée dans la nuit du 14 octobre 2014 (POODLE, pour Padding Oracle On Downgraded Legacy Encryption). Cette faille concerne directement le protocole et ne peut pas être corrigée simplement. La solution la plus saine est de désactiver SSLv3 en vérifiant bien que TLSv1.0, TLSv1.1 et TLSv1.2 fonctionnent.
- Annonce de Google : This POODLE bites: exploiting the SSL 3.0 fallback,
- Documentation (pdf) : This POODLE bites: exploiting the SSL 3.0 Fallback – security advisory
- Explication technique de la faille par Adam Langley : POODLE attacks on SSLv3
- Explication en français sur nextinpact.com : La faille POODLE de SSLv3 permet de décrypter les données sur une connexion.
- Mozilla : The POODLE Attack and the End of SSL 3.0
Il faut par contre noter que Internet Explorer 6 sous Windows XP ne pourra plus se connecter de manière « sécurisée ». Pour rappel, IE6 représente moins de 1% des navigateurs en Europe et en Amérique du nord (environ 0.8% des navigateurs en France) et il n’est plus maintenu par Microsoft depuis 2010.
Dans les navigateurs
Pour Mozilla Firefox
Après avoir ouvert votre navigateur, tapez about:config dans votre barre d’adresse, après avoir cliqué sur « je ferai attention, promis », vous arrivez dans la configuration de votre navigateur. Vous pouvez alors rechercher security.tls.version.min dans la barre de recherche. Le but ici est de modifier la valeur minimum pour la version de TLS, il suffit donc de mettre security.tls.version.min à 1 pour dire à Firefox d’utiliser TLSv1.0 au minimum (et non SSLv3). Il faut redémarrer son navigateur pour prendre en compte cette modification.
À noter que SSLv3 sera désactivé par défaut à partir de Mozilla Firefox 34. Pour plus d’informations sur SSL/TLS chez mozilla : Security/Server Side TLS.
Pour Google Chrome/Chromium
Selon Adam Langley (Senior Staff Software Engineer, Google), Google Chrome implémente depuis Février TLS_FALLBACK_SCSV qui empêche les protocoles de descendre en SSLv3. Si vous voulez vous passer définitivement de SSLv3, il faut lancer Chrome (et Chromium) avec l’option –ssl-version-min=tls1 (cf. « How to specify command line flags » sur chromium.org)
Pour Internet Explorer
Pour IE6, la méthode est très simple : arrêtez de l’utiliser, passez à Mozilla Firefox ! Pour les autres versions, vous pouvez activer/désactiver les protocoles dans outils > options Internet > avancé. Vous pouvez désactiver tout en bas SSLv3 et activer TLSv1.1 et TLSv1.2 si ce n’est pas le cas (et vérifiez bien que SSLv2 est AUSSI désactivé, on ne sait jamais).
Sur les serveurs
N’oubliez pas, si vous modifiez la configuration de vos logiciels, de redémarrer ces services (avec une commande du genre service apache2 restart )
Configuration Apache avec OpenSSL
SSLProtocol All -SSLv2 -SSLv3
Nous vous conseillons grandement d’éditer le fichier /etc/apache2/mods-enabled/ssl.conf pour améliorer la configuration par défaut du serveur en modifiant au minimum la ligne SSLProtocol pour la suivante : SSLProtocol -SSLv2 -SSLv3.
Configuration Nginx avec OpenSSL
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
Configuration Dovecot
ssl_cipher_list = ALL:!LOW:!SSLv2:!SSLv3:!EXP:!aNULL:!RC4:!3DES
Configuration Courier pop & imap
Mieux vaut utiliser Dovecot, vous ne voulez pas jouer avec imapd-ssl et pop3d-ssl ;-) sinon, dans ces fichiers, remplacez (ou ajoutez-là si besoin) la ligne TLS_PROTOCOL comme suit :
TLS_PROTOCOL="TLS1_2:TLS1_1:TLS1"
Notez que sur les anciennes version de Courier, il faut enlever TLS1_2, non géré.
Configuration Postfix smtp
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
Configuration Prosody jabber
options = { "no_sslv2", "no_sslv3", "no_ticket", "no_compression","cipher_server_preference", "single_dh_use","single_ecdh_use" };
Configuration eJabberd
Ce n’est apparemment pas possible pour le moment.
Configuration OpenVPN
Pour améliorer la sécurité d’OpenVPN, se référer à l’article Hardening OpenVPN
Comment je peux tester ma configuration ?
Sur le plan général, nous vous conseillons aussi le très bon « Applied crypto hardening » qui ne demande qu’à être améliorer.
Avec SSLLabs.com
Avec OpenSSL
Avec la commande OpenSSL s_client:
openssl s_client -connect : -ssl3
Avec nmap
nmap --script ssl-enum-ciphers -p 443 exemple.org