Brute Force Protection
Brute force adalah percobaan menebak kredensial secara berulang. Sasaran yang paling sering adalah SSH, wp-login, cPanel, dan endpoint API. Penyerang modern jarang mencoba satu akun terus-menerus. Mereka memakai daftar password bocor dan mencoba banyak akun dari banyak IP supaya tidak cepat terdeteksi.
Tanda di server
Di server Linux, journalctl -u ssh akan dipenuhi pesan Failed password for root atau nama user acak. Di WordPress, log akses menunjukkan ratusan request ke wp-login.php atau xmlrpc.php. cPanel juga bisa mencatat login gagal dari negara yang tidak Anda gunakan.
Kalau CPU naik tanpa kenaikan pengunjung, cek apakah PHP terus memproses halaman login. Kadang serangan tidak menghabiskan bandwidth, tapi menghabiskan worker dan koneksi database.
Yang perlu dilakukan
Matikan login password SSH kalau memungkinkan. Gunakan key, set PasswordAuthentication no dan PermitRootLogin no di /etc/ssh/sshd_config, lalu uji dengan sesi baru sebelum menutup sesi lama. Kalau password masih diperlukan, batasi port atau sumber IP.
Pasang fail2ban untuk mengurangi tebakan otomatis. Contoh /etc/fail2ban/jail.local:
[sshd]
enabled = true
maxretry = 5
findtime = 10m
bantime = 1h
Setelah restart, cek dengan fail2ban-client status sshd. Untuk WordPress, gunakan filter log akses dan jail yang membaca wp-login.php, atau plugin keamanan yang punya rate limit sendiri.
Aktifkan 2FA. Two-Factor Authentication membuat password bocor tidak cukup untuk masuk. Simpan kode pemulihan di tempat yang tidak ikut hilang saat ponsel rusak.
Yang sering bikin masalah
Kalau situs di balik CDN atau reverse proxy, log berisi IP proxy. fail2ban bisa memblokir IP yang salah. Konfigurasikan real_ip atau modul yang membaca X-Forwarded-For dengan benar.
Saat menguji aturan SSH, pertahankan satu sesi yang sudah login dan siapkan akses konsol provider. Jangan menutup sesi lama sebelum sesi baru terbukti bisa masuk.
Bantime yang terlalu pendek membuat bot cepat kembali. Untuk serangan berulang, gunakan satu jam atau lebih. Tapi ingat, fail2ban bukan proteksi DDoS. Untuk banjir trafik, lihat DDoS dan WAF.
FAQ
Apakah fail2ban cukup untuk WordPress?
Tidak. Fail2ban mengurangi tebakan password, tapi plugin rentan, akun lemah, dan file malware tetap perlu ditangani dengan update, 2FA, dan pemindaian.
Mengapa IP saya diblokir setelah beberapa kali salah password?
Itu perilaku yang diinginkan. Gunakan fail2ban-client set sshd unbanip IP_ANDA dari sesi lain, lalu perbaiki kredensial.
Apakah mengganti port SSH cukup?
Hanya mengurangi noise otomatis. Itu bukan keamanan sungguhan. Key-based auth, 2FA, dan firewall tetap lebih penting.
Disclaimer: Artikel WikiHosting disusun untuk tujuan edukasi dan referensi. Teknologi hosting terus berkembang, sehingga beberapa informasi teknis mungkin berubah seiring waktu.
