Pada tutorial kali ini saya akan membahas mengenai Fail2ban.
Fail2ban merupakan sebuah tools opensource yang berguna untuk melakukan Ban terhadap IP tertentu. Fail2ban melakukan blokir terhadap IP yang melakukan pengujian login (brute force login) ke server. Jika dalam rentang tertentu IP tersebut selalu gagal untuk login (username/password salah), maka fail2ban akan memblokir IP tersebut. Untuk Lebih Jelasnya, berikut skema kerja dari Fail2ban:
Untuk melakukan pemblokiran IP, Fail2ban tetap menggunakan Iptables. Iptables mendapatkan perintah dari Fail2ban untuk memblokir IP tertentu. Untuk melakukan pemblokiran IP, fail2ban membaca hasil Log File dari services tertentu.
Langsung saja bagaimana untuk melakukan konfigurasi fail2ban di Centos 7
1. Install Centos 7 seperti Biasa
2. Disable SELinux dan Matikan Firewalld serta install Iptables-Services
# nano /etc/selinux/comfig
SELINUX=disabled
# systemctl mask firewalld
# systemctl stop firewalld
# systemctl disable firewalld
# yum install epel-release
# yum install iptables-services
# systemctl enable iptables-services
# systemctl start iptables-services
3. Restart Server
# init 6
4. Setelah direstart, Install Fail2ban
# yum install fail2ban fail2ban-systemd
5. Buatlah rule baru untuk setiap services. Misalnya saya akan melakukan proteksi pada port SSH. Setiap ada yang mencoba login menggunakan SSH dan selalu gagal lebih dari 10 kali, maka IP tersebut akan diblok.
# nano /etc/fail2ban/jail.d/sshd.local
[ssh–iptables]
enabled = true
filter = sshd
action = iptables[name=SSH, port=22, protocol=tcp]
logpath = %(sshd_log)s
maxretry = 10
bantime = 86400
6. Restart Fail2ban
# service fail2ban restart
7. Lakukan Pengujian, saya akan mencoba login ke server menggunakan SSH tapi selalu Gagal
Setelah mencoba beberapa kali login salah, tiba-tiba saya tidak bisa mengakses SSH lagi dengan error “Connection refused”. Setelah dilihat diserver, IP saya sudah diblok oleh Fail2ban karena saya mencoba login beberapa kali tapi selalu salah.
Sekian tutorial tentang Fail2ban. Fail2ban ini bisa diterapkan pada service apapun, misalnya FTP, HTTP, Proxy, SMTP,POP,IMAP, dan lain-lain. Tinggal membuat file baru di /etc/fail2ban/jail.d/ dan sesuaikan rulesnya.