Il faut toujours tester ses configs pour savoir si l'on n'a pas fait d'erreur, si ça fonctionne bien comme attendu, s'il ne reste pas des trous de sécurité béants,... Avec quels outils tester ses configurations TLS ? J'en ai présenté plusieurs sur ce shaarli mais c'est clairement le bazar. Il est l'heure de faire un bilan :
* https://www.ssllabs.com/ - HTTPS uniquement - Ce que j'aime : une référence mise à jour très rapidement lors de la découverte de nouvelles faiblesses/vulnérabilités + informations complètes sur la chaîne des certificats + test des faiblesses/vulnérabilités.
* https://tls.imirhil.fr/ - HTTPS, SMTP, XMPP - Ce que j'aime : présentation très épurée et claire (grâce aux couleurs) + affichage des infos concernant l'échange Diffie-Hellman + code dispo sous licence libre (https://github.com/aeris/cryptcheck) même si l'on n'a aucune certitude que c'est bien ce code qui tourne sur le serveur en dehors de la confiance que l'on accorde (ou non) à Aeris. S'intéresse uniquement à la crypto donc les certificats et les vulnérabilités comme Heartbleed sont exclus de son périmètre.
* https://xmpp.net/ - XMPP uniquement - Ce que j'aime : plutôt complet + affichage clair + il teste des technos novatrices comme DANE + affichage des informations concernant l'échange de Diffie-Hellman. Il s'intéresse aux certificats et à la crypto donc les vulnérabilités comme Heartbleed sont exclues de son périmètre.
* https://starttls.info/ - SMTP uniquement - Je n'aime pas ce service : informations trop succinctes, ne teste quasiment rien (ce n'est pas uniquement la taille des blocs utilisés en interne des algos cryptos qui est importante...).
* https://testssl.sh/ - HTTPS + les protocoles supportant STARTTLS supportés par votre version d'OpenSSL (XMPP, IMAP/POP3,...), syntaxe : ./testssl.sh -t <protocol> <hostname>:<port>. Exemple : ./testssl.sh -t imap <host>:143 - Ce que j'aime : outil local, pas de dépendance à un service externe (en contrepartie, ça veut dire qu'il dépend des options de compilation et de configuration de votre openssl local donc tout n'est pas testé contrairement à tls.imirhil.fr par exemple, donc attention !) + logiciel libre. Ce que je n'aime pas : pas d'information sur la chaîne des certificats et pas d'informations sur l'échange de clés Diffie-Hellman (parce que ma version d'openssl ne sait pas communiquer cette information, apparemment). De plus, pour moi, il y a un fail sur le test BEAST.
Je vous conseille évidemment de tester vos configurations avec plusieurs outils afin de ne pas être sensible à un oubli ou à un bug d'un outil en particulier.
Pour la même raison, je vous conseille de tester depuis plusieurs machines quand vous utilisez testssl.sh. Typiquement, en testant depuis mon laptop, testssl.sh m'informe que mon serveur SMTP est vulnérable à Heartbleed alors qu'il ne voit rien sur le serveur web présent sur le même serveur. Heartbleed est une faille côté OpenSSL, pas côté application donc ce résultat n'est pas cohérent. En faisant tester par un ami, c'est OK alors qu'on utilise tous les deux openssl 1.0.1k packagée dans Jessie sur une architecture amd64... Même résultat en testant depuis un autre de mes serveurs. Toujours la même version d'OpenSSL. Un « sudo apt-get install --reinstall openssl » sur mon laptop corrige l'erreur mais c'est plutôt effrayant. :S