Ultimate Guide to Fail2ban - Secure Your Linux Server Against Brute Force Attacks
Security

Ultimate Guide to Fail2ban - Secure Your Linux Server Against Brute Force Attacks

  • AuthorLiam K.
  • Date
  • Time10 minutes

What is Fail2ban?

Fail2ban is an intrusion prevention software framework that protects Linux servers from brute-force attacks. It monitors system logs and automatically blocks suspicious IP addresses.

Prerequisites

  • A Linux server (Ubuntu, Debian, CentOS, etc.)
  • Root or sudo privileges
  • Basic understanding of Linux commands
  • Access to system logs

Installation

First, update your package list and install Fail2ban:

bash
sudo apt update
sudo apt install fail2ban

Configuration

Create a local configuration file to override the default settings:

bash
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local

Add basic configuration for SSH protection:

ini
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
findtime = 600

Starting Fail2ban

Enable and start the Fail2ban service:

bash
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

Monitoring

Check the status and view banned IPs:

bash
sudo fail2ban-client status
sudo fail2ban-client status sshd

"Security is not a product, but a process. Fail2ban is an essential tool in your Linux server security arsenal, providing automated protection against malicious attacks while you focus on building and maintaining your applications."

Technical Author

Liam K.

Liam K.

Founder of Trivox. Writes about how the platform, the network, and the Amsterdam sites fit together.