Brute force adalah hal yang mungkin menyebalkan dan sering anda temui jika anda seorang blogger atau admin website. sesuai judul kami akan membahas bagaimana Cara Proteksi Brute Force Pada WordPress.

Apakah brute force itu?
Brute Force Attack adalah metode untuk meretas password (password cracking) dengan cara mencoba semua kemungkinan kombinasi yang ada pada “wordlist” atau list database password secara acak. Metode ini dijamin akan berhasil menemukan password yang ingin diretas. Namun, proses untuk meretas password dengan menggunakan metode ini akan memakan banyak waktu

ada 2 cara untuk meminimalisir serangan brute force, yaitu
1. Menggunakan plugins, atau
2. Menggunakan bash script yang terintergrasi dengan firewall seperti iptables ataupun csf

Menggunakan Plugins

beberapa rekomendasi plugin yang bisa anda gunakan untuk firewall wordpress anda, seperti

Sucuri Firewall

sucuri
Sucuri mungkin nama yang paling terpercaya dalam keamanan WordPress. layanan firewall mereka menciptakan proxy yang pada dasarnya membuat jaringan Sucuri sebagai perantara antara website Anda dan web lainnya. Mereka mengurus semua serangan berbahaya dan trafik mencurigakan, dan hanya mengirim trafik yang sebenarnya ke situs Anda.

Price: from $9.99/month

All In One WP Security & Firewall

aiowps
adalah plugin yang berkembang dalam beberapa tahun terakhir menjadi salah satu dari segelintir plugin yang mendominasi Keamanan WordPress. Mereka menawarkan berbagai fitur lengkap yang dirancang untuk membantu meningkatkan keamanan WordPress Anda sebaik mungkin; satu utama adalah fitur firewall mereka yang baik

Price: FREE

dan beberapa plugin lainnya yang tidak bisa kami sebutkan satu persatu.

Menggunakan Bash Script

cara lainnya adalah menggunakan bash script yang mendeteksi akses ke file wp-login.php secara tidak wajar lalu IP address pengakses kita input ke firewall seperti IPtables ataupun CSF secara otomatis dengan tujuan ip tersebut terblokir. scriptnya adalah sebagai berikut

buat dulu direktori dan file dengan nama wplogin.sh

mkdir wpbrute
cd wpbrute
vi wpbrute.sh

lalu isi file wpbrute.sh dengan script dibawah ini

Cara Proteksi Brute Force Pada WordPress

#!/bin/bash

###start editing
thold="100"
btime="359m"
###stop editing

egrep 'wp-login.php' /usr/local/apache/domlogs/* | grep -v ftp_log | awk -F : '{print $2}' | awk '{print $1}' | sort | uniq -c | sort -n | awk -v limit="$thold" '$1 > limit{print $2}' > $$_ip_$$

while IFS= read -r line
        do
                /usr/sbin/csf -td "$line"  "$btime" "banned for wordpress attack"
        done < $$_ip_$$
rm -f $$_ip_$$

buat permission file agar executable

chmod +x wpbrute.sh

buat cronjob agar script wpbrute.sh dapat berjalan otomatis

0 */6 * * * /path_to_script/wplogin/wpbrute.sh

Catatan:
- Anda dapat mengubah ambang batas untuk seberapa kali sebuah ip/pengunjung dapat mengakses script wp-login.php sebelum itu akan diblokir dengan mengubah nilai Thold (default adalah 100) pada awal dari script. pastikan Anda me-whitelist ip user aktif anda pada firewall

- Anda dapat mengubah batas waktu (temporary banned) sebuah ip address yang dilarang, dengan cara mengubah nilai waktu pada bagian atas script (default adalah 6 jam).

Untuk per detik, hanya anda perlu mengganti format menjadi, contoh: btime=”3600″ untuk 3600detik
Untuk per menit, hanya anda perlu menambah format m format menjadi, contoh: btime=”6m” untuk 6 menit.
Untuk per jam, hanya anda perlu mengganti format h menjadi, contoh: btime=”6h” untuk 6 jam.
Untuk per hari, hanya anda perlu mengganti format d menjadi, contoh:btime=”6d” untuk 6 hari.

Selamat mencoba artikel Cara Proteksi Brute Force Pada WordPress 🙂