⚠️ Info Maintenance

Le site sera en travaux aujourd'hui (15/04/2026) de 20h00 à 01h00. Certaines pages pourraient être inaccessibles.

Retour au blog

⛔ Installation et configuration de Fail2Ban

Ce que j’ai fait

1. Pourquoi Fail2Ban ?

Même avec une clé SSH et un port personnalisé, des bots continuent de tenter des connexions sur le serveur.

Fail2Ban surveille les logs en temps réel et bannit automatiquement les IP qui échouent trop de fois.

2. Installation

# Installation de Fail2Ban
sudo apt install fail2ban -y

3. Configuration

Fail2Ban utilise deux fichiers :

  • jail.conf → fichier par défaut
  • jail.local → fichier qui contient les règles de bannissement
# Éditer le fichier de configuration
sudo nano /etc/fail2ban/jail.local

J’ai modifié la section [DEFAULT] pour l’adapter à ce dont j’avais besoin.

# Durée de bannissement
bantime  = 1h

# Fenêtre d'observation
findtime = 10m

# Nombre de tentatives avant ban
maxretry = 3

J’ai également dû modifier la section [sshd] car le port utilisé dessus ne correspond plus à celui que j’utilise.

[sshd]
enabled = true
port    = ****
filter  = sshd
logpath = /var/log/auth.log

Les différentes sections sont aussi appelées des « jails » qu’on peut activer ou désactiver (enabled = true/false) et qui ici sont toutes en relation avec la section [DEFAULT] pour les bannissements.

Cela aura pour effet que si une personne ou un bot essaie 3 fois de se connecter sur n’importe quel port où une jail est active et échoue 3 fois sur une période de 10 minutes, alors il sera banni 1h.

4. Application

# Redémarrer pour appliquer les modifications
sudo systemctl restart fail2ban

# Vérifier que la jail SSH est active
sudo fail2ban-client status

5. Pour aller plus loin

# Détail de la jail SSH (IP bannies, tentatives échouées...)
sudo fail2ban-client status sshd

# Débannir une IP manuellement
sudo fail2ban-client set sshd unbanip 1.2.3.4

# Voir les tentatives échouées dans les logs
sudo grep "Failed" /var/log/auth.log | tail -10

Fail2Ban pourra également être utilisé pour sécuriser n’importe quel service que je mettrai en place sur mon serveur en créant/modifiant des jails.