GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Memasang dan Menggunakan Fail2ban di RHEL 8 / CentOS 8

Yang teratas dalam daftar setiap tim operasi TI adalah memastikan bahwa server aman dari pengguna yang tidak sah atau skrip berbahaya. Ada sejumlah solusi yang dapat Anda terapkan untuk menangkal serangan dan pelanggaran. Diantaranya adalah implementasi perangkat lunak Fail2ban.

Fail2ban adalah ukuran deteksi intrusi open-source yang mengurangi serangan brute-force yang menargetkan berbagai layanan seperti SSH, dan VSFTPD untuk menyebutkan beberapa. Muncul dengan serangkaian filter – termasuk SSH – yang dapat Anda sesuaikan untuk memperbarui aturan firewall dan memblokir upaya login SSH yang tidak sah.

Utilitas fail2ban memonitor file log server untuk setiap upaya intrusi dan memblokir alamat IP pengguna setelah sejumlah upaya gagal yang telah ditentukan untuk durasi tertentu. IP pengguna ditempatkan di 'jail' yang dapat diatur, diaktifkan, atau dinonaktifkan di file konfigurasi /etc/fail2ban/jail.conf. Dengan cara ini, ini membantu mengamankan server Linux Anda dari akses tidak sah, dan lebih khusus lagi dari botnet dan skrip berbahaya.

Apa yang termasuk penjara? Sebuah penjara terdiri dari elemen-elemen kunci berikut:

  • File log yang akan dianalisis.
  • Filter yang akan diterapkan pada file log.
  • Tindakan yang harus diambil saat filter cocok
  • Parameter tambahan untuk menguraikan jenis kecocokan. Misalnya, maxtry (usaha maksimum) dan bantime (waktu larangan) dll.

Dalam tutorial ini, kami akan memandu Anda melalui instalasi dan konfigurasi Fail2ban di RHEL 8 / CentOS 8.

Langkah 1) Instal Repositori EPEL

Pertama-tama, masuk ke server Anda dan instal paket EPEL (Paket Ekstra untuk Linux Perusahaan) sebagai berikut.

Untuk CentOS 8

$ sudo dnf install -y epel-release

Untuk RHEL 8

$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y

Langkah 2) Instal Fail2ban

Untuk menginstal Fail2ban, jalankan perintah sederhana di bawah ini:

$ sudo dnf install -y fail2ban

Langkah 3) Mengonfigurasi Fail2ban

Secara desain, fail2ban mem-parsing file log dan mencoba mencocokkan failregex yang ditentukan dalam filter. Filter mengambil upaya otentikasi yang gagal untuk layanan tertentu, misalnya, upaya login SSH menggunakan ekspresi reguler – regex. Ketika jumlah maksimum 'maxtry' kali dicapai dalam entri log, tindakan dipicu.

Secara default, ini terjadi setelah 3 upaya otentikasi gagal, dan pengguna dilarang atau dimasukkan ke dalam 'penjara' selama 10 menit. Parameter ini dapat dengan mudah dikonfigurasi dalam file /etc/fail2ban/jail.conf yang merupakan file konfigurasi global.

Semua file konfigurasi penting berada di bawah direktori /etc/fail2ban/.

Filter disimpan di bawah direktori /etc/fail2ban/filter.d. Ada lusinan filter untuk berbagai layanan termasuk SSH, Webmin, postfix, dan banyak lagi.

/etc/fail2ban/jail.conf adalah file konfigurasi utama. Namun, tidak disarankan untuk langsung mengubah file ini, karena seperti yang dijelaskan dalam file, konfigurasi kemungkinan besar akan ditimpa atau ditingkatkan pada pembaruan distribusi selanjutnya.

Solusinya adalah dengan membuat file jail.local di direktori /etc/fail2ban/jail.d dan menambahkan konfigurasi khusus untuk layanan yang diinginkan yang ingin Anda amankan.

CATATAN:Parameter yang ditentukan dalam file jail.local akan menggantikan file jail.conf. Yang membuatnya lebih baik untuk membiarkan file konfigurasi utama tetap utuh.

Untuk tujuan demonstrasi, kita akan membuat file jail yang akan mengamankan koneksi SSH.

$ sudo vim /etc/fail2ban/jail.local

Berikut contoh file konfigurasi.

[DEFAULT]
ignoreip = 192.168.2.105
bantime  = 86400
findtime  = 300
maxretry = 3
banaction = iptables-multiport
backend = systemd
[sshd]
enabled = true

Mari kita uraikan parameter dan lihat apa yang mereka perjuangkan.

  • ignoreip –  Mendefinisikan daftar alamat IP atau nama domain yang tidak dilarang.
  • bantime – Seperti namanya, ini menentukan durasi waktu larangan host jarak jauh dalam hitungan detik.
  • maxretry – Ini adalah jumlah percobaan login yang gagal sebelum host diblokir/diblokir.
  • findtime – Durasi waktu dalam detik selama host akan diblokir setelah mencapai upaya maksimal.
  • larangan – Tindakan pelarangan.
  • backend – Sistem yang digunakan untuk mengambil file log

Konfigurasi kami menyiratkan hal berikut:

Ketika alamat IP mencatat 3 upaya otentikasi yang gagal dalam 5 menit terakhir, maka alamat tersebut akan diblokir selama 24 jam dengan pengecualian host dengan IP 192.168.2.105.

Simpan dan keluar dari file konfigurasi.

Langkah 4)  Mulai dan aktifkan Fail2ban

Dengan konfigurasi file jail untuk SSH selesai, kita akan memulai dan mengaktifkan fail2ban saat boot. Biasanya, layanan tidak berjalan saat penginstalan

Untuk memulai dan mengaktifkan fail2ban, jalankan perintah:

$ sudo systemctl start fail2ban
$ sudo systemctl enable fail2ban

Untuk mengungkapkan status fail2ban, jalankan perintah di bawah ini:

$ sudo systemctl status fail2ban

Kali ini, kita dapat mengamati bahwa fail2ban berjalan seperti yang diharapkan.

Sekarang mari kita lanjutkan dan lihat cara kerja Fail2ban.

Langkah 4) Fail2ban beraksi

Sekarang mari kita melangkah lebih jauh dan melihat Fail2ban beraksi. Untuk mengawasi alamat IP yang dilarang, utilitas fail2ban-client sangat berguna. Misalnya untuk mendapatkan status ssh jail, jalankan perintah:

$ sudo fail2ban-client status sshd

Saat ini, tidak ada entri IP yang diblokir karena kami belum login dari jarak jauh ke server.

Kami akan mencoba masuk dari klien SSH dempul dari PC Windows dengan IP yang berbeda dari yang ditentukan dalam file konfigurasi jail.local.

Dari output, kita dapat dengan jelas melihat bahwa kita tidak bisa mendapatkan akses ke server. Ketika kami memeriksa statusnya lagi, kami menemukan bahwa satu IP telah diblokir seperti yang ditunjukkan.

Untuk menghapus IP dari daftar terlarang, batalkan larangannya sebagai berikut.

$ sudo fail2ban-client unban 192.168.2.101

Untuk mengumpulkan informasi lebih lanjut tentang aturan dan kebijakan fail2ban, kunjungi halaman manual jail.conf seperti yang ditunjukkan

$ man jail.conf

Ada komentar atau umpan balik? Jangan ragu untuk menghubungi kami dan kami akan menghubungi Anda kembali.

Baca Juga :12 Contoh Perintah IP untuk Pengguna Linux


Cent OS
  1. Cara Menginstal dan Menggunakan Komposer PHP di CentOS 7

  2. Cara Menginstal dan Menggunakan ifconfig di CentOS 7

  3. Cara menginstal Fail2Ban di CentOS 7

  1. Cara menginstal dan mengkonfigurasi samba di RHEL 8 / CentOS 8

  2. Cara menginstal file bin di RHEL 8 / CentOS 8 Linux

  3. Cara Menginstal dan Mengonfigurasi Fail2ban di CentOS 8

  1. Cara Menginstal dan Menggunakan Docker di CentOS 7

  2. Cara Menginstal dan Menggunakan Docker Compose di CentOS 7

  3. Cara Menginstal dan Menggunakan Komposer PHP di CentOS 7