SSH-Audit - L'outil indispensable pour sécuriser vos serveurs SSH
Vous saviez qu’il était possible de crasher SSH avec seulement 31 KB/s de trafic ? Hé oui, c’est carrement possible avec l’attaque DHEat, une vulnérabilité vieille de 20 ans qui fait encore des ravages et pourtant, personne n’en parle… Alors aujourd’hui, on va voir comment tester et sécuriser vos serveurs SSH.
SSH-Audit c’est un outil open source qui analyse vos serveurs (et même vos clients SSH) pour détecter tous les problèmes de configuration. Algorithmes obsolètes, vulnérabilités connues, mauvaises pratiques… rien ne lui échappe. Le truc cool, c’est qu’il ne se contente pas de vous balancer des erreurs à la figure. Non, non, il vous explique vraiment pourquoi c’est dangereux et vous propose des solutions concrètes.
Pour l’installer, c’est super easy. Si vous êtes team Python, un simple
pip3 install ssh-audit
et c’est réglé. Et si vous préférez Docker ?
docker pull positronsecurity/ssh-audit
et vous êtes prêt.
Et pour les adeptes de Snap,
snap install ssh-audit
fera le job. Bref, ils ont pensé à tout le monde.
Mais attendez, c’est pas fini puisque SSH-Audit intègre maintenant des tests pour les vulnérabilités les plus récentes. Vous avez entendu parler de l’attaque Terrapin (CVE-2023-48795) ? Cette saleté permet de compromettre l’intégrité du canal SSH en tronquant des messages. Et le pire c’est que 77% des serveurs SSH sur Internet y sont vulnérables. Donc c’est super car SSH-Audit détecte ça en deux secondes et vous dit exactement quoi faire pour vous protéger.
Et ssh-audit ne fait pas que scanner. Il peut carrément simuler des attaques pour tester la résistance de vos serveurs. L’attaque DHEat dont je parlais au début ? Vous pouvez la lancer avec la commande
ssh-audit --dheat=10 targetserver
Ça utilise 10 connexions simultanées pour saturer le CPU du serveur cible. C’est violent mais c’est exactement ce que ferait un attaquant donc mieux vaut découvrir la faille vous-même plutôt que de la laisser à un script kiddie, non ?
Et pour les pros qui gèrent des parcs de serveurs, ssh-audit propose un mode “politique” vraiment malin où au lieu de scanner bêtement, vous définissez une configuration de référence et l’outil vérifie que tous vos serveurs s’y conforment.
Par exemple, si vous voulez que tous vos serveurs Ubuntu 22.04 respectent les dernières recommandations de sécurité, vous pouvez créer une politique avec
ssh-audit -M ma_politique.txt serveur_reference
et l’appliquer partout avec
ssh-audit -P ma_politique.txt serveur_a_tester
D’ailleurs en parlant de ça, l’outil détecte aussi tous les algorithmes qui ne sont pas résistants aux attaques quantiques. En suivant le principe du “Harvest Now, Decrypt Later”, les agences de renseignement stockent déjà vos communications chiffrées en attendant d’avoir des ordinateurs quantiques pour les déchiffrer. SSH-Audit vous alerte sur ces algorithmes vulnérables pour que vous puissiez migrer vers des alternatives quantum-safe.
L’utilisation basique, permet aussi de scanner votre serveur :
ssh-audit monserveur.com
Et pour tester un client SSH (super utile pour vérifier que vos devs utilisent des configs sécurisées), lancez ssh-audit -c
et connectez-vous avec ssh -p 2222 test@localhost
. L’outil analysera la configuration du client qui se connecte.
Ah et j’oubliais un truc important. Si vous n’avez pas envie de jouer avec la ligne de commande, il y a une interface web sur ssh-audit.com. Vous entrez l’IP de votre serveur et hop, vous avez un rapport détaillé. C’est pratique pour faire un test rapide ou pour montrer à votre boss pourquoi il faut absolument mettre à jour les serveurs.
Voilà, donc si vous gérez des serveurs SSH (et qui n’en gère pas de nos jours ?), ssh-audit devrait faire partie de votre boîte à outils. C’est gratuit, c’est open source, et ça peut littéralement vous sauver les fesses en détectant des vulnérabilités critiques avant qu’elles soient exploitées. Donc faites-vous une faveur et testez vos serveurs maintenant. Vous me remercierez quand vous découvrirez que votre serveur de prod utilise encore des algos SHA-1 ou qu’il est vulnérable à DHEat !
Et si vous voulez aller plus loin, jetez un œil aux guides de durcissement fournis par l’équipe de ssh-audit. Ils expliquent étape par étape comment sécuriser OpenSSH, Dropbear et d’autres implémentations SSH.
Car comme dirait votre psy, détecter les problèmes c’est bien, mais les corriger c’est encore mieux !