====== Fail2Ban ====== ===== Installation ===== apt-get install fail2ban ===== Configuration ===== "jail.conf" maybe gets overwritten by updates. Create your own config file cp -a /etc/fail2ban/jail.conf /etc/fail2ban/jail.local Things you should edit #Add any IP which you want NOT to be banned, use space for seperation ignoreip = 127.0.0.1/8 192.168.178.1 # "bantime" is the number of seconds that a host is banned. bantime = 86400 # A host is banned if it has generated "maxretry" during the last "findtime" # seconds. findtime = 1200 maxretry = 3 #Add this to check your ssh login attempts [ssh] enabled = true #port = ssh port = 22 filter = sshd #action = iptables[name=SSH, port=2022, protocol=tcp] # sendmail-whois-lines[name=SSH, dest="fail2ban@blocklist.de,YOURMAIL@MAIL.COM", sender=fail2ban@YOURSERVER.COM, sendername="Fail2Ban", logpath=/var/log/auth.log] logpath = /var/log/auth.log maxretry = 3 [vsftpd] enabled = true port = ftp,ftp-data,ftps,ftps-data filter = vsftpd logpath = /var/log/vsftpd.log # or overwrite it in jails.local to be # logpath = /var/log/auth.log # if you want to rely on PAM failed login attempts # vsftpd's failregex should match both of those formats maxretry = 3 # To log wrong MySQL access attempts add to /etc/my.cnf: # log-error=/var/log/mysqld.log # log-warning = 2 [mysqld-auth] enabled = true filter = mysqld-auth port = 3306 logpath = /var/log/mysql/error.log [repeatoffender] enabled = true filter = repeatoffender action = repeatoffender[name=repeatoffender] sendmail-whois[name=Repeat-Offender, dest=YOURMAIL@MAIL.COM, sender=fail2ban@YOURSERVER.COM] logpath = /var/log/fail2ban* maxretry = 3 #findtime is 365 days findtime = 31536000 bantime = -1 ===== Abusemails ===== Click the following link for more info about abuse automatisation\\ [[linux:ubuntu:blocklist|Blocklist]] ===== Commands ===== ==== Unban ==== fail2ban-client set unbanip #example fail2ban-client set ssh unbanip 192.168.178.1 ==== Ban ==== fail2ban-client set banip #example fail2ban-client set ssh banip 192.168.178.1 ==== Other ==== Get a list of commands fail2ban-client --help ===== Troubleshooting ===== ==== IP gets banned everytime ==== An IP listed in "ignoreip" still gets banned everytime you reload/restart/start your Fail2ban service.\\ __Reason:__ \\ The IP was banned before you added it to "ignoreip" \\ __Fix:__ \\ The IP is added to the file "ip.blocklist.repeatoffender". \\ Open the file and remove the IP.