Jika Anda menggunakan WordPress + OpenLiteSpeed di Ubuntu Server, mungkin pernah melihat banyak serangan otomatis ke wp-login.php
atau xmlrpc.php
. Biasanya plugin Wordfence akan merespons dengan mengunci akses menjadi HTTP 503 “Service Unavailable”, namun tidak memblokir serangan total dan tetap membebani server bahkan bisa menjadi over load.
Solusi terbaik adalah mengintegrasikan Fail2Ban agar IP penyerang langsung diblokir di level firewall server. Namun, kita harus hati-hati agar Googlebot, Bingbot, dan crawler baik lainnya tidak ikut terblokir.
Mengapa Perlu Fail2Ban?
- Mengurangi beban CPU & RAM akibat brute force login.
- Memblokir scanner otomatis (mencari
*.php
backdoor). - Memberi lapisan keamanan tambahan di luar WordPress.
- Aman untuk SEO jika crawler baik tidak di-ban.
Konfigurasi Filter Fail2Ban
Buat file filter baru:
sudo nano /etc/fail2ban/filter.d/wordfence-503.conf
Isi dengan:
[Definition]
failregex = ^"<HOST> - - \[.*\] ".*" 503 [0-9]+ ".*" ".*""
ignoreregex = ".*Googlebot.*"
".*bingbot.*"
".*Slurp.*"
".*DuckDuckBot.*"
".*Baiduspider.*"
".*YandexBot.*"
".*AhrefsBot.*"
".*SemrushBot.*"
".*MJ12bot.*"
".*DotBot.*"
👉 failregex akan mendeteksi request dengan kode 503.
👉 ignoreregex memastikan crawler baik tidak ikut di-ban.
Pastikan lokasi file log sudah sesuai, atau Anda bisa mencari terlebih dahulu lokasi file log untuk situs Anda, disini saya menggunakan contoh file log yang dihasilkan oleh OpenLiteSpeed dengan panel kontrol CyberPanel.
Konfigurasi Jail Fail2Ban
Edit file jail:
sudo nano /etc/fail2ban/jail.local
Tambahkan:
[wordfence-503]
enabled = true
filter = wordfence-503
port = http,https
logpath = /home/*/logs/*.access_log
maxretry = 1
bantime = 86400 #akan diban selama 1 hari, atau bisa Anda sesuaikan (perdetik)
findtime = 600
backend = auto
banaction = nftables
Testing & Validasi
- Cek regex:
sudo fail2ban-regex /home/domain.com/logs/domain.com.access_log /etc/fail2ban/filter.d/wordfence-503.conf
- Reload Fail2Ban:
sudo fail2ban-client reload
- Lihat status jail:
sudo fail2ban-client status wordfence-503
Jika berhasil, IP penyerang akan otomatis muncul di Banned IP list, seperti gambar dibawah

Kesimpulan
Dengan integrasi Fail2Ban + Wordfence:
- Serangan otomatis ke WordPress (HTTP 503) langsung diblokir di firewall.
- Crawler baik (Googlebot, Bingbot, Yandex, dll.) tetap bisa mengindeks website tanpa hambatan.
- Website jadi lebih aman & SEO tetap terjaga.
📌 FAQ
Q1: Apa fungsi Fail2Ban untuk WordPress?
A: Fail2Ban melindungi server dengan memblokir IP yang mencurigakan langsung di level firewall, sehingga mengurangi brute force login dan serangan bot.
Q2: Apakah Googlebot bisa ikut terblokir oleh Fail2Ban?
A: Tidak, jika kita menambahkan ignoreregex
untuk mengecualikan Googlebot, Bingbot, dan crawler baik lainnya.
Q3: Bagaimana cara test regex Fail2Ban di Ubuntu?
A: Gunakan perintah fail2ban-regex
untuk menguji filter terhadap file log agar memastikan pola sudah sesuai.
Q4: Apakah Fail2Ban menggantikan plugin Wordfence?
A: Tidak, Fail2Ban melengkapi Wordfence. Wordfence mendeteksi serangan di level aplikasi, sementara Fail2Ban menghentikan serangan di level firewall.