Cara menggunakan fail2ban untuk mengamankan server linux Anda

Cara menggunakan fail2ban untuk mengamankan server linux Anda

Meningkatkan keamanan server Anda harus menjadi salah satu prioritas utama Anda ketika datang untuk mengelola server Linux. Dengan meninjau log server Anda, Anda mungkin sering menemukan upaya berbeda untuk login brute force, banjir web, pencarian eksploitasi dan banyak lainnya.

Dengan perangkat lunak pencegahan intrusi seperti fail2ban, Anda dapat memeriksa log server Anda dan menambahkan aturan iptables tambahan untuk memblokir alamat IP yang bermasalah.

Baca juga: Cara memasang fail2ban untuk melindungi ssh di centos/rhel 8

Tutorial ini akan menunjukkan kepada Anda cara menginstal fail2ban dan mengatur konfigurasi dasar untuk melindungi sistem Linux Anda dari serangan brute-force.

Persyaratan

Fail2ban ditulis dalam python dan satu -satunya persyaratan adalah menginstal Python:

  • Cabang Fail2ban 0.9.x membutuhkan python> = 2.6 atau Python> = 3.2
  • Cabang Fail2ban 0.8.x membutuhkan python> = 2.4
  • Akses Root ke Sistem Anda
  • Secara opsional, iptables atau showewall dan sendmail

Cara menginstal fail2ban di sistem linux

Pemasangan fail2ban relatif mudah:

Pasang Fail2ban di Centos/Rhel

Pertama, perbarui paket Anda, aktifkan Epel Repositori dan instal fail2ban seperti yang ditunjukkan.

# yum update # yum install epel-rilis # yum install fail2ban 

Instal Fail2ban di Debian/Ubuntu

Pertama, perbarui paket Anda dan instal fail2ban seperti yang ditunjukkan.

# apt-get update && apt-get upgrade -y # apt-get install fail2ban 

Secara opsional, jika Anda ingin mengaktifkan dukungan surat (untuk pemberitahuan surat), Anda dapat menginstal SendMail.

# yum instal sendmail [on Centos/rhel] # apt-get install sendmail-bin sendmail [on Debian/Ubuntu] 

Untuk mengaktifkan fail2ban Dan sendmail Gunakan perintah berikut:

# systemctl start fail2ban # systemctl aktifkan fail2ban # systemctl start sendmail # systemctl aktifkan sendmail 

Cara mengkonfigurasi fail2ban di sistem linux

Secara default, fail2ban menggunakan .conf file terletak di /etc/fail2ban/ yang dibaca dulu. Namun, itu bisa ditimpa oleh .lokal file yang terletak di direktori yang sama.

Jadi, .lokal file tidak perlu memasukkan semua pengaturan dari .conf file, tetapi hanya yang ingin Anda ganti rugi. Perubahan harus dilakukan di .lokal file, bukan di .conf. Ini akan mencegah perubahan yang menimpa saat meningkatkan paket fail2ban.

Untuk tujuan tutorial ini, kami akan menyalin yang ada fail2ban.conf file ke fail2ban.lokal.

# cp/etc/fail2ban/fail2ban.conf/etc/fail2ban/fail2ban.lokal 

Sekarang Anda dapat membuat perubahan di .lokal file dengan menggunakan editor teks favorit Anda. Nilai yang dapat Anda edit adalah:

  • Loglevel - Ini adalah tingkat detail yang harus dicatat. Pilihan yang mungkin adalah:
    • KRITIS
    • KESALAHAN
    • PERINGATAN
    • MELIHAT
    • Info
    • Debug
  • LogTarget - Catat tindakan dalam file tertentu. Nilai defaultnya adalah /var/log/fail2ban.catatan. Anda dapat mengubah ini menjadi:
    • Stdout - output data apapun
    • Stderr - keluarkan kesalahan
    • Syslog - Pencatatan Berbasis Pesan
    • File - Output ke file
  • stopkontak - direktori di mana file soket akan ditempatkan.
  • Pidfile - Lokasi Pidfile.

Konfigurasikan Jail Fail2BAN.lokal

Salah satu file terpenting di Fail2ban adalah penjara.conf Yang mendefinisikan penjara Anda. Di sinilah Anda menentukan layanan yang harus diaktifkan Fail2Ban.

Seperti yang kami sebutkan sebelumnya .conf File dapat diubah selama peningkatan, sehingga Anda harus membuat a penjara.lokal file di mana Anda dapat menerapkan modifikasi.

Cara lain untuk melakukan ini adalah dengan sekadar menyalin .conf file dengan:

# cp/etc/fail2ban/penjara.conf/etc/fail2ban/penjara.lokal 

Jika Anda menggunakan Centos atau Fedora, Anda perlu mengubah backend di dalam penjara.lokal dari "mobil" ke "Systemd".

Aktifkan backend di fail2ban

Jika Anda menggunakan Ubuntu/Debian, tidak perlu membuat modifikasi ini, meskipun mereka juga menggunakan Systemd.

File penjara akan mengaktifkan SSH secara default Debian Dan Ubuntu, tapi tidak aktif Centos. Jika Anda ingin mengaktifkannya, cukup ubah baris berikut /etc/fail2ban/penjara.lokal:

[sshd] diaktifkan = true 
Ban dan coba lagi

Anda dapat mengonfigurasi keadaan setelah itu alamat IP diblokir. Untuk alasan tersebut, fail2ban penggunaan Bantime, Cari waktu Dan Maxretry.

  • Bantime - Ini adalah jumlah detik bahwa alamat IP akan tetap dilarang (default 10 min).
  • Cari waktu - Jumlah waktu antara upaya login, sebelum tuan rumah dilarang. (bawaan 10 min). Dengan kata lain, jika Fail2ban diatur untuk memblokir alamat IP setelahnya 3 Upaya login yang gagal, itu 3 upaya, harus dilakukan dalam periode findtime (10 menit).
  • Maxretry - Jumlah upaya yang harus dilakukan sebelum larangan diterapkan. (bawaan 3).
Alamat IP WhiteList

Tentu saja, Anda ingin memutarbalikkan alamat IP tertentu. Untuk mengonfigurasi alamat IP tersebut terbuka /etc/fail2ban/penjara.lokal Dengan editor teks favorit Anda dan unkomment baris berikut:

Abaikan = 127.0.0.1/8 :: 1 

Kemudian, Anda dapat meletakkan alamat IP yang ingin Anda abaikan. Alamat IP harus dipisahkan dari ruang atau koma.

Peringatan email

Jika Anda ingin menerima peringatan surat setelah acara tersebut, Anda harus mengkonfigurasi pengaturan berikut /etc/fail2ban/penjara.lokal:

  • Destemail - alamat surat, di mana Anda akan menerima pemberitahuan.
  • Nama pengirim - pengirim yang akan Anda lihat saat menerima pesan.
  • pengirim - Alamat email dari mana Fail2ban akan mengirim email.

Default MTA (agen transfer surat) diatur ke sendmail.

Untuk menerima pemberitahuan surat, Anda juga perlu mengubah "tindakan" Pengaturan dari:

Tindakan = %(action_) s 

Untuk salah satunya:

action = %(action_mw) s Action = %(action_mwl) s 
  • %(action_mw) s - akan melarang tuan rumah dan mengirim surat dengan laporan whois.
  • %(action_mwl) s - Akan melarang host, memberikan info whois dan semua informasi yang relevan dari file log.

Konfigurasi Penjara Gagal Tambahan

Sejauh ini kami telah melihat opsi konfigurasi dasar. Jika Anda ingin mengkonfigurasi penjara, Anda harus mengaktifkannya di penjara.lokal mengajukan. Sintaksnya cukup sederhana:

[jail_to_enable]… diaktifkan = true 

Dimana kamu harus mengganti Jail_to_enable dengan penjara yang sebenarnya, misalnya, "SSHD". Dalam penjara.lokal File, nilai -nilai berikut akan ditentukan sebelumnya untuk layanan SSH:

[sshd] port = ssh logpath = %(sshd_log) s 

Anda dapat mengaktifkan filter yang akan membantu mengidentifikasi jika garis dalam log adalah yang gagal. Nilai filter sebenarnya adalah referensi ke file dengan nama layanan diikuti oleh .conf. Misalnya: /etc/fail2ban/filter.d/sshd.conf.

Sintaksnya adalah:

filter = layanan 

Misalnya:

filter = sshd 

Anda dapat meninjau filter yang ada di direktori berikut: /etc/fail2ban/filter.D/.

Gunakan fail2ban-klien

Fail2ban dilengkapi dengan klien yang dapat digunakan untuk meninjau dan mengubah konfigurasi saat ini. Karena memberikan banyak pilihan, Anda dapat melalui manualnya dengan:

# man fail2ban-client 

Di sini Anda akan melihat beberapa perintah dasar yang dapat Anda gunakan. Untuk meninjau status saat ini fail2ban Atau untuk penjara tertentu, Anda dapat menggunakan:

# FAIL2BAN-CLIENT Status 

Hasilnya akan terlihat mirip dengan ini:

Periksa status Fail2ban

Untuk penjara individual, Anda dapat menjalankan:

# fail2ban-client status sshd 

Di tangkapan layar di bawah ini, Anda akan melihat bahwa saya sengaja gagal beberapa login sehingga Fail2ban dapat memblokir alamat IP dari mana saya mencoba untuk terhubung:

Periksa Status SSH Fail2Ban
Kesimpulan

Fail2ban adalah sistem pencegahan intrusi yang sangat baik dan terdokumentasi dengan baik, yang memberikan keamanan ekstra untuk sistem Linux Anda. Ini membutuhkan waktu untuk terbiasa dengan pengaturan dan sintaksnya, tetapi begitu Anda membiasakan diri dengannya, Anda akan merasa bebas untuk mengubah dan memperluas aturannya.