En tant qu’ingénieur web, webmaster ou administrateur système, vous avez souvent besoin de déboguer des problèmes liés à SSL/TLS.

Il existe de nombreux outils en ligne pour les certificats SSL et les tests de vulnérabilité SSL/TLS, mais lorsqu’il s’agit de tester les URL, VIP et IP d’un intranet, ils ne vous seront d’aucune utilité.

Pour dépanner les ressources intranet, vous avez besoin d’un logiciel/outil autonome que vous pouvez installer sur votre réseau et effectuer les tests nécessaires.

Il peut y avoir différents scénarios, comme par exemple

  • Vous rencontrez des problèmes lors de l’implémentation du certificat SSL avec le serveur web
  • Vous voulez vous assurer que le dernier chiffrement ou protocole utilisé est le plus récent ou le plus particulier
  • Après l’implémentation, vous souhaitez vérifier la configuration
  • Risque de sécurité détecté dans les résultats d’un test de pénétration

Les outils suivants vous seront utiles pour résoudre ces problèmes.

DeepViolet

DeepViolet est un outil d’analyse SSL/TLS basé sur Java, disponible en version binaire, ou vous pouvez compiler le code source.

Si vous cherchez une alternative aux laboratoires SSL à utiliser sur un réseau interne, DeepViolet est un bon choix. Il recherche les éléments suivants

  • Chiffre faible exposé
  • Algorithme de signature faible
  • État de révocation de la certification
  • Statut d’expiration du certificat
  • Visualisez la chaîne de confiance, une racine auto-signée

Diagnostic SSL

Évaluez rapidement la solidité du protocole SSL de votre site web. SSL Diagnos extrait le protocole SSL, les suites de chiffrement, Heartbleed, BEAST.

Non seulement HTTPS, mais vous pouvez tester la force de SSL pour SMTP, SIP, POP3, et FTPS.

SSLyze

SSLyze est une bibliothèque Python et un outil en ligne de commande qui se connecte à un point de terminaison SSL et effectue un scan pour identifier toute configuration SSL/TLS manquante.

L’analyse par SSLyze est rapide car un test est distribué à travers plusieurs processus. Si vous êtes un développeur ou si vous souhaitez intégrer votre application existante, vous avez la possibilité d’écrire le résultat au format XML ou JSON.

SSLyze est également disponible dans Kali Linux. Si vous ne connaissez pas encore Kali, vous pouvez consulter comment installer Kali Linux sur VMWare Fusion.

OpenSSL

Ne sous-estimez pas OpenSSL, l’un des puissants outils autonomes disponibles pour Windows ou Linux pour effectuer diverses tâches liées à SSL comme la vérification, la génération de CSR, la conversion de certification, etc.

Analyse SSL Labs

Vous adorez Qualys SSL Labs ? Vous n’êtes pas le seul, je l’aime aussi.

Si vous cherchez un outil en ligne de commande pour SSL Labs pour des tests automatisés ou en masse, alors SSL Labs Scan vous sera utile.

SSL Scan

SSL Scan est compatible avec Windows, Linux et MAC. SSL Scan permet d’identifier rapidement les paramètres suivants.

  • Mettre en évidence les chiffrements SSLv2/SSLv3/CBC/3DES/RC4/
  • Signalez les algorithmes de chiffrement faibles (<40 bits), nuls/anonymes
  • Vérifier la compression TLS, la vulnérabilité Heartbleed
  • et bien plus encore…

Si vous travaillez sur des problèmes liés au chiffrement, un scanner SSL serait un outil utile pour accélérer le dépannage.

Geekflare TLS Scanner API

Une autre solution astucieuse pour les webmasters peut être l’API Geekflare TLS Scanner.

geekflare tls scanner api

Il s’agit d’une méthode robuste pour vérifier le protocole TLS, le CN, le SAN et d’autres détails du certificat en une fraction de seconde. Vous pouvez l’essayer sans risque avec un abonnement gratuit pour un maximum de 3 000 requêtes par mois.

Cependant, le niveau premium de base ajoute un taux de requêtes plus élevé et 10 000 appels API pour seulement 5 $ par mois.

TestSSL

Comme son nom l’indique, TestSSL est un outil en ligne de commande compatible avec Linux ou OS. Il teste toutes les métriques essentielles et donne un état, qu’il soit bon ou mauvais.

Ex :

Test de protocoles via des sockets sauf SPDY HTTP2

SSLv2 non proposé (OK)
SSLv3 non proposé (OK)
TLS 1 proposé
TLS 1.1 offert
TLS 1.2 proposé (OK)
SPDY/NPN h2, spdy/3.1, http/1.1 (annoncé)
HTTP2/ALPN h2, spdy/3.1, http/1.1 (offert)

Test des catégories de chiffrement ~standard

Chiffres NULL (pas de chiffrement) non proposés (OK)
Chiffres NULL anonymes (pas d'authentification) non proposé (OK)
Chiffres d'exportation (sans ADH NULL) non proposés (OK)
LOW : chiffrement DES 64 bits (sans exportation) non proposé (OK)
Chiffres 128 bits faibles (SEED, IDEA, RC[2,4]) non proposés (OK)
Triple chiffrement DES (moyen) non proposé (OK)
Cryptage élevé (AES Camellia, pas d'AEAD) proposé (OK)
Cryptage fort (AEAD ciphers) proposé (OK)

Test des préférences du serveur

Le serveur a-t-il un ordre de chiffrement ? oui (OK)
Protocole négocié TLSv1.2
Chiffrement négocié ECDHE-ECDSA-CHACHA20-POLY1305-OLD, ECDH 256 bits (P-256)
Ordre de chiffrement
TLSv1 : ECDHE-RSA-AES128-SHA AES128-SHA ECDHE-RSA-AES256-SHA AES256-SHA DES-CBC3-SHA 
TLSv1.1 : ECDHE-RSA-AES128-SHA AES128-SHA ECDHE-RSA-AES256-SHA AES256-SHA 
TLSv1.2: ECDHE-ECDSA-CHACHA20-POLY1305-OLD ECDHE-ECDSA-CHACHA20-POLY1305 ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES128-SHA ECDHE-ECDSA-AES128-SHA256 ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-ECDSA-AES256-SHA ECDHE-ECDSA-AES256-SHA384 ECDHE-RSA-CHACHA20-POLY1305-OLD
ECDHE-RSA-CHACHA20-POLY1305 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA
ECDHE-RSA-AES128-SHA256 AES128-GCM-SHA256 AES128-SHA AES128-SHA256
ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-SHA ECDHE-RSA-AES256-SHA384 AES256-GCM-SHA384
AES256-SHA AES256-SHA256

Test des vulnérabilités

Heartbleed (CVE-2014-0160) pas vulnérable (OK), pas d'extension heartbeat
CCS (CVE-2014-0224) non vulnérable (OK)
Ticketbleed (CVE-2016-9244), expérience. non vulnérable (OK)
Renégociation sécurisée (CVE-2009-3555) non vulnérable (OK)
Renégociation sécurisée à l'initiative du client non vulnérable (OK)
CRIME, TLS (CVE-2012-4929) non vulnérable (OK)
BREACH (CVE-2013-3587) potentiellement PAS ok, utilise la compression HTTP gzip. - testé uniquement avec "/" fourni
Peut être ignoré pour les pages statiques ou s'il n'y a pas de secrets dans la page
POODLE, SSL (CVE-2014-3566) pas vulnérable (OK)
TLS_FALLBACK_SCSV (RFC 7507) Prévention des attaques par rétrogradation prise en charge (OK)
SWEET32 (CVE-2016-2183, CVE-2016-6329) non vulnérable (OK)
FREAK (CVE-2015-0204) non vulnérable (OK)
DROWN (CVE-2016-0800, CVE-2016-0703) non vulnérable sur cet hôte et ce port (OK)
assurez-vous que vous n'utilisez pas ce certificat ailleurs avec des services activés par SSLv2
https://censys.io/ipv4?q=EDF8A1A3D0FFCBE0D6EA4C44DB5F4BE1A7C2314D1458ADC925A30AA6235B9820 peut vous aider à le découvrir
LOGJAM (CVE-2015-4000), experimental non vulnérable (OK) : pas de chiffrement DH EXPORT, pas de clé DH détectée
BEAST (CVE-2011-3389) TLS1 : ECDHE-RSA-AES128-SHA AES128-SHA ECDHE-RSA-AES256-SHA
AES256-SHA DES-CBC3-SHA 
VULNERABLE -- mais prend également en charge des protocoles supérieurs (atténuation possible) : TLSv1.1 TLSv1.2
LUCKY13 (CVE-2013-0169) INACCEPTABLE, utilise des algorithmes de chiffrement par chaînage de blocs (CBC)
RC4 (CVE-2013-2566, CVE-2015-2808) aucun chiffrement RC4 détecté (OK)

Comme vous pouvez le voir, il couvre un grand nombre de vulnérabilités, de préférences de chiffrement, de protocoles, etc. TestSSL.sh est également disponible dans une image docker.

Si vous avez besoin de faire un scan à distance en utilisant testssl.sh, vous pouvez essayer Geekflare TLS Scanner.

TLS Scan

Vous pouvez construire TLS-Scan à partir des sources ou télécharger le binaire pour Linux/OSX. Il extrait les informations du certificat du serveur et affiche les métriques suivantes au format JSON.

  • Vérifications de la vérification du nom d’hôte
  • Vérifications de la compression TLS
  • Vérifications de l’énumération du chiffrement et de la version TLS
  • Vérification de la réutilisation des sessions

Il prend en charge les protocoles TLS, SMTP, STARTTLS et MySQL. Vous pouvez également intégrer la sortie résultante dans un analyseur de logs comme Splunk, ELK.

Analyse du chiffrement

Un outil rapide pour analyser si le site web HTTPS prend en charge tous les algorithmes de chiffrement. Cipher Scan dispose également d’une option permettant d’afficher les résultats au format JSON. Il s’agit d’un wrapper qui utilise en interne la commande OpenSSL.

Audit SSL

SSL audit est un outil open-source qui permet de vérifier le certificat et de supporter le protocole, les ciphers et le grade basé sur SSL Labs.

J’espère que les outils open-source ci-dessus vous aideront à intégrer l’analyse continue à votre analyseur de journaux existant et à faciliter le dépannage.