WordPress merupakan aplikasi web content management system (CMS) yang paling popular di internet. Karena kepopulerannya ini, maka tidaklah aneh jika website yang menggunakan WordPress sering menjadi target serangan. Meski demikian kamu tidak perlu khawatir, karena ada banyak cara untuk mengamankan website WordPress kamu.
Salah satu serangan yang paling sering digunakan untuk menyerang website WordPress dengan menggunakan serangan Brute Force. Serangan Brute Force yang diterjemahkan kedalam bahasa Indonesia adalah serangan brutal. Teknik serangan terhadap sistem keamanan komputer dengan mencoba menebak password atau passcode sebanyak mungkin agar bisa masuk kedalam sistem.
Pada artikel kali ini kami akan membahas mengenai salah satu cara untuk menghadang serangan Brute Force pada website WordPres. Teknik yang akan kami bahas menggunakan ModSecurity.
Apa Itu ModSecurity
ModSecurity (atau dikenal juga dengan mod_security, security2_module, modsec) merupakan module Apache yang didesain dengan fungsi yang mirip dengan Web Application Firewall, yang memiliki tujuan untuk membantu melindungi website dari berbagai tipe serangan seperti: SQL Injection, Iframe attacks, Webshell/Backdor Detection, Botnet Attack Detection, Brute Force dan HTTP Denial of Service (DoS) attacks.
Untuk cara instal ModSecurity bisa mengunjungi BlogHostingIndonesia.com
Cara Menghadang Serangan Brute Force di WordPress
Pertama yang harus dilakukan adalah membuat file yang diberi nama bruteforce.conf, yang ditaruh pada lokasi ini: /usr/local/apache/conf/bruteforce.conf.
Bisa dengan mengetik command:
nano -w /usr/local/apache/conf/bruteforce.conf
Kemudian copy code dibawah ini ke dalam file tersebut:
# WordPress ModSecurity Brute Force Rules # ----------------------------------------------------------------------------- # TX.max_requests - # of requests allowed during x period of time # TX.requests_ttl - time in seconds # TX.block_ttl - block time in seconds # ----------------------------------------------------------------------------- SecRequestBodyAccess On SecDataDir /tmp SecAction "phase:1,pass,setvar:TX.max_requests=6,setvar:TX.requests_ttl=180,setvar:TX.block_ttl=900,initcol:ip=%{REMOTE_ADDR},nolog,id:5001000" SecRule IP:blocked "@eq 1" "phase:1,drop,log,id:5001001" # WordPress Anti Brute Force Rules <LocationMatch "/wp-login.php"> SecAction "phase:2,chain,nolog,id:5001002" SecRule REQUEST_METHOD "^POST$" "chain" SecRule ARGS_POST_NAMES "^log$" "chain" SecRule ARGS_POST_NAMES "^pwd$" "chain" SecAction "setvar:ip.request_count=+1,expirevar:ip.request_count=%{TX.requests_ttl}" SecRule IP:request_count "@ge %{TX.max_requests}" "phase:2,drop,setvar:ip.blocked=1,expirevar:ip.blocked=%{TX.block_ttl},log,msg:'Blocked by %{TX.block_ttl} seconds',id:5001003"
Loading Rules Anti Brute Force
Sekarang kita harus mengkonfigurasi ModSecurity untuk meng-load rule anti brute force, dengan menjalankan command ini:
echo "Include /usr/local/apache/conf/bruteforce.conf" >> /usr/local/apache/conf/modsec2.user.conf
Kemudian restart Apache untu menerapkan perubahan:
service httpd restart
Hasil dari rule anti serangan brute force untuk WordPress ini akan di-log pada Apache error log.
Menonaktifkan Rule Anti Serangan Brute Force
Jika rule ModSecurity ini menyebabkan masalah, kamu bisa menonaktifkannya dengan mengedit file /usr/local/apache/conf/modsec2.user.conf, lalu hapus line dibawah ini:
Include /usr/local/apache/conf/bruteforce.conf
Kemudian restart Apache untuk menerapkan perubahan:
service httpd restart
Itulah cara untuk melindungi website WordPress kamu dari serangan brute force. Untuk cara yang lebih mudah kamu bisa menggunakan plugin.
Bagi kamu yang sedang mencari hosting, Jakartawebhosting.com menyediakan WordPress Hosting, dengan kecepatan dan stabilitas pusat data dan server yang baik, up time server 99,9%, team support yang siap membantu 24 jam dan biaya langganan yang menarik.