====== 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