Fail2ban adalah solusi perangkat lunak pencegahan intrusi sumber terbuka dan gratis yang melindungi server dari serangan login brute force. Ini memonitor berbagai file log SSH dan aplikasi web lainnya, dan setiap kali otentikasi gagal terdeteksi dan mencapai angka maksimal, Fail2Ban akan secara otomatis memblokir alamat IP menggunakan iptables dari Firewalld. Fail2Ban sederhana, praktis, mudah dikonfigurasi, dan fleksibel.
Dalam panduan ini, kami akan menunjukkan cara menginstal Fail2Ban dengan firewalld di Rocky Linux 8.
Prasyarat
- Server yang menjalankan Rocky Linux 8 di Atlantic.Net Cloud Platform
- Kata sandi root yang dikonfigurasi di server Anda
Langkah 1 – Buat Server Cloud Atlantic.Net
Pertama, masuk ke Server Cloud Atlantic.Net Anda. Buat server baru, pilih Rocky Linux 8 sebagai sistem operasi dengan RAM minimal 2GB. Hubungkan ke Server Cloud Anda melalui SSH dan masuk menggunakan kredensial yang disorot di bagian atas halaman.
Setelah Anda masuk ke server Anda, jalankan perintah berikut untuk memperbarui sistem dasar Anda dengan paket terbaru yang tersedia.
dnf update -y
Langkah 2 – Konfigurasi Firewalld
dnf info firewalld
Jika diinstal, Anda akan mendapatkan output berikut:
Pemeriksaan kedaluwarsa metadata terakhir:0:34:46 yang lalu pada Rabu 17 November 2021 09:52:51 UTC.Installed PackagesName :firewalldVersion :0.8.2Release :7.el8_4Arsitektur :noarchSize :1.9 MSSumber :firewalld-0.8.2 -7.el8_4.src.rpmRepository :@SystemFrom repo :baseosSummary :Sebuah daemon firewall dengan antarmuka D-Bus yang menyediakan firewall dinamisURL :http://www.firewalld.orgLicense :GPLv2+Description :firewalld adalah daemon layanan firewall yang menyediakan dinamis yang dapat disesuaikan :firewall dengan antarmuka D-Bus.Paket yang TersediaNama :firewalldVersi :0.9.3Rilis :7.el8Arsitektur :noarchUkuran :501 kSumber :firewalld-0.9.3-7.el8.src.rpmRepositori :baseosSummary :Daemon firewall dengan Antarmuka D-Bus menyediakan firewall dinamisURL :http://www.firewalld.orgLisensi :GPLv2+Deskripsi :firewalld adalah daemon layanan firewall yang menyediakan cust dinamis omizable :firewall dengan antarmuka D-Bus.
Selanjutnya, verifikasi apakah Firewalld berjalan atau tidak.
systemctl status firewalld
Anda akan melihat bahwa layanan Firewalld disembunyikan:
● firewalld.service Loaded:masked (Alasan:Unit firewalld.service is masked.) Aktif:tidak aktif (mati)
Jadi, Anda perlu membuka kedok layanan Firewalld. Anda dapat membuka kedoknya menggunakan perintah berikut:
systemctl membuka kedok firewalld
Selanjutnya, mulai layanan Firewalld dan aktifkan untuk memulai saat reboot sistem:
systemctl start firewalldsystemctl aktifkan firewalld
Pada titik ini, Firewalld diinstal dan berjalan di sistem Anda. Sekarang Anda dapat melanjutkan ke langkah berikutnya.
Langkah 3 – Instal Fail2Ban
dnf install epel-release -y
Selanjutnya, instal paket Fail2Ban dengan perintah berikut:
dnf install fail2ban fail2ban-firewalld -y
Setelah Fail2Ban diinstal, mulai dan aktifkan layanan Fail2Ban menggunakan perintah berikut:
systemctl start fail2bansystemctl aktifkan fail2ban
Anda dapat memverifikasi versi Fail2Ban menggunakan perintah berikut:
fail2ban-client --version
Contoh keluaran:
Fail2Ban v0.11.2
Langkah 4 – Konfigurasi Fail2Ban
Pertama, ganti nama file konfigurasi Firewalld menjadi Fail2Ban menggunakan perintah berikut:
mv /etc/fail2ban/jail.d/00-firewalld.conf /etc/fail2ban/jail.d/00-firewalld.local
Selanjutnya, salin file konfigurasi default Fail2Ban:
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Selanjutnya, edit file jail.local:
nano /etc/fail2ban/jail.local
Temukan baris berikut:
banaction =iptables-multiportbanaction_allports =iptables-allports
Dan ganti dengan baris berikut:
banaction =firewallcmd-rich-rules[actiontype=]banaction_allports =firewallcmd-rich-rules[actiontype=]
Simpan dan tutup file, lalu mulai ulang Fail2Ban untuk menerapkan perubahan:
systemctl restart fail2ban
Pada titik ini, Fail2Ban dikonfigurasi untuk bekerja dengan Firewalld.
Langkah 5 – Amankan Layanan SSH dengan Fail2Ban
Untuk melindungi layanan SSHD, edit file jail.local:
nano /etc/fail2ban/jail.local
Temukan bagian [sshd] dan aktifkan dengan menambahkan baris berikut:
[sshd]enabled =trueport =sshlogpath =%(sshd_log)sbackend =%(sshd_backend)sbantime =10mfindtime =10mmaxretry =5
Simpan dan tutup file, lalu mulai ulang Fail2Ban untuk menerapkan perubahan:
systemctl restart fail2ban
Anda sekarang dapat memverifikasi status Fail2Ban menggunakan perintah berikut:
systemctl status fail2ban
Anda akan mendapatkan output berikut:
● fail2ban.service - Layanan Fail2Ban Dimuat:dimuat (/usr/lib/systemd/system/fail2ban.service; dinonaktifkan; preset vendor:dinonaktifkan) Aktif:aktif (berjalan) sejak Rabu 2021-11-17 10:34 :49 UTC; 2 dtk yang lalu Dokumen:man:fail2ban(1) Proses:21154 ExecStop=/usr/bin/fail2ban-client stop (kode=keluar, status=0/SUCCESS) Proses:21185 ExecStartPre=/bin/mkdir -p /run/fail2ban (kode=keluar, status=0/SUCCESS) PID Utama:21186 (server-fail2ban) Tugas:5 (batas:11411) Memori:14.6M CGroup:/system.slice/fail2ban.service 21186 /usr/bin/ python3.6 -s /usr/bin/fail2ban-server -xf startNov 17 10:34:49 rockylinux systemd[1]:Memulai Layanan Fail2Ban...17 November 10:34:49 rockylinux systemd[1]:Memulai Layanan Fail2Ban .Nov 17 10:34:49 rockylinux fail2ban-server[21186]:Server siap
Langkah 6 – Verifikasi Fail2Ban Firewall
Pada titik ini, Fail2Ban dikonfigurasi untuk melindungi layanan SSH. Sekarang, saatnya untuk memeriksa apakah Fail2Ban berfungsi.
Pertama, verifikasi konfigurasi jail menggunakan perintah berikut:
status klien gagal2ban
Anda akan melihat output berikut:
Status|- Jumlah penjara:1`- Daftar penjara:sshd
Sekarang, buka mesin jarak jauh dan coba sambungkan ke server SSH dengan kata sandi yang salah. Setelah mencapai jumlah percobaan ulang maksimal (5 kali), alamat IP Anda akan diblokir oleh Fail2Ban.
Sekarang, periksa alamat IP yang diblokir oleh Fail2Ban menggunakan perintah berikut:
fail2ban-client status sshd
Anda akan mendapatkan output berikut:
Status penjara:sshd|- Filter| |- Saat ini gagal:1| |- Total gagal:6| `- Jurnal cocok:_SYSTEMD_UNIT=sshd.service + _COMM=sshd`- Tindakan |- Saat ini dilarang:1 |- Total dilarang:1 `- Daftar IP terlarang:27.61.171.115
Anda dapat memeriksa aturan yang ditambahkan oleh Firewalld dengan perintah berikut:
firewall-cmd --list-rich-rules
Anda akan mendapatkan output berikut:
rule family="ipv4" source address="27.61.171.115" port port="ssh" protocol="tcp" reject type="icmp-port-unreachable"
Anda juga dapat memeriksa log Fail2Ban untuk informasi lebih lanjut:
tail -f /var/log/fail2ban.log
Contoh keluaran:
21-11-17 10:37:21,837 fail2ban.filter [21186]:INFO [sshd] Ditemukan 27.61.171.115 - 2021-11-17 10:37:212021-11-17 10:37:21,859 fail2ban. tindakan [21186]:PEMBERITAHUAN [sshd] Larangan 27.61.171.1152021-11-17 10:37:27,220 fail2ban.filter [21186]:INFO [sshd] Ditemukan 27.61.171.115 - 2021-11-17 10:37:27Kesimpulan
Selamat! Anda telah berhasil menginstal Fail2Ban dengan Firewalld. Anda sekarang dapat menerapkan Fail2Ban di server Anda untuk melindunginya dari serangan login brute force. Cobalah di akun hosting VPS Anda dari Atlantic.Net!
Cara Install dan Konfigurasi Caddy Web Server dengan PHP di Rocky Linux 8 Cara Menginstal Alat Pemantau Icinga 2 di Rocky Linux 8Linux