Mencegah brute force pada WordPress
Salah satu website klien saya yang menggunakan shared hosting cPanel sedang dibanjiri usaha login dari alamat IP Ukraina dan Russia. Efeknya sih masih belum terbobol, tapi akses situsnya jadi sangat lambat dan muncul Connection Timed Out atau Internal Server Error. Untungnya ini hostingnya di saya sendiri jadi tidak dimatikan atau ditendang keluar.
Bisa dikatakan yang saya ajarkan adalah pertolongan pertama mengatasi brute force password pada WordPress. Yang dilindungi tentunya adalah wp-admin dan wp-login. Saya akan memanfaatkan .htaccess agar diproses oleh web server supaya lebih cepat dibandingkan pakai solusi PHP.
RewriteEngine on
RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
RewriteCond %{REMOTE_ADDR} !^192.168.1.12
RewriteRule ^(.*)$ – [R=403,L]
Saya ingatkan dulu, ini adalah cara manual untuk memblokir akses (respon 403 Forbidden) ke halaman yang ditentukan (wp-login dan wp-admin) apabila bukan dari alamat IP yang diijinkan. Terus bagaimana kita login? Dengan sangat terpaksa kita akan mengedit isi file htaccess setiap kali ingin masuk ke administrasinya. Ini karena sistem ISP di Indonesia menggunakan IP public dinamis yang akan berubah – ubah setiap sesinya, kecuali anda punya IP statis. Jadi memang sangat repot sekali.
Tapi untuk solusi alternatifnya bisa pakai:
- WordFence atau iThemes Security. Plugin keamanan WordPress keduanya, tapi pilih salah satu saja.
- Dalam cPanel bisa kita beri password untuk mengakses konten tertentu.
- Atau pakai CloudFlare dan atur firewallnya.