Section 1: Installation de Fail2Ban
Pour commencer, nous devons installer le paquet Fail2Ban sur notre serveur Ubuntu 23.10. Avant de procéder à l’installation, il est important de s’assurer que votre système est à jour. Vous pouvez le faire en exécutant les commandes suivantes:
apt update apt upgrade
Une fois votre système mis à jour, vous pouvez procéder à l’installation de Fail2Ban en exécutant la commande suivante:
apt install fail2ban
Après l’installation, vous devez activer Fail2Ban en exécutant la commande suivante:
systemctl enable fail2ban
Pour vérifier l’état de Fail2Ban, utilisez la commande suivante:
systemctl status fail2ban
Si tout est correctement configuré, vous devriez voir une sortie indiquant que Fail2Ban est actif et en cours d’exécution.
Note : Il est recommandé de prendre une capture instantanée ou une sauvegarde de votre serveur avant de faire des modifications de configuration pour vous assurer que vous pouvez revenir en arrière si quelque chose se passe mal.
Section 2: Configuration de Fail2Ban
Fail2Ban est fourni avec des fichiers de configuration par défaut que vous pouvez modifier pour répondre à vos besoins. Cependant, il n’est pas recommandé de modifier directement les fichiers de configuration par défaut, car les mises à niveau du paquet peuvent écraser vos modifications. A la place, nous créerons un fichier de configuration séparé appelé jail.local
.
Pour créer le fichier de configuration jail.local
, copiez le fichier jail.conf
par défaut en utilisant la commande suivante:
cp /etc/fail2ban/jail.{conf,local}
Ouvrez maintenant le fichier jail.local
avec votre éditeur de texte préféré:
nano /etc/fail2ban/jail.local
Dans le fichier jail.local
, vous pouvez personnaliser divers paramètres pour renforcer la sécurité de votre serveur SSH.
Subsection 2.1: Liste blanche des adresses IP
Par défaut, Fail2Ban bloque les adresses IP qui sont impliquées dans des activités suspectes. Cependant, vous pouvez avoir des adresses IP spécifiques que vous souhaitez mettre en liste blanche, comme votre propre IP. Pour mettre en liste blanche une adresse IP, recherchez la ligne suivante dans le fichier jail.local
et décommentez-la:
#ignoreip = 127.0.0.1/8::1
Une fois décommentée, ajoutez votre adresse IP à la fin de la ligne. Par exemple :
ignoreip = 192.168.0.100 192.168.1.0/24
Vous pouvez mettre en liste blanche plusieurs adresses IP en les séparant par un espace blanc. Si vous souhaitez mettre en liste blanche un bloc IP, utilisez la notation CIDR comme indiqué ci-dessus.
Subsection 2.2: Configuration des options de bannissement
Fail2Ban offre plusieurs options pour bannir les adresses IP en fonction des tentatives d’authentification échouées. Ces options incluent bantime
, findtime
et maxretry
.
bantime
: Spécifie la durée (en secondes, minutes, heures ou jours) pendant laquelle une adresse IP sera bannie.findtime
: Définit la fenêtre de temps pendant laquelle Fail2Ban surveillera les tentatives d’authentification échouées répétées.maxretry
: Définit le nombre maximum de tentatives échouées autorisées avant qu’une adresse IP soit bannie.
Pour personnaliser ces options, localisez les lignes suivantes dans le fichier jail.local
et modifiez-les selon vos besoins :
bantime = 10m findtime = 10m maxretry = 5
N’hésitez pas à ajuster ces valeurs en fonction de vos besoins spécifiques. Par exemple, si vous souhaitez bloquer définitivement une adresse IP, vous pouvez utiliser une valeur négative pour bantime
.
Subsection 2.3: Notifications par e-mail
Fail2Ban vous permet de recevoir des notifications par e-mail lorsqu’une adresse IP est bannie ou lorsqu’un événement spécifique se produit. Pour configurer les notifications par e-mail, vous devez avoir un serveur SMTP installé sur votre serveur.
Pour activer les alertes par e-mail, trouvez la ligne suivante dans le fichier jail.local
et assurez-vous qu’elle est présente :
# ban & send an e-mail with whois report and relevant log lines # to the destemail. action_mwl = %(action_)s %(mta)s-whois-lines[sender="%(sender)s", dest="%(destemail)s", logpath="%(logpath)s", chain="%(chain)s"]
Pour configurer les adresses e-mail pour l’envoi et la réception des notifications, localisez les lignes suivantes dans le fichier jail.local
et mettez-les à jour en conséquence :
destemail = admin@xyz.com sender = root@xyz.com
Remplacez admin@xyz.com
par l’adresse e-mail où vous souhaitez recevoir les notifications et root@xyz.com
par l’adresse e-mail de l’expéditeur.
Section 3: Interaction avec Fail2Ban
Fail2Ban fournit un outil en ligne de commande appelé fail2ban-client
qui vous permet d’interagir avec le service Fail2Ban. Cet outil offre diverses options pour gérer et surveiller les adresses IP bannies.
Pour vérifier l’état des prisons Fail2Ban, utilisez la commande suivante :
fail2ban-client status
Cette commande affichera l’état de toutes les prisons activées, y compris la prison SSH.
Pour débannir une adresse IP, utilisez la commande suivante :
fail2ban-client set sshd unbanip "adresse IP ici"
Remplacez “adresse IP ici” par l’adresse IP réelle que vous souhaitez débannir.
De même, vous pouvez bannir une adresse IP en exécutant la commande suivante :
fail2ban-client set sshd banip "adresse IP ici"
Encore une fois, remplacez “adresse IP ici” par l’adresse IP que vous souhaitez bannir.
Avec Fail2Ban, vous pouvez avoir l’esprit tranquille en sachant que votre serveur SSH est protégé contre les menaces potentielles. Pour des solutions d’hébergement cloud fiables et évolutives, pensez aux services VPS SSD Linux de Shape.host. Shape.host offre des serveurs privés virtuels haute performance avec des fonctionnalités de sécurité avancées, garantissant la sécurité et la stabilité de votre présence en ligne.