Fail2ban : Installation et première configuration

1872 IP actuellement bannies, 3311 déjà bannies
1872 IP actuellement bannies…

Ayant choisi d’héberger mes propres services sur un serveur dédié, j’ai très très vite compris qu’il allait falloir mettre en place un logiciel contre le bruteforce. Sur Linux le plus simple à mettre en place est fail2ban. Je vais donc profiter de cette installation pour vous faire un petit tutoriel sur les bases de l’installation et la configuration de fail2ban

Installation

Tout d’abord l’installation. Pour cela rien de bien complexe, un dnf install (yum install sur RHEL 6/7) :

# dnf install fail2ban

On démarre le service et on l’active au démarrage :

# systemctl enable fail2ban
# systemctl start fail2ban

Configuration

N’hésitez pas à jeter un œil aux fichiers de configuration :

# more /etc/fail2ban/jail.conf
# more /etc/fail2ban/fail2ban.conf

On va créer notre configuration pour protéger le service sshd :

# more /etc/fail2ban/jail.d/custom.conf
[DEFAULT]
ignoreip = 127.0.0.1
findtime = 3600
bantime = 1209600
maxretry = 5

[sshd]
enabled = true
port = 22
logpath = /var/log/auth.log
maxretry = 5

Comme vous pouvez le constater, je bannis les applications ayant 5 mauvaises tentatives d’authentification en 1h pour une durée de 14 jours.

Il est maintenant nécessaire de redémarrer pour que notre config soit prises en compte :

# systemctl restart fail2ban

Vérification :

# fail2ban-client status sshd
Status for the jail: sshd
|- Filter
| |- Currently failed: 7
| |- Total failed: 68
| - Journal matches: _SYSTEMD_UNIT=sshd.service + _COMM=sshd – Actions
|- Currently banned: 514
|- Total banned: 514
`- Banned IP list:X.X.X.X X.X.X.X ….

On peut maintenant constater les logs :

# more /var/log/fail2ban.log
2020-07-12 05:06:36,091 fail2ban.filter [884]: INFO [sshd] Found X.X.X.X- 2020-07-12 05:06:35
2020-07-12 05:06:45,562 fail2ban.actions [884]: NOTICE [sshd] Unban X.X.X.X
2020-07-12 05:08:16,936 fail2ban.actions [884]: NOTICE [sshd] Unban X.X.X.X
2020-07-12 05:08:52,234 fail2ban.actions [884]: NOTICE [sshd] Unban X.X.X.X
2020-07-12 05:08:58,340 fail2ban.filter [884]: INFO [sshd] Found X.X.X.X – 2020-07-12 05:08:57
2020-07-12 05:09:00,199 fail2ban.filter [884]: INFO [sshd] Found X.X.X.X – 2020-07-12 05:08:59
2020-07-12 05:09:00,681 fail2ban.actions [884]: NOTICE [sshd] Ban X.X.X.X
2020-07-12 05:10:10,592 fail2ban.actions [884]: NOTICE [sshd] Unban X.X.X.X
2020-07-12 05:11:11,340 fail2ban.filter [884]: INFO [sshd] Found X.X.X.X – 2020-07-12 05:11:10
2020-07-12 05:11:11,922 fail2ban.actions [884]: NOTICE [sshd] Ban X.X.X.X
2020-07-12 05:11:13,089 fail2ban.filter [884]: INFO [sshd] Found X.X.X.X- 2020-07-12 05:11:12

Voila pour l’installation et la configuration basique de fail2ban. N’hésitez pas à pousser un petit plus loin l’installation en fonction de vos services (httpd, imap, etc…).

Sources :

https://doc.ubuntu-fr.org/fail2ban

https://serverfault.com/questions/841183/how-to-show-all-banned-ip-with-fail2ban

Si cette article vous a plus n’hésitez pas à découvrir mes autres articles systèmes :

https://adminlinux.fr/category/systemes/

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *