Cet article décrit comment installer le service Fail2Ban sur Ubuntu 20.04.
Qu'est-ce que Fail2Ban ?
Fail2Ban est un logiciel de prévention des intrusions que vous pouvez utiliser pour protéger les serveurs contre les menaces malveillantes telles que les attaques par force brute.
Prérequis
Avant d'installer Fail2Ban, il est recommandé de toujours s'assurer que votre serveur est à jour. Exécutez la commande suivante pour mettre à jour les versions actuelles des packages installés sur votre serveur :
root@server-01:~# sudo apt-get upgrade
Remarque : La commande précédente fournit un récapitulatif des packages à mettre à niveau et vous demande l'espace supplémentaire requis pour l'installation. Tapez "y ” pour poursuivre la mise à jour.
Installer Fail2Ban
Exécutez la commande suivante pour commencer l'installation :
root@server-01:~# sudo apt-get install fail2ban
Remarque : À l'invite d'espace supplémentaire, tapez "y ” pour poursuivre la mise à jour.
Vérifiez que Fail2Ban est installé et en cours d'exécution avec la commande suivante :
root@server-01:~# sudo systemctl status fail2ban
fail2ban.service - Fail2Ban Service
Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor preset>
Active: active (running) since Fri 2020-07-31 00:23:21 UTC; 42min ago
Si Fail2ban ne s'exécute pas à tout moment, vous pouvez le démarrer avec la commande suivante :
root@server-01:~# sudo systemctl start fail2ban
Définissez Fail2Ban pour qu'il démarre au démarrage avec la commande suivante :
root@server-01:~# sudo systemctl enable fail2ban
Synchronizing state of fail2ban.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable fail2ban
Configurer Fail2Ban
Vous ne devez pas mettre à jour les fichiers de configuration par défaut de Fail2Ban, fail2ban.conf et jail.conf . Au lieu de cela, créez de nouveaux fichiers vides fail2ban.local et jail.local , ou copiez le .conf fichiers pour créer le .local fichiers.
Vous pouvez copier le fichier .conf existant fichier pour créer le .local fichier avec la commande suivante :
root@server-01:~# sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Apportez des modifications de configuration Fail2Ban uniquement au .local fichiers à l'aide de votre éditeur de texte préféré. Les exemples suivants sont des éléments couramment configurés :
- ignorerip :adresses spécifiées qui ne sont pas interdites par critères.
- bantime :Durée spécifiée de l'interdiction.
- maxretry :Nombre spécifié d'échecs de connexion, avant d'être banni.
De nombreux autres champs sont configurables et vous pouvez trouver ces descriptions dans le .local fichier.
L'exemple suivant montre un paramètre d'interdiction de base à partir de jail.local fichier et définit lebantime
à 10 minutes et maxretry
à trois tentatives.
# "bantime" is the number of seconds that a host is banned.
bantime = 10m
# A host is banned if it has generated "maxretry" during the last "findtime"
# seconds.
findtime = 10m
# "maxretry" is the number of failures before a host get banned.
maxretry = 3
L'exemple suivant montre trois tentatives de connexion infructueuses et l'interdiction d'adresse IP qui en résulte.
[user@test ~]$ ssh [email protected]
[email protected]'s password:
Permission denied, please try again.
[email protected]'s password:
Permission denied, please try again.
[email protected]'s password:
Permission denied (publickey,password).
[user@test ~]$ ssh [email protected]
ssh: connect to host 23.253.159.172 port 22: Connection refused