Tutorial ini akan membantu Anda menginstal dan mengkonfigurasi Fail2ban pada sistem CentOS dan RHEL 8 dan Fedora Anda. Dalam artikel ini, Anda juga akan mempelajari cara menambahkan layanan khusus apa pun untuk dipantau di bawah fail2ban.
Langkah 1 – Instal Fail2ban di CentOS 8
Pertama-tama, instal epel-release paket untuk mengkonfigurasi repositori EPEL yum pada sistem CentOS 8 Anda. Setelah itu, instal paket rpm Fail2ban menggunakan perintah berikut.
sudo dnf install epel-release sudo dnf install fail2ban
Langkah 2 – Konfigurasi Fail2ban
Fail2ban menyimpan file konfigurasi di bawah /etc/fail2ban direktori. tetapi kita perlu membuat salinan file ini sebagai jail.local .
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local sudo vi /etc/fail2ban/jail.local
Sekarang kita perlu membuat perubahan yang diperlukan di jail.local file untuk membuat aturan larangan. Edit file ini di editor favorit Anda dan buat perubahan di [DEFAULT] bagian.
Shell
123456789101111213141516 | [DEFAULT] # "ignoreip" dapat berupa daftar alamat IP, topeng CIDR, atau host DNS. Fail2ban# tidak akan melarang host yang cocok dengan alamat dalam daftar ini. Beberapa alamat# dapat didefinisikan dengan menggunakan spasi (dan/atau koma) separator.ignoreip =127.0.0.1/8 192.168.1.0/24 # "bantime" adalah jumlah detik dimana sebuah host dilarang.bantime =60m # Sebuah host adalah dilarang jika telah menghasilkan "maxretry" selama detik "findtime" terakhir. sesuai pengaturan di bawah#, 2 menitfindtime =5m # "maxretry" adalah jumlah kegagalan sebelum host diblokir.maxretry =5 |
Langkah 3 – Lindungi SSH/SFTP
Setelah menyelesaikan konfigurasi default, masuk ke file jail.local yang sama dan perbarui [ssh-iptables] bagian seperti di bawah ini.
[ssh-iptables] enabled = true filter = sshd action = iptables[name=SSH, port=22, protocol=tcp] sendmail-whois[name=SSH, dest=root, [email protected], sendername="Fail2Ban"] logpath = /var/log/secure maxretry = 3
Langkah 4 – Lindungi FTP
Mari lindungi server FTP (vsFTPd) Anda, Temukan entri [vsftpd-iptables] di bawah ini bagian dan buat perubahan seperti di bawah ini. Jika Anda tidak menggunakan vsFTPd, Anda dapat melewati bagian ini.
[vsftpd-iptables] enabled = true filter = vsftpd action = iptables[name=VSFTPD, port=21, protocol=tcp] sendmail-whois[name=VSFTPD, [email protected]] logpath = /var/log/vsftpd.log maxretry = 5 bantime = 1800
Langkah 5 – Mulai Ulang Layanan dan Uji
Setelah melakukan semua perubahan, simpan file Anda dan mulai ulang layanan Fail2ban menggunakan perintah berikut.
sudo systemctl start fail2ban.service sudo systemctl enable fail2ban.service
Untuk tujuan pengujian, saya telah mencoba SSH dengan kredensial yang salah dari mesin yang berbeda. Setelah tiga kali salah mencoba, Fail2ban memblokir IP itu melalui iptables dengan menolak ICMP. Anda dapat melihat aturan di iptables setelah memblokir alamat IP seperti di bawah ini. Untuk sistem SSH saja, pastikan untuk memiliki akses SSH dari IP lain sebelum melakukan pengujian ini.