GNU/Linux >> Belajar Linux >  >> Linux

Fail2Ban Howto:Memblokir Alamat IP Menggunakan Fail2ban dan IPTables

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

Linux
  1. Cara memblokir alamat palsu lokal menggunakan firewall Linux

  2. Pertanyaan IPTables dan DHCP?

  3. Menggunakan Linux IPTables, Bagaimana cara memblokir torrent atau protokol P2P lainnya?

  1. Cara memblokir alamat IP di server Linux

  2. Memblokir semua lalu lintas dari masing-masing negara menggunakan IPSet dan IPTables

  3. Memblokir daftar hitam host dan iptables

  1. Iptables Dan Proxy Transparan?

  2. Blokir Alamat IP dan Negara menggunakan .htaccess

  3. Bagaimana cara mengizinkan atau memblokir port dan Alamat IP menggunakan Firewalld, tabel IP, dan UFW di Linux?