Cara menggunakan fail2ban untuk mengamankan server linux Anda
- 3491
- 168
- Simon Cormier
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 fail2banJika 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 Fail2banUntuk 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 Fail2BanKesimpulan
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.
- « Cara Menginstal dan Mengkonfigurasi Node Kontrol Ansible - Bagian 2
- Cara Menginstal Apache ActiveMQ di Debian 10 »