Conseils sur les suites de cipher SSL/TLS robustes
Les suites de cipher SSL sont implémentées sur chaque version de système d’exploitation, que ce soit pour PC/MAC/Unix et même Android et consort.
Les navigateurs, à conditions d’être à jour et compatibles, se servent donc des suites proposées par le système d’exploitation utilisé.
Restreindre les ciphers au plus robustes garanti une meilleure protection mais exclu de facto les anciens systèmes ; le compromis doit donc être choisi en fonction de vos visiteurs et des objectifs à atteindre.
Voici donc quelques conseils afin de mettre en place les suite de cipher les plus robustes et leurs impacts :
Listes de ciphers conseillées :
Ce site donne tous les ciphers conseillés et leurs implémentations par type de serveur web (Apache, Nginx et Lighttpd) ainsi que pour la majorité des programmes (MySQL, OpenSSH, Exim et autre)
https://tls.imirhil.fr/ciphers
Ce tableau indique en détail les caractéristiques des suites. Pratique pour comparaison.
En résumé :
Voici une synthèse des bonnes pratiques recommandées :
- Certificats émis en SHA2 (SHA256bits)
- Clé privée générée avec une longueur de 4096 bits au minimum (voir les recommandations de l’ANSSI et https://www.keylength.com/fr/5/).
- Suite de cipher robuste, au minimum : EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
- Protocole, version supportées : TLS 1.0, TLS 1.1 et TLS 1.2 (SSLv2 et SSLv3 sont à bannir)
- SSLCompression off (compression désactivée)
- Désactiver les protocoles/chiffrement jugés vulnérables : RC2 et RC4, DES et 3DES, les hash en MD5, etc…
- Désactiver l’export de clé
- Activer la « foward secrecy«
- Se prémunir contre la faille Logjam
Compatibilité : quelle suite de cipher utilise votre navigateur ?
https://cc.dcsec.uni-hannover.de/
Petite page de l’université de Hanovre qui indique quelles suites sont supportées par votre navigateur.
Vérifications version d’OS et de navigateurs supportés par votre site :
Pensez à checker votre site, vous aurez la liste sur SSL Labs
En bonus : Tuto pour Apache2
Tutoriel sur comment sécuriser au mieux votre serveur web Apache2 :
https://raymii.org/s/tutorials/Strong_SSL_Security_On_Apache2.html
Bonus bonus : et pour ceux qui utilise pound ? voici les astuces pour pound :
Gestion des ciphers :
Au minimum conseillé :
Ciphers « EECDH+AESGCM:EDH+AESGCM:AES128+EECDH:AES128+EDH »
Sinon :
Ciphers « ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA »
Désactivation SSLv3
Si ce n’est pas déjà fait, profitez en pour désactiver le support du protocole SSL en version 3 :
Disable SSLv3
Correction de la faille Logjam sur Pound (DH params à 1024 bits au lieu de 2048) :
Il faut pour corriger cette faille recompiler pound en spécifiant la valeur de DH à 2048 :
wget http://www.apsis.ch/pound/Pound-2.7.tgz
tar -xzf Pound-2.7.tgz
cd Pound-2.7
./configure –with-dh=2048 –prefix= –exec_prefix=/usr
make
make install