GNU/Linux >> Tutoriels Linux >  >> Linux

Comment installer et configurer Fail2ban sur Alma Linux 8

Fail2ban est un système de prévention des intrusions gratuit et open-source écrit en Python. Il est utilisé pour protéger votre système contre les attaques par force brute. Il surveille en permanence les fichiers journaux SSH (et autres) pour les tentatives d'authentification, après un nombre spécifié de tentatives de mot de passe incorrectes, l'adresse IP du client est interdite par Fail2Ban. Il peut être utilisé pour sécuriser plusieurs services, notamment SSH, vsftpd, Apache et Webmin.

Dans ce tutoriel, je vais vous montrer comment installer le pare-feu Fail2Ban sur Alma Linux 8.

Prérequis

  • Un serveur exécutant Alma Linux 8.
  • Un mot de passe root est configuré sur le serveur.

Vérifier l'installation du pare-feu

Par défaut, le package Firewalld est préinstallé sur Alma Linux 8. Tout d'abord, vous devrez vérifier s'il est en cours d'exécution ou non. Vous pouvez le vérifier avec la commande suivante :

systemctl status firewalld

Si firewalld n'est pas en cours d'exécution, vous obtiendrez le résultat suivant :

? firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

Maintenant, démarrez le service firewalld avec la commande suivante :

systemctl start firewalld

Vous pouvez vérifier l'état du pare-feu à l'aide de la commande suivante :

systemctl status firewalld

Vous devriez voir le résultat suivant :

? firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: active (running) since Sat 2022-02-19 08:57:14 UTC; 40s ago
     Docs: man:firewalld(1)
 Main PID: 7214 (firewalld)
    Tasks: 2 (limit: 23696)
   Memory: 27.9M
   CGroup: /system.slice/firewalld.service
           ??7214 /usr/libexec/platform-python -s /usr/sbin/firewalld --nofork --nopid

Feb 19 08:57:14 linux systemd[1]: Starting firewalld - dynamic firewall daemon...
Feb 19 08:57:14 linux systemd[1]: Started firewalld - dynamic firewall daemon.

Maintenant, répertoriez tous les services configurés par firewalld à l'aide de la commande suivante :

firewall-cmd --list-all

Vous devriez voir le résultat suivant :

public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0 eth1
  sources: 
  services: cockpit dhcpv6-client ssh
  ports: 
  protocols: 
  forward: no
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

Installer Fail2Ban

Par défaut, le package Fail2Ban n'est pas disponible dans le référentiel par défaut d'Alma Linux. Vous devrez donc l'installer à partir du référentiel EPEL. Vous pouvez installer le référentiel EPEL avec la commande suivante :

dnf install epel-release -y

Une fois le dépôt EPEL installé, vous pouvez installer le pare-feu Fail2Ban avec la commande suivante :

dnf install fail2ban fail2ban-firewalld -y

Une fois l'installation terminée, démarrez et activez le service Fail2Ban avec la commande suivante :

systemctl start fail2ban
systemctl enable fail2ban

Vous pouvez vérifier l'état du service fail2ban en exécutant la commande :

systemctl status fail2ban

Vous devriez voir le résultat suivant :

? fail2ban.service - Fail2Ban Service
   Loaded: loaded (/usr/lib/systemd/system/fail2ban.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2022-02-19 08:58:34 UTC; 6s ago
     Docs: man:fail2ban(1)
  Process: 7838 ExecStartPre=/bin/mkdir -p /run/fail2ban (code=exited, status=0/SUCCESS)
 Main PID: 7840 (fail2ban-server)
    Tasks: 3 (limit: 23696)
   Memory: 10.8M
   CGroup: /system.slice/fail2ban.service
           ??7840 /usr/bin/python3.6 -s /usr/bin/fail2ban-server -xf start

Feb 19 08:58:34 linux systemd[1]: Starting Fail2Ban Service...
Feb 19 08:58:34 linux systemd[1]: Started Fail2Ban Service.
Feb 19 08:58:35 linux fail2ban-server[7840]: Server ready

Configurer Fail2Ban

Le fichier de configuration principal de Fail2Ban se trouve dans /etc/fail2ban/jail.conf . C'est une bonne idée de créer une copie du fichier de configuration principal. Vous pouvez le créer avec la commande suivante :

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

Par défaut, Fail2Ban utilise le pare-feu Iptables. Pour activer la prise en charge de firewalld, exécutez la commande suivante :

mv /etc/fail2ban/jail.d/00-firewalld.conf /etc/fail2ban/jail.d/00-firewalld.local

Ensuite, redémarrez le service Fail2Ban pour appliquer les modifications :

systemctl restart fail2ban

Sécuriser SSH avec Fail2Ban

Par défaut, Fail2Ban n'est pas configuré pour bloquer les adresses IP distantes. Vous devrez configurer le fichier de configuration de la prison Fail2Ban pour chaque service que vous souhaitez protéger.

Pour protéger le service SSH, créez un fichier de configuration jail pour SSH avec la commande suivante :

nano /etc/fail2ban/jail.d/sshd.local

Ajoutez les lignes suivantes :

# This configuration will block the remote host for 2 hours after 3 failed SSH login attempts. 
[sshd]
enabled = true
bantime = 2h
maxretry = 3

Enregistrez et fermez le fichier lorsque vous avez terminé, puis redémarrez le service SSH pour appliquer les modifications :

systemctl restart fail2ban

Vous pouvez maintenant vérifier la configuration de la prison avec la commande suivante :

fail2ban-client status

Vous obtiendrez la prison configurée dans la sortie suivante :

Status
|- Number of jail:	1
`- Jail list:	sshd

Pour vérifier la prison SSH pour toute adresse IP interdite, exécutez la commande suivante :

fail2ban-client status sshd

Vous obtiendrez toutes les listes d'adresses IP interdites dans la sortie suivante :

Status for the jail: sshd
|- Filter
|  |- Currently failed:	6
|  |- Total failed:	15
|  `- Journal matches:	_SYSTEMD_UNIT=sshd.service + _COMM=sshd
`- Actions
   |- Currently banned:	2
   |- Total banned:	2
   `- Banned IP list:	96.9.67.48 43.154.142.8

Si vous souhaitez débannir l'adresse IP manuellement, exécutez la commande suivante :

fail2ban-client unban remote-ip-address

Conclusion

Dans le guide ci-dessus, nous avons expliqué comment installer Fail2Ban sur Alma Linux 8. Nous avons également expliqué comment utiliser Fail2Ban pour sécuriser le service SSH. Vous pouvez désormais implémenter Fail2Ban dans l'environnement de production pour protéger votre système contre les attaques par force brute.


Linux
  1. Comment installer et configurer Nagios sous Linux

  2. Comment installer et configurer Memcached sur Ubuntu Linux

  3. Comment installer Fail2ban avec Firewalld sur Rocky Linux 8

  4. Comment installer et configurer Fail2ban sur Ubuntu ?

  5. Comment installer et configurer EMC PowerPath sous Linux

Comment installer et configurer Perf dans les distributions Linux

Comment installer et configurer Terraform dans les distributions Linux

Comment installer et configurer Gradle sur les distributions Linux

Comment installer et configurer Git sur les distributions Linux

Comment installer et configurer Yarn sur les distributions Linux

Comment installer et configurer Spotify sur les distributions Linux