Renforcer sa sécurité SSL avec Apache2
Rangé dans Mémos sur logiciels libres
Suite à mon passage au « full HTTPS », je me suis aperçu que mon serveur proposait encore des protocoles de chiffrement faibles notamment SSLv2, ou encore RC4. Il était temps de régler vite la situation, à l’aide de quelques simples lignes dans la configuration globale Apache2 !
Désactiver les protocoles non sûrs
Il s’agit de supporter tous les protocoles (i.e TLSv1.0, TLSv1.1 et TLSv1.2) sauf SSLv2 et SSLv3 :
SSLProtocol All -SSLv2 -SSLv3
Interdire les algorithmes de chiffrement désuets
On ne spécifie que les protocoles de chiffrement qui permettent :
- l’utilisation d’algorithme de cryptographie de type « Elliptic Curve »,
- l’utilisation du Perfect Forward Secrecy
- l’utilisation d’AES ou d’AES256 (AES en premier pour des raisons de rapidité)
Ce qui nous donne cette version :
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
Pour plus de compatibilité…
On peut préférer une suite un peu plus permissive, en cas de volonté de support de vieux navigateurs (IE6/WINXP) :
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4
Imposer la préférence du serveur d’abord
Il est intéressant de ne pas laisser le choix au client de l’ordre de préference pour le choix de l’algorithme de chiffrement, avec la ligne :
SSLHonorCipherOrder On
Vérifier sa robustesse HTTPS
Après rechargement de la configuration Apache2, on peut aller sur les deux sites suivants pour valider les bonnes pratiques en matière de « SSL » :
- le service SSLLabs de Qualys. Exemple sur sphinks.net
- le service CryptCheck de imirhil.fr. Exemple sur sphinks.net