Endlessh : éviter les attaques par force brute sur le port ssh
Article original : www.geek.org
Si vous avez un serveur Linux avec un port SSH exposé sur Internet, vous avez probablement pu constater que celui-ci était en permanence attaqué par des tentatives d'attaque de type force brute utilisant des listes de mots de passe communs.
Pour remédier à ces tentatives attaques, vous avez plusieurs possibilités :
Et si vous êtes un paranoïaque de sécurité informatique, vous pouvez aussi réaliser ces 4 solutions.
Endlessh est un logiciel très simpliste qui expose un faux serveur SSH avec une bannière d'une longueur infinie qui n'offre aucun prompt d'authentification au client du service.
Cette bannière infinie et générée sur la base de caractères aléatoires bloquera les clients SSH qui essaient de vous attaquer. Ces clients attendront pendant plusieurs heures ou jours un prompt d'authentification du service.
Si le logiciel de l'attaquant ne prend pas en compte de timeout, Endlessh vous permettra d'emmerder tout simplement les personnes qui réalisent des bruteforces SSH sur Internet, et ils sont nombreux ...
Endlessh est un simple code C de 800 lignes. Un "make" vous permettra de construire le binaire après un git clone du repository GitHub.
Pour installer Endlessh sous forme de service Linux, le projet Endlessh sur Github dispose d'un template de service vous permettant de démarrer automatiquement Endlessh à chaque redémarrage de serveur.
Si vous lancez le binaire en ligne de commande, les options de lancement sont simplistes :
Usage: endlessh [-vhs] [-d MS] [-f CONFIG] [-l LEN] [-m LIMIT] [-p PORT]
-4 Bind to IPv4 only
-6 Bind to IPv6 only
-d INT Message millisecond delay [10000]
-f Set and load config file [/etc/endlessh/config]
-h Print this help message and exit
-l INT Maximum banner line length (3-255) [32]
-m INT Maximum number of clients [4096]
-p INT Listening port [2222]
-s Print diagnostics to syslog instead of standard output
-v Print diagnostics (repeatable)