Brute force wordpress adalah metode serangan hacking dengan tujuan untuk mendapat hak akses ke suatu website wordpress dengan mencoba-coba berbagai kombinasi username dan password yang menggunakan password lemah seperti “admin” dan passwd “123456”.
Serangan Brute Force dapat menghabiskan memori server karena jumlah permintaan HTTP menjadi sangat tinggi. Hal ini dapat menyebabkan masalah penurunan kinerja pada website kamu. Jumlah permintaan HTTP adalah berapa kali seseorang mengunjungi situs web kami.
Peretas ini menyerang file ‘wp-login.php’ berulang kali hingga situs web dapat diakses atau server mati. Kamu dapat mencegah serangan brute force website menggunakan langkah-langkah berikut:
Di versi awal WordPress, username ‘admin’ adalah default, sehingga para peretas berasumsi bahwa sebagian besar orang sekarang menggunakan username yang sama. Selalu disarankan untuk mengubah nama pengguna menggunakan plugin “Ubah Nama Pengguna”.
Cobalah untuk tidak menggunakan username yang mudah seperti “admin” atau “administrator” atau “bos”. Pastikan username kamu unik sehingga tidak ada yang bisa menebak username kamu dengan mudah.
Selalu disarankan untuk memiliki password yang aman, ini adalah salah satu cara mencegah brute force wordpress yang efektif. Ada banyak ‘password generator otomatis’ yang tersedia yang dapat digunakan untuk menghasilkan password yang aman. Gunakan fitur pengukur kekuatan password WordPress.
Ada banyak plugin yang tersedia untuk WordPress untuk membatasi jumlah upaya login yang dibuat ke situs web seperti Limit Login Attempts, IP Geo Block, JetPack, dan lainnya. Kamu juga bisa sepenuhnya memblokir seseorang dari mengakses wp-admin dengan menggunakan plugin seperti Loginizer, WP Custom Admin Interface, Admin Menu Editor, Hidden Admin, dll.
Lindungi file ‘wp-login.php’ dengan password menggunakan file .htpasswd. File ini dapat dibuat di dalam folder public_html, tetapi jika dalam folder public_html terdapat file .htaccess, maka kamu perlu menambahkan beberapa code tambahan ke file .htaccess.
# stop Apache from serving .ht* files
Order allow, deny
Deny from all
# Protect wp-login.php
AuthUserFile ~/.htpasswd
AuthName “Private access”
AuthType Basic
require user asecretuser
Jika web server kamu menggunakan nginx, maka tambahkan script dibawah ini kedalah file .htaccess kamu:
Location /wp-login.php {
auth_basic “Administrator Login”;
auth_basic_user_file .htpasswd;
}
Nama file .htpasswd terkait dengan file path ‘nginx.conf’ dan file-file tersebut harus dalam format berikut:
user:pass
user2:pass2
user3:pass3
Kata sandi harus di encode dengan function crypt(3), jadi kamu bisa menggunakan “htpasswd generator” untuk mengenkripsi kata sandi kamu.
5) Batasi IP yang boleh mengakses file wp-login.php
Jika kamu punya alamat IP tetap untuk login ke area Admin, maka kamu dapat menolak akses wp-login.php ke orang lain menggunakan ‘.htaccess’ atau ‘file web.config’. Proses ini dikenal sebagai IP whitelist.
Untuk mengizinkan hanya satu alamat IP (misal 123.0.123.45) untuk mengakses area admin, kamu dapat membuat file dengan nama .htaccess dan menambahkan kode script berikut:
# Block access to wp-login.php
order deny,allow
allow from 123.0.123.45
deny from all
Jika ingin menambahkan lebih dari satu alamat IP yang diizinkan, edit file .htaccess seperti di bawah ini:
# Block access to wp-login.php
order deny,allow
allow from 123.0.123.45
allow from 123.0.123.46
allow from 123.0.123.47
deny from all
Jika kamu menggunakan Apache 2.4 dan Apache module, maka sintaksnya berbeda:
# Block access to wp-login.php
Require ip 123.0.123.45
Untuk mengakses admin menggunakan beberapa alamat IP di Apache 2.4, kamu dapat menambahkan kode script:
# Block access to wp-login.php
Require ip 123.0.123.45 123.0.123.46 123.0.123.47
# or for the entire network:
# Require ip 123.0.123.0/255.255.255.0
Serangan login Spam juga dapat dicegah dengan menambahkan blok berikut ke dalam file ‘.htaccess’.
# Stop spam attack logins and comments
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .(wp-comments-post|wp-login)\.php*
RewriteCond %{HTTP_REFERER} !.example.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) http://%{REMOTE_ADDR}/$1 [R=301,L]
Berdasarkan pengelaman kami, sebagian besar serangan brute force website berasal dari China, Ukraina, Israel, dan Rusia. Jadi, sangat disarankan untuk memblokir alamat IP yang berasal dari negara-negara ini.
Memblokir alamat IP berdasarkan negara sangat tidak disarankan jika situs web kamu bersifat global; kamu bisa menggunakan iptables atau csf untuk mendapatkan database alamat IP spammer global.
Beberapa layanan seperti Cloudflare dan Sucuri CloudProxy bisa menjadi salah satu cara mencegah brute force wordpress dengan memblokir IP sebelum mereka mencapai server.
Kesimpulan: Tidak ada cara 100% untuk membuat situs kamu anti-hack. Hal ini karena setiap hari adanya kerentanan baru ditemukan dan adanya bugs berbeda pada setiap script.
Gunakan tips cara mencegah brute force wordpress yang diberikan dalam artikel ini untuk pencegahan dini situs WordPress kamu dari serangan bruteforce wordpress.
Cara lain mencegah hacking wordpress dan joomla dapat kamu lihat di Mencegah Hacking WordPress dan Joomla.
Jika kamu membutuhkan bantuan kami, silahkan mengisi komentar Disqus di bagian bawah artikel ini.
Salam, Saya adalah Administrator Website di e-Padi. Melalui website ini kami berbagai artikel dan wawasan tentang pengelolaan server, website, dan solusi untuk sysadmin server dalam menghadapi tantangan teknis di dunia digital berdasarkan pengalaman team e-Padi dan kumpulan dari berbagai sumber terpercaya.