Fail2ban adalah alat yang dapat Anda gunakan untuk mengurangi dampak serangan pada server Anda. Biasanya Anda mengkonfigurasinya untuk memantau file log untuk aktivitas mencurigakan. Kemudian setelah aktivitas melewati ambang batas, Anda dapat meminta aktivitas tersebut mengambil tindakan, seperti memblokir alamat IP sumber di firewall Anda. Ini adalah cara yang baik untuk menghentikan serangan sejak dini, namun tidak sepenuhnya mencegahnya dan anda juga dapat mengirimkan pesan lognya ke email anda.
Karena popularitasnya, WordPress sering menjadi sasaran serangan otomatis. Kita sering melihat serangan bruteforce yang menargetkan xmlrpc.php atau wp-login.php, serangan ini mengandalkan permintaan dalam jumlah besar dengan harapan pada akhirnya akan berhasil. Menggunakan kata sandi yang kuat, terutama untuk akun dengan akses admin, penting untuk mengurangi risiko serangan. Fail2ban dapat digunakan untuk memperlambat penyerang. Hal ini membantu karena dua alasan: membuat mereka kecil kemungkinannya untuk berhasil; ini mengurangi beban pada server yang disebabkan oleh pemrosesan permintaan ini.
lakukan pembuatan file filter wordpress.conf pada directory /etc/fail2ban/filter.d/, caranya yaitu :
sudo nano /etc/fail2ban/filter.d/wordpress.conf
masukkan perintahnya seperti ini :
[Definition]
failregex = ^<HOST> .* "(GET|POST) /+wp-login.php
^<HOST> .* "(GET|POST) /+xmlrpc.php
jangan lupa disimpan konfigurasinya. Langkah selanjutnya adalah membuat file wordpress.conf pada directory /etc/fail2ban/jail.d/, seperti ini:
sudo nano /etc/fail2ban/jail.d/wordpress.conf
lalu edit seperti dibawah ini:
[wordpress] enabled = true port = http,https filter = wordpress action = iptables-multiport[name=wordpress, port="http,https", protocol=tcp] logpath = /var/log/apache2/error.log maxretry = 3 findtime = 5m bantime = 48h ignoreip = 127.0.0.1/8 192.168.10.1
catatan : ip address 192.168.10.1 itu adalah ip address komputer kalian supaya tidak di blokir .
jangan lupa disimpan. langkah selanjutnya adalah melakukan restart Fail2ban, caranya seperti ini :
sudo systemctl restart fail2ban
cek status dari fail2ban apakah error atau tidak, caranya yaitu :
root@mail:~# sudo systemctl status fail2ban
● fail2ban.service - Fail2Ban Service
Loaded: loaded (/usr/lib/systemd/system/fail2ban.service; enabled; preset: enabled)
Active: active (running) since Fri 2024-05-24 06:27:59 WIB; 1 day 4h ago
Docs: man:fail2ban(1)
Main PID: 771 (fail2ban-server)
Tasks: 41 (limit: 9396)
Memory: 29.4M (peak: 40.6M)
CPU: 11min 15.068s
CGroup: /system.slice/fail2ban.service
└─771 /usr/bin/python3 /usr/bin/fail2ban-server -xf start
May 24 06:27:59 mail systemd[1]: Started fail2ban.service - Fail2Ban Service.
May 24 06:27:59 mail fail2ban-server[771]: Server ready
jika tidak ada error maka terlihat seperti diatas dan selamat konfigurasi wordpress pada fail2ban sudah berhasil dilakukan.