
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 :