fail2ban contre le brute-force
Bloquer automatiquement les adresses IP après des connexions échouées répétées.
Des programmes automatisés essaient en permanence des mots de passe sur les ports SSH ouverts. fail2ban lit les entrées de journal du service SSH et bloque temporairement une adresse qui échoue trop souvent à se connecter. Le blocage passe par le pare-feu : l'attaquant n'atteint alors plus du tout le serveur.
Fonctionnement des réglages
maxretry = 5: le blocage intervient après cinq échecs.findtime = 10m: les échecs doivent survenir dans un délai de dix minutes pour être comptés.bantime = 1h: le blocage dure une heure, puis l'adresse est débloquée automatiquement.ignoreip: adresses qui ne sont jamais bloquées. Localhost est toujours inclus. Vous pouvez ajouter votre propre IP fixe pour ne pas vous bloquer vous-même.
Pourquoi jail.local et non jail.conf
Le fichier /etc/fail2ban/jail.conf contient les valeurs par défaut et est écrasé lors des mises à jour de paquets. Vos valeurs propres vont donc dans jail.local. Ce fichier prime, même s'il ne contient que les différences.
- Installer fail2ban :
sudo apt install -y fail2ban - Créer la configuration locale :
sudo nano /etc/fail2ban/jail.local - Saisir le contenu :
[DEFAULT] bantime = 1h findtime = 10m maxretry = 5 ignoreip = 127.0.0.1/8 ::1 [sshd] enabled = true[sshd]active la protection pour SSH. Les autres services, comme le serveur web ou la messagerie, sont désactivés par défaut et peuvent recevoir leurs propres sections si besoin. - Démarrer le service et vérifier son état :
sudo systemctl enable --now fail2ban sudo fail2ban-client status sshdLa sortie indique le nombre d'échecs et les adresses actuellement bloquées.
Débloquer une adresse IP
Si vous vous êtes bloqué par erreur, libérez l'adresse ainsi :
sudo fail2ban-client set sshd unbanip ADRESSE-IP
ignoreip que si elle est fixe. Si l'adresse change, l'exception ne s'applique plus.Combinaison avec la connexion par clé
Avec la connexion par clé et la connexion par mot de passe désactivée (voir Clés SSH et Sécuriser SSH), personne ne peut deviner de mot de passe. fail2ban reste néanmoins utile : il garde les entrées de journal lisibles et freine les scanners qui frappent en permanence à la porte.