Cara Menggunakan Fail2Ban untuk Mengamankan Pelayan Linux Anda

Cara Menggunakan Fail2Ban untuk Mengamankan Pelayan Linux Anda

Meningkatkan keselamatan pelayan anda harus menjadi salah satu keutamaan anda ketika mengurus pelayan Linux. Dengan mengkaji log pelayan anda, anda mungkin sering menemui percubaan yang berbeza untuk log masuk kekerasan, banjir web, mencari mencari dan banyak lagi.

Dengan perisian pencegahan pencerobohan seperti gagal2ban, Anda boleh memeriksa log pelayan anda dan menambah peraturan iptables tambahan untuk menyekat alamat IP yang bermasalah.

Baca juga: Cara Memasang Fail2Ban untuk Melindungi SSH di CentOS/RHEL 8

Tutorial ini akan menunjukkan kepada anda cara memasang gagal2ban dan persediaan konfigurasi asas untuk melindungi sistem Linux anda dari serangan kekerasan.

Keperluan

Fail2ban ditulis dalam python dan satu -satunya keperluan adalah untuk memasang Python:

  • Fail2Ban Cawangan 0.9.x memerlukan python> = 2.6 atau python> = 3.2
  • Fail2Ban Cawangan 0.8.x memerlukan python> = 2.4
  • Akses root ke sistem anda
  • Secara pilihan, iptables atau showewall dan sendmail

Cara Memasang Fail2Ban dalam Sistem Linux

Pemasangan gagal2ban agak mudah:

Pasang Fail2Ban pada CentOS/RHEL

Pertama, kemas kini pakej anda, aktifkan Epel repositori dan pasang gagal2ban seperti yang ditunjukkan.

# yum kemas kini # yum pasang epel-release # yum install fail2ban 

Pasang Fail2Ban di Debian/Ubuntu

Pertama, kemas kini pakej dan pasang anda gagal2ban seperti yang ditunjukkan.

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

Secara pilihan, jika anda ingin mengaktifkan sokongan mel (untuk pemberitahuan mel), anda boleh memasang Sendmail.

# yum pasang sendmail [pada Centos/RHEL] # apt-get pasang sendmail sendmail [on Debian/Ubuntu] 

Bagi membolehkan gagal2ban dan hantar surat Gunakan arahan berikut:

# Systemctl Mula Fail2Ban # Systemctl Dayakan Fail2Ban # Systemctl Mula Sendmail # Systemctl Dayakan Sendmail 

Cara Mengkonfigurasi Fail2Ban dalam Sistem Linux

Secara lalai, gagal2ban menggunakan .Conf fail yang terletak di /etc/fail2ban/ yang dibaca dahulu. Walau bagaimanapun, mereka boleh ditindih oleh .tempatan fail yang terletak di direktori yang sama.

Oleh itu, .tempatan fail tidak perlu memasukkan semua tetapan dari .Conf fail, tetapi hanya yang anda mahu menimpa. Perubahan harus dibuat di .tempatan fail, bukan di .Conf. Ini akan menghalang perubahan menimpa semasa menaik taraf paket Fail2Ban.

Untuk tujuan tutorial ini, kami akan menyalin yang ada gagal2ban.Conf fail ke gagal2ban.tempatan.

# cp/etc/fail2ban/fail2ban.conf/etc/fail2ban/fail2ban.tempatan 

Sekarang anda boleh membuat perubahan dalam .tempatan fail dengan menggunakan editor teks kegemaran anda. Nilai yang boleh anda edit adalah:

  • Loglevel - ini adalah tahap perincian yang akan dilog masuk. Pilihan yang mungkin adalah:
    • Kritikal
    • Ralat
    • Amaran
    • NOTIS
    • Maklumat
    • Debug
  • logtarget - Log tindakan dalam fail tertentu. Nilai lalai adalah /var/log/fail2ban.log. Anda boleh, bagaimanapun, mengubahnya ke:
    • Stdout - output sebarang data
    • Stderr - mengeluarkan sebarang kesilapan
    • SYSLOG - Pembalakan berasaskan mesej
    • Fail - output ke fail
  • soket - direktori di mana fail soket akan diletakkan.
  • pidfile - Lokasi pidfile.

Konfigurasikan Fail2Ban Jail.tempatan

Salah satu fail terpenting dalam fail2ban adalah penjara.Conf yang mentakrifkan penjara anda. Di sinilah anda menentukan perkhidmatan yang fail2ban harus diaktifkan.

Seperti yang telah disebutkan sebelumnya .Conf fail boleh diubah semasa peningkatan, oleh itu anda harus membuat a penjara.tempatan fail di mana anda boleh menggunakan pengubahsuaian anda.

Cara lain untuk melakukan ini adalah dengan hanya menyalin .Conf fail dengan:

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

Sekiranya anda menggunakan Centos atau Fedora, anda perlu menukar backend dalam penjara.tempatan dari "Auto" ke "Systemd".

Dayakan backend di fail2ban

Sekiranya anda menggunakan Ubuntu/Debian, tidak perlu membuat pengubahsuaian ini, walaupun mereka juga menggunakan sistemd.

Fail penjara akan membolehkan SSH secara lalai untuk Debian dan Ubuntu, Tetapi tidak Centos. Sekiranya anda ingin mengaktifkannya, hanya ubah baris berikut /etc/fail2ban/penjara.tempatan:

[sshd] didayakan = benar 
Melarang dan mencuba masa

Anda boleh mengkonfigurasi keadaan selepas alamat IP disekat. Untuk tujuan itu, gagal2ban penggunaan Banttime, findtime dan maxretry.

  • Banttime - Ini adalah bilangan detik yang alamat IP akan terus dilarang (lalai 10 min).
  • findtime - Jumlah masa antara percubaan log masuk, sebelum tuan rumah dilarang. (lalai 10 min). Dengan kata lain, jika fail2ban ditetapkan untuk menyekat alamat IP selepas 3 percubaan masuk yang gagal, mereka 3 percubaan, mesti dilakukan dalam tempoh penemuan (10 min).
  • maxretry - Bilangan percubaan dibuat sebelum larangan digunakan. (lalai 3).
Alamat IP Whitelist

Sudah tentu, anda akan mahu memaparkan senarai alamat IP tertentu. Untuk mengkonfigurasi alamat IP tersebut terbuka /etc/fail2ban/penjara.tempatan dengan editor teks kegemaran anda dan uncomment baris berikut:

AbaikanP = 127.0.0.1/8 :: 1 

Kemudian, anda boleh meletakkan alamat IP yang anda mahu diabaikan. Alamat IP harus dipisahkan dari ruang atau koma.

Makluman e -mel

Sekiranya anda ingin menerima makluman mel atas acara tersebut, anda perlu mengkonfigurasi tetapan berikut /etc/fail2ban/penjara.tempatan:

  • Desemail - alamat mel, di mana anda akan menerima pemberitahuan.
  • Nama pengirim - Pengirim yang akan anda lihat ketika menerima mesej.
  • pengirim - Alamat e -mel dari mana Fail2ban akan menghantar e -mel.

Lalai MTA (ejen pemindahan mel) ditetapkan ke hantar surat.

Untuk menerima pemberitahuan mel, anda juga perlu menukar "tindakan" menetapkan dari:

Tindakan = %(action_) s 

Kepada salah satu daripada ini:

tindakan = %(action_mw) s tindakan = %(action_mwl) s 
  • %(action_mw) s - akan mengharamkan tuan rumah dan menghantar surat dengan laporan WHOIS.
  • %(action_mwl) s - akan mengharamkan tuan rumah, memberikan maklumat WHOIS dan semua maklumat yang relevan dari fail log.

Konfigurasi Penjara Fail2Ban tambahan

Setakat ini kami telah melihat pilihan konfigurasi asas. Sekiranya anda ingin mengkonfigurasi penjara, anda perlu membolehkannya di penjara.tempatan fail. Sintaks cukup mudah:

[Jail_TO_ENABLE] ... enabled = true 

Di mana anda harus menggantikan Penjara_TO_ENABLE Dengan penjara sebenar, sebagai contoh, "SSHD". Di dalam penjara.tempatan Fail, nilai berikut akan dipratentukan untuk perkhidmatan SSH:

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

Anda boleh mengaktifkan penapis yang akan membantu mengenal pasti jika garis dalam log adalah yang gagal. Nilai penapis sebenarnya adalah rujukan kepada fail dengan nama perkhidmatan yang diikuti oleh .Conf. Sebagai contoh: /etc/fail2ban/penapis.D/SSHD.Conf.

Sintaks adalah:

penapis = perkhidmatan 

Sebagai contoh:

penapis = sshd 

Anda boleh menyemak penapis sedia ada dalam direktori berikut: /etc/fail2ban/penapis.d/.

Gunakan Fail2Ban-Client

Fail2ban dilengkapi dengan pelanggan yang boleh digunakan untuk mengkaji dan mengubah konfigurasi semasa. Oleh kerana ia menyediakan banyak pilihan, anda boleh melalui manualnya dengan:

# Man Fail2Ban-Client 

Di sini anda akan melihat beberapa arahan asas yang boleh anda gunakan. Untuk mengkaji status semasa gagal2ban Atau untuk penjara tertentu, anda boleh menggunakan:

# Fail2Ban-Client Status 

Hasilnya akan kelihatan serupa dengan ini:

Semak status Fail2Ban

Untuk penjara individu, anda boleh berlari:

# fail2ban-klien status sshd 

Dalam tangkapan skrin di bawah, anda akan melihat bahawa saya sengaja gagal banyak log masuk supaya Fail2Ban dapat menyekat alamat IP yang saya cuba sambungkan:

Periksa status SSH Fail2Ban
Kesimpulan

Gagal2ban adalah sistem pencegahan pencerobohan yang sangat baik dan didokumentasikan dengan baik, yang memberikan keselamatan tambahan kepada sistem Linux anda. Ia memerlukan sedikit masa untuk membiasakan diri dengan persediaan dan sintaksnya, tetapi apabila anda membiasakan diri dengannya, anda akan berasa bebas untuk mengubah dan melanjutkan peraturannya.