Cara mengamankan Webserver Nginx dengan Fail2ban pada Rocky Linux 9

Fail2ban adalah sebuah alat yang dapat melakukan mitigasi terhadap serangan brute force dengan membuat aturan dan merubah konfigurasi firewall secara otomatis untuk melakukan blok terhadap alamat IP tertentu setelah IP tersebut melakukan percobaan gagal login (yang kemungkinan serangan) beberapa kali dalam rentang waktu yang ditentukan.

Pada tulisan ini, kita akan melakukan install fail2ban pada rocky linux 9 dan akan kita gunakan untuk melakukan monitoring terhadap log dari webserver nginx.

Instalasi dan Konfigurasi Fail2ban

Sebelum melakukan instalasi fail2ban, kita harus melakukan instalasi paket EPEL, semacam paket ekstra untuk RHEL dan turunannya.

sudo dnf install epel-release -y

Selanjutnya bisa bisa kita lakukan instalasi dari fail2ban.

sudo dnf install fail2ban -y

Setelah proses instalasi selesai, bisa kita cek status dari fail2ban, bawaannya fail2ban tidak akan langsung berjalan, bisa kita cek dengan perintah

systemctl status fail2ban.service

File konfigurasi utama dari fail2ban ada di folder /etc/fail2ban dan konfigurasi utama nya ada di file jail.conf.

cd /etc/fail2ban<br />head -20 jail.conf

Sebaiknya kita melakukan duplikasi konfigurasi fail.conf menjadi fail.local, kita akan melakukan perubahan konfigurasi pada konfigurasi fail.local.

sudo cp jail.conf jail.local

Kita gunakan edit nano untuk melakukan perubahan konfigurasi.

sudo nano jail.local

Konfigurasi Fail2ban untuk memonitor Nginx Logs

Kita menggunakan webserver Nginx, maka kita edit bagian [nginx-http-auth] dengan konfigurasi dibawah ini.

[nginx-http-auth]

enabled  = true
port     = http,https
logpath = %(nginx_error_log)s

Aktifasi Fail2ban

Selanjutnya kita aktifkan fail2ban saat server aktif atau restart.

sudo systemctl enable fail2ban

Untuk mengaktifkan fail2ban secara langsung, bisa kita gunakan perintah start pada systemctl.

sudo systemctl start fail2ban

Untuk melihat status dari fail2ban gunakan perintah status.

sudo systemctl status fail2ban

Melihat status Fail2ban

Kita bisa melihat rangkuman dari fail2ban dengan perintah fail2ban-client.

sudo fail2ban-client status

Gunakan opsi nama filter untuk melihat spesific layanan,

sudo fail2ban-client status nginx-http-auth

Menghapus banned alamat IP

sudo fail2ban-client set nginx-http-auth unbanip 108.172.85.62

Leave a Comment