Comment obtenir des résultats A+ dans un test de laboratoire SSL

2 nov. 2017 | Bianca Cordonnier

Cet article est destiné à toute personne qui gère son propre serveur et souhaite avoir les meilleurs résultats SSL/TLS sur son serveur.

Peu importe si vous faites attention à la sécurité maximale ou si vous souhaitez simplement obtenir les meilleurs résultats possibles. Le test SSLlabs est un test reconnu permettant de vérifier la bonne installation de votre certificat ainsi que la sécurité SSL/TLS de votre serveur. Les lecteurs réguliers de notre magazine le connaissent très bien. Les instructions sont destinées au serveur web Apache. D'autres serveurs Web populaires viendront plus tard.

serveurs VPS efficaces et bon marché à moins de 55 secondes

Ce serveur a été fourni par ZonerCloud - serveurs VPS efficaces et bon marché à moins de 55 secondes.

La configuration par défaut n'est pas appropriée

La configuration SSL/TLS par défaut dans le Debian, qui est utilisée dans le serveur Cloud de Zoner, a obtenu un C dans le test SSLlabs. L'objection principale concerne l'activation du protocole SSLv3, qui n'est plus utilisé sur Internet pour des raisons de sécurité.

Les principaux problèmes de la configuration par défaut dépassée :  
  • SSLv3 est activé
  • Le cryptage RC4 est activé
  • il ne prend pas en charge Forward Privacy
Si vous configurez les options par défaut, vous pouvez obtenir une évaluation A et en utilisant le HTTP Strict Transport Security, vous pouvez obtenir l'évaluation la plus élevée A+.

Étapes vers une meilleure sécurité

Pour une meilleure sécurité, il est nécessaire de résoudre les problèmes mentionnés ci-dessus. En général, il est vrai que les paramètres peuvent être configurés soit pour l'ensemble du serveur (mod_ssl), soit pour un site web spécifique (vhosts).

Désactivation du protocole SSLv3

La désactivation de l'ancien protocole SSLv3 est simple. Vous pouvez le désactiver soit pour vos hôtes, soit pour l'ensemble du serveur. Le soutien de trois protocoles TLS est suffisant pour les visiteurs de votre site. Les protocoles plus anciens SSLv2 et SSLv3 ne sont plus utilisés pour des raisons de sécurité.

Modifiez dans /etc/apache2/mods-available/ssl.conf :
SSLProtocol all -SSLv2 -SSLv3

Désactivation du cryptage RC4

Le cryptage RC4 est considéré comme problématique car c'est le vecteur de la vulnérabilité BEAST. Aujourd'hui, il est utilisé sur les serveurs uniquement pour maintenir la compatibilité avec Internet Explorer sous Windows XP. Si RC4 est désactivé sur le serveur, les versions depassé d'Internet Explorer auront un problème de connexion au site Web à partir du système Windows XP (la décision de maintenir la compatibilité depend à vous, je vous recommande de le désactiver).

La désactivation du cryptage est simple. Il suffit de faire un point d'exclamation devant le cryptage indésirable et le serveur cessera de l'utiliser. Un point d'exclamation par abréviation signifie qu'il ne doit pas être utilisé. L'ordre de cryptage détermine ensuite l'ordre de préférence dans lequel ils doivent être utilisés par le serveur pendant la poignée de main.

Ajustez dans etc/apache2/mods-available/ssl.conf:

SSLCipherSuite ... !RC4

Forward Secrecy

Forward Secrecy est conçu pour protéger les informations transférées contre le déchiffrage ultérieur (par exemple, après qu'une clé privée a été volée). Les conditions préalables pour Functional forward Secrecy sont deux algorithmes Diffie-Hellman pour l'échange de clés DHE et ECDHE.

Vous trouverez plus d'informations sur l'utilisation de Forward Secrecy dans l'article SSL Labs: Déploiement de Forward Secrecy. Si vous ne souhaitez pas étudier le sujet, il suffit de configurer les cryptages ci-dessous dans la configuration.

Adjust in /etc/apache2/mods-available/ssl.conf:

SSLHonorCipherOrder onSSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA

Obtenir un Bonus Plus

Après avoir effectué les modifications ci-dessus, votre serveur devrait obtenir une note A. Pour obtenir A +, vous devez configurer HTTP Strict Transport Security.

Configuration de HTTP Strict Transport Security (HSTS)

HTTP Strict Transport Security (HSTS) améliore la sécurité de la connexion d'un visiteur avec le serveur car il ne permet pas la communication par un protocole autre que HTTPS. Il ne laisse pas un attaquant abaisser le niveau de cryptage (attaque de dégradation) ou utiliser un HTTP non crypté. Vous trouverez plus d'informations dans un article Wikepedia HTTP Strict Transport Security.

Ajustez la configuration du fichier Apache  (/etc/apache2/sites-enabled/website.conf or /etc/apache2/httpd.conf) and add the following line to VirtualHost:

Header always set Strict-Transport-Security "max-age=31536000; includeSubDomain[...]

Pour une fonction appropriée, vous devez activer les en-têtes (en-têtes sudo a2enmod). Apache va redémarrer après la configuration.


Bianca Cordonnier
Experte certifiée en sécurité SSL
DigiCert TLS/SSL Professional
e-mail: bianca.cordonnier(at)zoner.com