====== Fail2ban ======
===== Installation =====
==== Debian ====
En root :
apt install fail2ban
Fail2ban est un service, une fois installer il se lancera automatiquement, et sera actif au démarrage de la machine.
===== Utilisation =====
==== Statuts ====
Exemple pour ssh, taper: ''fail2ban-client status sshd''
==== Bannir manuellement ====
Exemple pour ssh, taper: ''fail2ban-client set sshd banip 192.168.1.2''
==== De-bannir manuellement ====
* Exemple pour ssh, taper: ''fail2ban-client set sshd unbanip 192.168.1.2''
* Exemple pour toutes les IP, taper: ''fail2ban-client unban --all''
===== Configurations =====
==== Configurations générales ====
La configuration générale se trouve dans la section''[DEFAULT]'', modifiable en root dans ''/etc/fail2ban/jail.conf''. Ces configurations sont appliquées si elles ne sont pas indiquées dans les jails.
* bantime: temps de bannissement, exemple: ''bantime = 50m''
* maxretry: nombre d'essai max avant bannissement, exemple: ''maxretry = 3''
* findtime: temps entre pendant lequel s'applique le nombre max. d'essai, exemple: ''findtime = 5m''
* Liste blanche: une IP, une IP avec [[https://fr.wikipedia.org/wiki/Adresse_IP#Agr%C3%A9gation_des_adresses|CIDR masks]], ou un hosts, exemple: ''ignoreip = 127.0.0.1/8 192.168.1.0/8 42.50.26.154''
Après un changement dans la configuration, relancer fail2ban en root: ''service fail2ban restart''
==== Jail ssh ====
En root, dans ''/etc/fail2ban/jail.conf'', chercher la section ''[sshd]'', voir exemple de configuration ci-dessous.
[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
maxretry = 2
bantime = 30m
findtime = 2m
==== Jail samba ====
En root, à la fin de ''/etc/fail2ban/jail.conf'', ajouter la jail ''[samba]'' comme ceci:
[samba]
enabled = true
port = 135,139,445,137,138
filter = samba
logpath = /var/log/syslog
En root, ajouter le fichier filtre ''/etc/fail2ban/filter.d/samba.conf'', et le remplir avec ceci:
[INCLUDES]
before = common.conf
[Definition]
_daemon = smbd
failregex = ^%(__prefix_line)s.*[aA]uthentication for user .* from .* FAILED\s.*$
^%(__prefix_line)s.*Failed [-/\w]+ for .* from \s.*$
^%(__prefix_line)s.*ROOT LOGIN REFUSED .* FROM \s.*$
^%(__prefix_line)s.*[iI](?:llegal|nvalid) user .* from \s.*$
^%(__prefix_line)s.*Denied connection from \s.*$
===== Références =====
* https://www.fail2ban.org
* https://github.com/fail2ban/fail2ban
* https://fr.wikipedia.org/wiki/Fail2ban
* https://fr.wikipedia.org/wiki/Adresse_IP#Agr%C3%A9gation_des_adresses
* https://wiki.visionduweb.fr/index.php/Installer_et_utiliser_Fail2ban