Fail2Ban ialah alat keselamatan yang sangat berguna untuk melindungi pelayan (server) anda daripada serangan siber seperti brute-force login, scanning bot, dan percubaan akses tidak sah. Dalam panduan ini, kami akan menunjukkan langkah demi langkah cara memasang dan mengkonfigurasi Fail2Ban pada VPS yang menjalankan sistem operasi Linux seperti Ubuntu atau CentOS.
Apakah Fail2Ban?
Fail2Ban ialah perisian sumber terbuka yang memantau log sistem dan aplikasi untuk mengesan corak serangan yang mencurigakan, terutamanya percubaan log masuk yang berulang kali gagal. Apabila satu IP dikenalpasti sebagai sumber serangan, Fail2Ban akan menyekat IP tersebut menggunakan firewall selama tempoh tertentu.
Keperluan Sistem
Sebelum mula, pastikan:
- Anda mempunyai akses root atau sudo ke VPS anda.
- VPS menjalankan sistem operasi Linux seperti Ubuntu, Debian, CentOS atau Fedora.
- Firewall seperti iptables atau firewalld diaktifkan.
Langkah 1: Pasang Fail2Ban
Untuk Ubuntu/Debian:
sudo apt update
sudo apt install fail2ban -y
Untuk CentOS/Fedora:
sudo dnf install epel-release -y
sudo dnf install fail2ban -y
Langkah 2: Salin dan Sunting Fail Konfigurasi
Fail2Ban menyertakan konfigurasi lalai yang tidak digalakkan untuk disunting secara terus. Sebaliknya, salin fail tersebut dan buat versi tersuai.
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Kemudian sunting fail jail.local:
sudo nano /etc/fail2ban/jail.local
Langkah 3: Konfigurasi Umum Fail2Ban
Di dalam fail jail.local, anda boleh tetapkan beberapa parameter global seperti berikut:
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 5
backend = auto
ignoreip = 127.0.0.1/8
Penjelasan:
- bantime: Tempoh (dalam saat) IP akan disekat. Contohnya, 3600 = 1 jam.
- findtime: Tempoh waktu Fail2Ban mengira percubaan gagal.
- maxretry: Bilangan maksimum cubaan gagal sebelum IP disekat.
- ignoreip: Senarai IP yang tidak akan disekat, seperti localhost.
Langkah 4: Aktifkan Jail (Peraturan) untuk Perkhidmatan Tertentu
Setiap perkhidmatan seperti SSH, Nginx atau Postfix memerlukan “jail” tersendiri. Contoh untuk SSH:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
Untuk pelayan CentOS, logpath mungkin berbeza:
logpath = /var/log/secure
Langkah 5: Mulakan dan Aktifkan Fail2Ban
Setelah konfigurasi selesai, mulakan dan aktifkan servis Fail2Ban:
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
Semak status:
sudo systemctl status fail2ban
Langkah 6: Semak Jail Aktif
Untuk melihat jail yang aktif dan bilangan IP yang telah disekat:
sudo fail2ban-client status
Untuk melihat maklumat terperinci bagi jail tertentu (contoh sshd):
sudo fail2ban-client status sshd
Langkah 7: Buka atau Buang IP yang Disekat
Untuk membenarkan semula IP yang telah disekat:
sudo fail2ban-client set sshd unbanip 192.168.1.100
Gantikan 192.168.1.100 dengan IP sebenar.
Tips Tambahan
- Semak log Fail2Ban di /var/log/fail2ban.log.
- Guna iptables -L untuk menyemak senarai IP yang sedang disekat.
- Gunakan whitelist IP rumah atau pejabat anda dalam ignoreip.
Kesimpulan
Fail2Ban merupakan alat penting bagi mengukuhkan keselamatan VPS anda. Ia mudah dipasang dan disesuaikan untuk pelbagai perkhidmatan. Dengan konfigurasi yang betul, anda dapat mengelakkan pelayan anda daripada menjadi sasaran serangan automatik dan mengurangkan risiko kompromi keselamatan.
Jangan lupa untuk sentiasa mengemaskini sistem dan Fail2Ban untuk perlindungan maksimum.