Testez votre configuration SSL

Aujourd’hui un article rapide sur comment tester votre configuration SSL dans un réseau local ou sur un service exposé sur Internet !

Depuis peu de temps certains navigateurs comme Chrome affiche un message “Non Sécurisé” sur les sites internet qui ne proposent pas de chiffrement SSL. Une forte augmentation de la mise en place du SSL a donc été notée.

Mais comment fonctionne la mise en place du SSL sur une application ? Avec un couple certificat plus clé privée. De nos jours les plus utilisées sont ceux issus de l’autorité de certification Let’s Encrypt.

Mais la mise en place d’un service avec du chiffrement SSL est bien trop souvent négligée ou bâclée, ce qui vaut souvent un gros message d’erreur comme celui-ci :

Ce message peut être affiche pour plusieurs raisons comme :

  • Certificat expiré ou pas encore valide
  • L’URL ne correspond pas au CN (Common Name) du certificat
  • Il est issu d’une autorité non reconnue ou auto-signée
  • Il n’est pas correctement installé (CA manquante)

Je vais vous présenter ici un outil en ligne proposé par Qualys, SSLLabs. Ce dernier permet rapidement de tester votre configuration SSL et de vous remonter les principaux problèmes avec une note de A+ à T. La note peut être impactée par divers facteurs comme l’organisation et l’utilisation de certains ciphersuites, l’absence de CA, etc. Voici un détail rapide des notes :

  • La note A
    • Ordre d’utilisation des cipersuites ne privilégient pas les plus forts (Elliptic Curve Diffie-Hellman)
  • La note B
    • La chaîne de certification n’est pas entière
    • Le serveur n’utilise pas le cyphersuites AEAD
  • La note C
    • Utilisation de ciphersuites faibles (MD5, RC4)
  • La note T
    • Certificat expiré ou pas encore valide
    • Mismatch entre l’URL et le CN du certificat
    • Autorité non connue ou auto signé
    • Certificat signé en SHA1

Pour plus de détails sur le système de notation je vous invite à vous rendre sur ce lien. Attention, le système de notation évolue continuellement en fonction des différentes évolutions.

Voici le lien pour réaliser des tests avec SSLLabs : https://www.ssllabs.com/ssltest/

Et voici un exemple pour l’URL https://net-security.fr :

Nous pouvons donc voir que la note pour notre blog est de A. Nous pouvons aussi voir avec ce test différentes choses comme :

  • Les versions de SSL/TLS supportées
  • Toutes les informations concernant le certificat (AC, signature, CN, validité, etc.)
  • La liste des ciphersuites supportés
  • La compatibilité avec les différents systèmes

Mais le problème avec cet outil, c’est qu’il ne fonctionne que sur des URLs externes. Pour les URLs internes il est donc nécessaire d’utiliser un autre moyen de test, comme le script testssl.sh.

Ce script va renvoyer à peu près les mêmes informations que SSLLabs mais en version shell et sans la note. Voici comment l’utiliser (git et OpenSSL sont nécessaires) :

Voici un exemple sur une de mes URLs Rancher pour Kubernetes :

Dans les résultats nous avons comme pour SSLLabs des informations sur les protocoles supportés, les ciphersuites, le certificat, etc.

J’espère que cet article vous aura plu, si vous avez des questions ou des remarques sur ce que j’ai pu écrire n’hésitez pas à réagir avec moi par mail ou en commentaire !

Merci pour votre lecture et à bientôt !

MRigonnaux

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.