← All guides
Fail2ban
Fail2ban watches service log files for repeated authentication failures and automatically bans offending IPs via firewall rules, using per-service 'jails' you enable in jail.local.
This guide is synthesized from Fail2ban's own official documentation, linked above — always cross-check exact package/version names there before running these commands on a production server, since distro and project versions move over time.
1Install the package
Fail2ban is already packaged for Debian/Ubuntu, which is the officially recommended way to install it rather than building from source.
sudo apt updatesudo apt install fail2ban2Create a local jail configuration
jail.conf is overwritten on updates — a jail.local override is the documented way to keep customizations safe.
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.localEdit jail.local to enable jails (e.g. [sshd]) and adjust bantime/findtime/maxretry.
3Enable and start the service
sudo systemctl enable --now fail2bansudo fail2ban-client status