Melindungi WordPress dengan fail2ban

By | July 12, 2019

Bagi membatasi usaha login WordPress yang tak valid di umumnya orang akan menginstall plugin seperti Limit Login Attempt. Ini solusi yang bagus bagi mencegah bruteforce di shared hosting, tapi ada cara yang lebih optimal tanpa mengorbankan performa kalau kita gunakan VPS. Yakni mari kita satukan kekuatan fail2ban dengan program login WordPress. 😀

Ini hakekatnya proyek sampingan ahir tahun kemarin karena rasa penasaran saja apakah dapat digabungkan dan apakah ada yang membuatkan filternya. Ternyata ada, jadi tinggal kita gunakan dan terapkan saja. 😀

Kita tetap perlu menginstall plugin WordPress, yang saya gunakan yaitu WP Fail2Ban Redux. Fungsinya bagi menambahkan deteksi login gagal ke pada format yang dikenali oleh fail2ban. Tahap ini bukanlah hal yang sulit pastinya.

Nah langkah berikutnya yaitu agar fail2ban dapat bekerja dengan filter barunya. Kita dapat 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 pada direktori filter fail2ban. Pastinya sesuaikan dengan lokasi instalasi Nginx dan juga virtual hosting laman kamu.

Kemudian tambahkan file jail bagi 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 di WordPress akan telah dikenali dan dibatasi sesuai aturan yang kita tentukan tadi.

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


Sumber https://servernesia.com