Fail2ban memindai file log untuk berbagai layanan ( SSH, FTP, SMTP, Apache, dll., ) dan melarang IP yang membuat terlalu banyak kegagalan kata sandi. Ini juga memperbarui aturan firewall untuk menolak alamat ip ini.
Fail2ban adalah kerangka kerja pencegahan intrusi yang ditulis dalam bahasa pemrograman Python.
Tujuan utama Fail2ban adalah untuk mencegah serangan login brute force.
Juga, lihat artikel kami sebelumnya tentang Tripwire (sistem deteksi intrusi berbasis host Linux).
Instal Fail2ban
Untuk menginstal fail2ban dari sumber, unduh dari sourceforge..
Gunakan apt-get untuk menginstal Fail2ban pada sistem berbasis Debian seperti yang ditunjukkan di bawah ini.
# apt-get install fail2ban
Anda juga dapat menginstal Fail2ban secara manual dengan mengunduh paket deb fail2ban.
# dpkg -i fail2ban_0.8.1-1_all.deb
Cara mengkonfigurasi fail2ban
Semua file konfigurasi Fail2ban berada di bawah direktori /etc/fail2ban.
/etc/fail2ban/fail2ban.conf
Tujuan utama dari file ini adalah untuk mengonfigurasi arahan terkait log fail2ban.
- Loglevel:Menyetel output level log.
- logtarget :Tentukan jalur file log
Tindakan yang diambil oleh Fail2ban dicatat dalam file /var/log/fail2ban.log. Anda dapat mengubah verbositas dalam file conf menjadi salah satu dari:1 – ERROR, 2 – WARN, 3 – INFO atau 4 – DEBUG.
/etc/fail2ban/jail.conf
File jail.conf berisi deklarasi konfigurasi layanan. File konfigurasi ini dipecah menjadi konteks yang berbeda. Setelan DEFAULT berlaku untuk semua bagian.
Bagian DEFAULT dari jail.conf berikut mengatakan bahwa setelah lima kali upaya akses gagal dari satu alamat IP dalam 600 detik atau 10 menit (findtime), alamat itu akan otomatis diblokir selama 600 detik (bantime).
[DEFAULT] ignoreip = 127.0.0.1 maxretry = 5 findtime = 600 bantime = 600
- ignoreip:Ini adalah daftar alamat IP yang dipisahkan spasi yang tidak dapat diblokir oleh fail2ban.
- maxretry:Jumlah maksimum upaya login yang gagal sebelum host diblokir oleh fail2ban.
- bantime:Waktu dalam detik host diblokir jika tertangkap oleh fail2ban (600 detik =10 menit).
Konfigurasi Layanan
Secara default, beberapa layanan dimasukkan sebagai template. Berikut adalah contoh bagian layanan ssh.
[ssh] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log action = iptables
- enabled :Mengaktifkan pemeriksaan fail2ban untuk layanan ssh
- port:port layanan ( dirujuk dalam file /etc/services )
- filter:Nama filter yang akan digunakan oleh layanan untuk mendeteksi kecocokan. Nama ini sesuai dengan nama file di '/etc/fail2ban/filter.d'; tanpa ekstensi '.conf'. Misalnya:‘filter =sshd’ mengacu pada ‘/etc/fail2ban/filter.d/sshd.conf’.
- logpath:File log yang memeriksa fail2ban untuk upaya login yang gagal.
- Tindakan:Opsi ini memberi tahu fail2ban tindakan mana yang harus diambil setelah filter cocok. Nama ini sesuai dengan nama file di '/etc/fail2ban/action.d/' tanpa ekstensi '.conf'. Misalnya:‘action =iptables’ mengacu pada /etc/fail2ban/action.d/iptables.conf’.
Fail2ban akan memantau file /var/log/auth.log untuk upaya akses yang gagal, dan jika menemukan upaya login ssh yang gagal berulang kali dari alamat IP atau host yang sama, fail2ban menghentikan upaya login lebih lanjut dari alamat IP/host tersebut dengan memblokirnya dengan aturan firewall iptables fail2ban.
Filter Fail2ban
Direktori /etc/fail2ban/filter.d berisi ekspresi reguler yang digunakan untuk mendeteksi upaya pembobolan, kegagalan sandi, dll., untuk berbagai layanan.
Misalnya:
- sshd.conf – Filter terkait Fail2ban ssh
- apache-auth.conf – Fail2ban filter layanan apache
Kami juga dapat menambahkan ekspresi reguler kami sendiri untuk menemukan tindakan yang tidak diinginkan.
Tindakan Fail2ban
Direktori /etc/fail2ban/action.d berisi skrip berbeda yang mendefinisikan tindakan yang akan dijalankan setelah filter cocok. Hanya satu filter yang diizinkan per layanan, tetapi dimungkinkan untuk menentukan beberapa tindakan, pada baris terpisah.
Misalnya:
- IPtables.conf – memblokir &membuka blokir alamat IP
- Mail.conf – Mengirim email ke pengguna yang dikonfigurasi
Memulai/Menghentikan Layanan Fail2ban
Setelah melakukan perubahan konfigurasi, hentikan dan mulai daemon Fail2ban seperti yang ditunjukkan di bawah ini.
# /etc/init.d/fail2ban stop # /etc/init.d/fail2ban start