GNU/Linux >> Belajar Linux >  >> Rocky Linux

Cara Menginstal Fail2ban dengan Firewalld di Rocky Linux 8.4

Fail2ban adalah daemon sistem untuk melindungi server dari login berbahaya dan serangan brute force. Fail2ban adalah kerangka kerja IPS (Perangkat Lunak Pencegahan Intrusi) open-source yang ditulis dengan Python dan sangat dapat dikonfigurasi. Ini berfungsi sebagai layanan daemon yang akan memantau jurnal SystemD dan file log dan kemudian mencari upaya otentikasi yang gagal. Ketika autentikasi yang gagal mencapai angka maksimal X, fail2ban akan secara otomatis memblokir alamat IP menggunakan perangkat lunak firewall.

Jika Anda seorang VPS (Virtual Private Server) atau pemilik server khusus, Anda harus mempertimbangkan untuk menginstal fail2ban di semua server Anda. Ini akan membantu Anda untuk melindungi beberapa layanan dasar seperti SSH dan FTP dari serangan brute force yang berbahaya. Juga, fail2ban sangat berguna, mudah dikonfigurasi, dan fleksibel.

Dalam panduan ini, Anda akan mempelajari cara menginstal fail2ban di Rocky Linux, mengkonfigurasi fail2ban dengan firewalld, dan mengamankan layanan SSH dari serangan brute force.

Prasyarat

  • Pengguna dengan hak akses sudo root.

Menyiapkan Firewalld

Firewalld adalah perangkat lunak firewall default di Rocky Linux. Ini diinstal secara otomatis selama instalasi Rocky Linux Anda, tetapi tidak diaktifkan secara default.

1. Jalankan perintah berikut untuk memastikan paket firewalld tersedia di sistem Anda.

sudo dnf info firewalld

Anda akan mendapatkan output serupa seperti di bawah ini.

Seperti yang terlihat pada tangkapan layar, paket firewalld terdaftar sebagai "Paket Terpasang ".

2. Selanjutnya, jalankan layanan firewalld menggunakan perintah berikut.

sudo systemctl start firewalld

3. Sekarang aktifkan layanan firewalld untuk berjalan secara otomatis pada setiap boot sistem.

sudo systemctl enable firewalld

Dan Anda akan mendapatkan output berikut.

Created symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service → /usr/lib/systemd/system/firewalld.service.
Created symlink /etc/systemd/system/multi-user.target.wants/firewalld.service → /usr/lib/systemd/system/firewalld.service.

4. Setelah itu, periksa status layanan firewalld menggunakan perintah di bawah ini.

sudo systemctl status firewalld

Dan Anda akan mendapatkan output berikut.

Seperti yang terlihat, layanan firewalld aktif dan berjalan.

5. Secara opsional, Anda dapat memeriksa status layanan firewalld menggunakan perintah firewall-cmd. Firewall-cmd adalah antarmuka utama untuk berinteraksi dengan firewalld. Perintah firewall-cmd adalah utilitas untuk mengelola aturan firewalld, memungkinkan Anda untuk menambahkan aturan, menghapus aturan, memeriksa status, dll.

Jalankan perintah firewall-cmd di bawah ini untuk memeriksa status layanan firewalld.

sudo firewall-cmd --state

Jika firewalld Anda aktif, Anda akan mendapatkan output sebagai "berjalan ". Jika tidak, Anda akan mendapatkan output sebagai "tidak berjalan ".

Sekarang jalankan perintah firewall-cmd berikut untuk memeriksa semua aturan firewall yang sedang diterapkan.

sudo firewall-cmd --list-all

Anda akan mendapatkan output yang sama seperti di bawah ini.

Menambahkan Repositori EPEL ke Rocky Linux

Sebelum menginstal fail2ban, Anda harus menambahkan EPEL (Paket Ekstra untuk Linux Perusahaan ) repositori ke sistem Anda.

1. Sekarang jalankan perintah berikut untuk menginstal repositori EPEL.

sudo dnf install epel-release

Ketik "y" untuk menginstal dan melanjutkan.

2. Setelah instalasi selesai, periksa semua repositori yang tersedia di sistem Anda menggunakan perintah berikut.

sudo dnf repolist

Sekarang Anda akan melihat output seperti di bawah ini.

Seperti yang terlihat, repositori EPEL tersedia dan aktif di sistem. Sekarang, mari kita lanjutkan ke instalasi fail2ban.

Menginstal Fail2ban di Rocky Linux

1. Untuk menginstal fail2ban, jalankan perintah di bawah ini.

sudo dnf install fail2ban fail2ban-firewalld

Ketik "y" untuk mengonfirmasi pemasangan dan tekan "Enter " untuk melanjutkan.

Seperti pada baris perintah, Anda juga menginstal paket tambahan "fail2ban-firewalld". Ini akan memungkinkan fail2ban untuk memanipulasi aturan firewall.

2. Setelah instalasi selesai, jalankan layanan fail2ban menggunakan perintah di bawah ini.

sudo systemctl start fail2ban

3. Setelah itu, jalankan perintah berikut untuk mengaktifkan layanan fail2ban untuk memulai secara otomatis pada setiap boot sistem.

sudo systemctl enable fail2ban

4. Sekarang, periksa layanan status fail2ban dengan menjalankan perintah berikut.

sudo systemctl status fail2ban

Dan Anda akan mendapatkan layanan fail2ban aktif dan berjalan dengan konfigurasi default seperti di bawah ini.

Mengonfigurasi Fail2ban

Sekarang Anda akan mengonfigurasi fail2ban dan mengaktifkan fail2ban untuk bekerja dengan firewalld.

1. Salin konfigurasi default fail2ban dari "jail.conf" ke "jail.local " menggunakan perintah berikut.

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

2. Selanjutnya, edit konfigurasi fail2ban menggunakan perintah editor nano di bawah ini.

sudo nano /etc/fail2ban/jail.local

Di bawah "[DEFAULT] ", periksa konfigurasi di bawah.

[DEFAULT]
....
bantime = 1h
findtime = 1h
maxretry = 5

Opsi yang harus Anda ketahui.

  • [DEFAULT] =Semua konfigurasi di bawah bagian ini akan berlaku sebagai konfigurasi default global.
  • bantime =Berapa kali x alamat IP akan diblokir. Ini mendukung format sebagai hari, menit, atau jam. Untuk contoh ini, host atau alamat IP akan diblokir selama "1 jam" setelah upaya autentikasi maksimal gagal.
  • findtime =Alamat IP akan diblokir jika otentikasi maksimal gagal selama "findtime" terakhir.
  • maxretry =Ketika alamat IP memiliki angka X kegagalan login maxrtry, maka IP tersebut akan di ban. Untuk contoh ini, alamat IP akan diblokir setelah 5 upaya autentikasi gagal.

Sesuaikan bantime, findtime, dan maxrety sesuai kebutuhan, lalu tekan "Ctrl+x" dan ketik "y", lalu tekan "Enter" untuk menyimpan konfigurasi.

3. Konfigurasi default fail2ban menggunakan iptables untuk memblokir. Untuk mengaktifkan fail2ban untuk menggunakan firewalld untuk memblokir, salin konfigurasi "00-firewalld.conf " ke "00-firewalld.local " menggunakan perintah di bawah ini.

sudo mv /etc/fail2ban/jail.d/00-firewalld.conf /etc/fail2ban/jail.d/00-firewalld.local

Konfigurasi ini "00-firewalld.conf " adalah bagian dari "fail2ban-firewalld " paket.

4. Sekarang restart layanan fail2ban untuk menerapkan konfigurasi baru menggunakan perintah di bawah ini.

sudo systemctl restart fail2ban

Melindungi Layanan SSH dengan Fail2ban

Secara default, fail2ban tidak memblokir alamat IP apa pun, sampai Anda mengaktifkan konfigurasi jail untuk setiap layanan yang ingin Anda lindungi. Juga, konfigurasi jail akan menimpa konfigurasi default pada "jail.local". Konfigurasi jail akan tersedia di direktori "/etc/fail2ban/jail.d".

1. Buat konfigurasi jail baru untuk layanan SSH menggunakan perintah berikut.

sudo nano /etc/fail2ban/jail.d/sshd.local

Sekarang rekatkan konfigurasi berikut.

[sshd]
enabled = true

# Override the default global configuration
# for specific jail sshd
bantime = 1d
maxretry = 3

Seperti yang terlihat, konfigurasi menimpa "bantime " dan "maxretry " opsi untuk penjara "sshd ".

Tekan "Ctrl+x" dan ketik "Y " lalu tekan "Enter " untuk menyimpan konfigurasi jail baru.

2. Untuk menerapkan konfigurasi baru, restart layanan fail2ban menggunakan perintah berikut.

sudo systemctl restart fail2ban

3. Setelah itu cek status fail2ban menggunakan perintah fail2ban-client. klien fail2ban adalah baris perintah untuk mengelola server kontrol fail2ban.

Sekarang jalankan perintah fail2ban-client di bawah ini untuk memverifikasi konfigurasi jail.

sudo fail2ban-client status

Dan Anda akan mendapatkan output yang sama seperti di bawah ini.

Fail2ban berjalan dengan 1 jail nama aktif "sshd ".

Untuk memeriksa konfigurasi jail tertentu, Anda dapat menggunakan "get " opsi berikut dengan nama penjara, lalu opsi yang ingin Anda periksa.

Periksa konfigurasi "maxretry" untuk jail "sshd" menggunakan perintah di bawah ini.

sudo fail2ban-client get sshd maxretry

Dan Anda akan melihat hasilnya adalah "3 ", cocokkan dengan nilai pada konfigurasi "sshd.local".

Selanjutnya, periksa tindakan larangan default untuk jail "sshd" menggunakan perintah di bawah ini.

sudo fail2ban-client get sshd actions

Dan Anda akan melihat hasilnya adalah "firewallcmd-rich-rules ", cocokkan dengan konfigurasi global fail2ban di "00-firewalld.local".

Verifikasi Instalasi Fail2ban dan Firewalld

Untuk memverifikasi instalasi fail2ban, periksa status lengkap jail (untuk panduan ini adalah sshd jail), dan periksa aturan firewalld yang dibuat oleh fail2ban.

Untuk tujuan pengujian, di bawah ini adalah tangkapan layar setelah mencoba terhubung ke server SSH dengan kata sandi yang salah. Setelah mencapai percobaan maksimal "3 " kali, koneksi terputus oleh server.

1. Jalankan perintah berikut untuk memeriksa status jail tertentu (contoh ini sshd jail).

sudo fail2ban-client status sshd

Dan Anda akan mendapatkan output serupa seperti berikut ini.

Seperti yang terlihat, jail sshd memiliki 1 alamat IP yang dilarang. Jika Anda menggunakan VPS langsung atau server khusus, Anda akan melihat lebih banyak alamat IP.

2. Fail2ban akan menghasilkan aturan kaya firewall untuk memblokir alamat IP. Aturan kaya firewalld adalah kemampuan pemfilteran tingkat lanjut di firewalld.

Jalankan perintah berikut untuk menampilkan aturan kaya firewall yang dihasilkan oleh fail2ban.

firewall-cmd --list-rich-rules

Dan Anda akan mendapatkan output serupa seperti di bawah ini.

Alamat IP Uban di Fail2ban

Untuk membatalkan pemblokiran alamat IP dari fail2ban, Anda dapat menggunakan perintah klien fail2ban.

1. Jalankan perintah fail2ban-client di bawah ini untuk membatalkan pemblokiran alamat IP "192.168.1.10 ".

sudo fail2ban-client unban 192.168.1.10

Dan alamat IP akan dihapus dari daftar terlarang di fail2ban.

Selanjutnya, jalankan perintah berikut untuk memastikan alamat IP dihapus dari database fail2ban (untuk contoh ini jail sshd).

sudo fail2ban-client status sshd

Dan Anda akan mendapatkan alamat IP dihapus dari "Daftar IP Banned " bagian.

Kesimpulan

Selamat! Anda telah berhasil menginstal kerangka IPS fail2ban di Rocky Linux 8.4. Dan untuk langkah selanjutnya, Anda dapat melihat ke konfigurasi jail lain untuk mengamankan layanan lain seperti server FTP, phpMyAdmin, WordPress, dll.


Rocky Linux
  1. Cara Menginstal Rocky Linux 8.4 Langkah demi Langkah dengan Tangkapan Layar

  2. Cara Menginstal Fail2ban dengan Firewalld di Rocky Linux 8

  3. Cara Menginstal Redis di Rocky Linux 8

  1. Cara Menginstal Python 3.9 di Rocky Linux 8

  2. Cara Instal Apache Tomcat 10 dengan Nginx di Rocky Linux 8

  3. Cara Menginstal Joomla dengan Nginx di Rocky Linux

  1. Cara Menginstal Rocky Linux 8.4 (Panduan Langkah demi Langkah Dengan Tangkapan Layar)

  2. Cara Instal Rocky Linux 8.4

  3. Cara menginstal Docker CE di Rocky Linux 8