====== Using Fail2Ban on Linux ====== ===== Install Fail2Ban ===== Use your package manager of choice to install fail2ban. In my case, since I'm using Ubuntu: sudo apt install fail2ban ===== Configure Fail2Ban ===== There are two main configuration files in Fail2Ban: * /etc/fail2ban/fail2ban.conf This is the configuration file for the operational settings of the Fail2Ban daemon. Settings like loglevel, log file, socket and pid file is defined here. * /etc/fail2ban/jail.conf This is the file where you can configure things like default ban time, number of reties before banning an IP, whitelisting IPs, mail sending information etc. Start by creating a local copy of the files with: cd /etc/fail2ban && cp jail.conf jail.local && cp fail2ban.conf fail2ban.local Edit the files at your will. The recommendation is to leave the .conf files alone, and change only the .local files. ==== A Recommendation ==== jail.local bantime = 30m findtime = 24m # Set FindTime for an entire day maxretry = 5 fail2ban.local ===== Enable Fail2Ban ===== Start the service with: systemctl start fail2ban If you don't receive any error, set it to auto run with: systemctl enable fail2ban ===== Log and Management ===== You can **check the log** with: cat /var/log/fail2ban.log See **banned IPs** with: fail2ban-client status **Unban** an IP with: fail2ban-client set unbanip Add a **Whitelist IP** with: fail2ban-client set addignoreip