Melindungi WordPress dengan fail2ban

Untuk membatasi usaha login WordPress yang tidak valid pada umumnya orang akan menginstall plugin seperti Limit Login Attempt. Ini solusi yang bagus untuk mencegah bruteforce di shared hosting, tapi ada cara yang lebih optimal tanpa mengorbankan performa kalau kita pakai VPS. Yakni mari kita satukan kekuatan fail2ban dengan sistem login WordPress. 😀

Ini sebenarnya proyek sampingan akhir tahun kemarin karena rasa penasaran saja apakah bisa digabungkan dan apakah ada yang membuatkan filternya. Ternyata ada, jadi tinggal kita pakai dan terapkan saja. 😀

Kita tetap perlu menginstall plugin WordPress, yang saya pakai adalah WP Fail2Ban Redux. Fungsinya untuk menambahkan deteksi login gagal ke dalam format yang dikenali oleh fail2ban. Tahap ini bukanlah hal yang sulit pastinya.

Nah langkah selanjutnya adalah agar fail2ban bisa bekerja dengan filter barunya. Kita bisa mengcopy dari direktori instalasi pluginnya:

cp /var/www/nama_domain.com/htdocs/wp-content/plugins/wp-fail2ban-redux/config/filters/wordpress-soft.conf /etc/fail2ban/filter.d/wordpress-soft.conf
cp /var/www/nama_domain.com/htdocs/wp-content/plugins/wp-fail2ban-redux/config/filters/wordpress-hard.conf /etc/fail2ban/filter.d/wordpress-hard.conf

Ada 2 file konfigurasi yang disertakan: wordpress-soft.conf dan wordpress-hard.conf, diletakkan ke dalam direktori filter fail2ban. Pastinya sesuaikan dengan lokasi instalasi Nginx beserta virtual hosting website anda.

Kemudian tambahkan file jail untuk WordPress ke fail2ban:

cp /var/www/nama_domain.com/htdocs/wp-content/plugins/wp-fail2ban-redux/config/jail/wordpress.conf /etc/fail2ban/jail.d/wordpress.conf

Akhirnya kita restart fail2ban:

service fail2ban restart

Seharusnya setiap usaha login pada WordPress akan sudah dikenali dan dibatasi sesuai aturan yang kita tentukan tadi.

Sekarang semuanya akan otomatis bekerja dan kita tinggal terima jadi saja bahwa yang berusaha masuk tanpa data valid akan langsung diblokir aksesnya oleh fail2ban dalam level network, jadi tidak perlu diproses PHP dan ini performanya akan jauh lebih baik.

2 pemikiran pada “Melindungi WordPress dengan fail2ban

  1. permisi pak admin mau tanya

    apakah ada cara lain melindungi wordpress selain menggunakan fail2ban ? soalnya setiap kali saya coba malah error

    • Mas mau melindungi dari apa ya?

      Terus yang mas eksekusi/lakukan apa saja? Mungkin bisa dicopas mas biar jelas. Dan pesan error yang muncul apa ya?

Tinggalkan komentar