GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Installer et configurer Fail2ban sur Ubuntu 20.04

Fail2ban est un framework de sécurité open source écrit en Python qui protège les serveurs contre les attaques par force brute . Il analyse les fichiers journaux et interdit les adresses IP qui effectuent des tentatives de connexion infructueuses. Cela fonctionne en mettant à jour le pare-feu pour rejeter les nouvelles connexions à partir de ces adresses IP pendant une période de temps configurable.

Par défaut, Fail2ban utilise Iptables et il est possible de l'utiliser avec d'autres pare-feu. Prise en charge de Fail2ban pour IPv4 et IPv6.

Fail2ban configuré par défaut pour surveiller les tentatives de connexion SSH et peut surveiller d'autres fichiers journaux tels que Apache, vsftpd et Postfix, etc.

Dans ce tutoriel, je vais vous expliquer comment installer et configurer fail2ban sur Ubuntu 20.04.

Installer Fail2ban sur Ubuntu

Pour commencer, ouvrez votre terminal et mettez à jour les listes de packages.

$ sudo apt update

Fail2Ban est déjà fourni avec la plupart des distributions Linux. Pour installer fail2ban à l'aide du gestionnaire de packages APT, exécutez :

$ sudo apt install fail2ban

Une fois installé, vérifiez s'il est en cours d'exécution en :

$ sudo systemctl status fail2ban

À partir de la sortie, nous pouvons voir que le service fail2ban est actif et fonctionne comme prévu.

Pour vérifier le processus fail2ban en cours d'exécution, tapez :

$ sudo ps -efww | egrep fail2ban

Sortie :

root     1310843       1  0 11:17 ?        00:00:02 /usr/bin/python3 /usr/bin/fail2ban-server -xf start

Génial. Voyons un aperçu des fichiers de configuration associés à Fail2ban et comment modifier les paramètres des adresses IP de la liste noire ou de la liste blanche.

Présentation des fichiers de configuration

Les fichiers de configuration de Fail2ban sont situés dans le /etc/fail2ban répertoire comme indiqué.

Les principaux fichiers de configuration sont /etc/fail2ban/jail.conf   et /etc/fail2ban/jail.d/defaults-debian.conf .

Quoi que vous fassiez, il n'est pas recommandé de modifier ces fichiers car il y a de fortes chances qu'ils soient écrasés lors de la mise à jour du package fail2ban.

Comme solution de contournement, la méthode recommandée pour configurer Fail2ban consiste à créer une copie du jail.conf fichier dans jail.local et définir plus tard vos propres paramètres. Vous n'êtes pas obligé d'inclure tous les paramètres du jail.conf fichier, uniquement ceux que vous souhaitez remplacer.

Alors, créons d'abord le jail.local fichier de configuration comme suit.

$ sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Maintenant, à l'aide de votre éditeur de texte préféré, ouvrez le fichier. Ici, j'utilise l'éditeur vim.

$ sudo vim /etc/fail2ban/jail.local

Adresses IP sur liste blanche

Utilisation du ignoreip directive, vous pouvez exclure les adresses IP, la plage d'adresses IP ou un sous-réseau entier de l'interdiction. C'est ici que vous ajoutez les adresses IP des machines distantes que vous souhaitez mettre en liste blanche ou autoriser l'accès en termes simples. Plusieurs adresses IP peuvent être ajoutées à l'aide d'espaces ou de virgules.

Par exemple, pour mettre en liste blanche les adresses IP 192.168.2.50 , 192.168.2.100 ajoutez les entrées comme suit.

 Paramètres d'interdiction

Les conditions d'interdiction sont définies par les paramètres suivants :

  1. bantime
  2. trouver le temps
  3. maxretry

bantime - Il s'agit de la période pendant laquelle une adresse IP est interdite ou se voit refuser l'accès de tenter de se reconnecter au serveur. Par défaut, il est réglé sur 10 min, mais n'hésitez pas à le régler selon vos préférences.

trouver le temps - Il s'agit de la durée entre les tentatives de connexion infructueuses avant qu'une interdiction ne soit mise en œuvre. Celui-ci est réglé sur 10min. Cela signifie que si vous tentez une connexion SSH et que les échecs atteignent le maxtry valeur dans un délai de 10 minutes, l'adresse IP à partir de laquelle vous vous connectez sera bannie.

maxretry - Cela représente le nombre maximum de tentatives de connexion infructueuses avant qu'une IP ne soit bannie. B par défaut, il est réglé sur 5 secondes, ce qui devrait être correct, mais je préférerais 3 secondes pour minimiser les bombardements de tentatives de connexion.

Notifications par e-mail

Fail2ban possède la capacité d'envoyer des alertes par e-mail une fois qu'une adresse IP a été bannie. Pour envoyer et recevoir des e-mails, vous devez avoir un serveur SMTP installé et configuré. Pour utiliser la fonction de notification par e-mail, ajoutez la ligne ci-dessous

action = %(action_mw)s

Le paramètre %(action_mw)s interdit l'adresse IP suspecte et envoie un e-mail à l'administrateur avec un rapport whois détaillé. Pour inclure les messages du journal, définissez le paramètre sur %(action_mwl)s .

Définissez en outre l'adresse e-mail d'envoi ainsi que le destinataire.

Prisons Fail2ban

Fail2ban modus operandi utilise le concept de prisons. Autrement dit, si l'adresse IP incriminée tente sans succès de se connecter ou d'accéder à un service, elle est placée dans une "prison" et ne peut pas établir de connexion avant le bantime s'écoule.

Une prison, en termes simples, est un service avec des filtres et des actions. Fail2ban examine les entrées de journal et une fois que les entrées de journal correspondantes sont identifiées et que les conditions sont remplies, les actions sont mises en œuvre.

La prison SSH est généralement activée par défaut pour mettre une laisse sur les connexions SSH malveillantes à partir d'adresses IP suspectes. Pour activer une prison pour un autre service, ajoutez simplement le enabled =true attribut après l'en-tête de la prison. Vous pouvez également fournir des paramètres d'interdiction comme nous l'avons vu précédemment.

Client Fail2ban

Fail2ban fournit un outil de ligne de commande pour interagir avec Fail2ban appelé fail2ban-client . Vous pouvez effectuer une myriade de tâches, y compris interdire et débannir des adresses IP.

Pour vérifier l'état de Fail2ban et voir s'il y a des IP interdites ou des filtres violés, exécutez la commande :

$ sudo fail2ban-client status sshd

La sortie ci-dessous confirme la présence d'une adresse IP interdite ou sur liste noire après des tentatives de connexion SSH infructueuses. L'adresse IP est actuellement dans la prison SSH.

Vous pouvez également filtrer le fichier fail2ban.log pour répertorier toutes les adresses IP interdites :

$ sudo zgrep 'Ban' /var/log/fail2ban.log*

Sortie :

2021-04-29 11:17:55,081 fail2ban.actions        [1310843]: NOTICE  [sshd] Ban 117.221.69.37
2021-04-29 11:17:55,123 fail2ban.actions        [1310843]: NOTICE  [sshd] Ban 49.233.251.133
2021-04-29 11:17:55,131 fail2ban.actions        [1310843]: NOTICE  [sshd] Ban 106.52.93.202
2021-04-29 11:17:55,139 fail2ban.actions        [1310843]: NOTICE  [sshd] Ban 222.187.232.205
2021-04-29 11:17:55,147 fail2ban.actions        [1310843]: NOTICE  [sshd] Ban 222.187.239.107

Pour débannir l'adresse IP de la liste noire, exécutez la commande :

$ sudo fail2ban-client set sshd unbanip 192.168.2.102

Maintenant, vérifiez à nouveau le statut de Fail2ban, et cette fois, l'IP bannie ne s'enregistre plus.

Pour interdire une adresse IP, tapez :

$ sudo fail2ban-client set sshd banip 192.168.2.102

Pour plus d'options de ligne de commande, exécutez la commande :

$ fail2ban-client -h

Conclusion

Gardez à l'esprit que Fail2ban ne remplace pas les pare-feu et autres mesures de sécurité utilisées pour protéger votre système. Il s'agit simplement d'une couche de sécurité supplémentaire qui donne à votre serveur une couche supplémentaire de protection contre les attaques par force brute, en particulier celles des robots et des scripts automatisés. Ceci conclut ce tutoriel sur l'installation et la configuration de Fail2ban sur Ubuntu 20.04.


Ubuntu
  1. Installer et configurer PHP OPcache sur Ubuntu 20.04

  2. Comment installer et configurer Fail2Ban sur Ubuntu 20.04

  3. Comment installer et configurer Fail2ban sur Ubuntu 20.04

  4. Comment installer et configurer Fail2ban sur Ubuntu ?

  5. Comment installer et configurer Fail2ban sur Ubuntu 20.04 LTS

Comment installer et configurer Solr 6 sur Ubuntu 16.04

Comment installer et configurer GitLab sur Ubuntu 16.04

Comment installer et configurer Cacti sur Ubuntu 20.04

Installer et configurer Git sur Ubuntu 16.04

Installer et configurer le serveur VNC sur Ubuntu 16.04

Installer et configurer Fail2ban sur Debian 11