Salah satu masalah yang sering dihadapi ketika mengelola blog/website yang menggunakan wordpress (self hosting) adalah brute force cracking
Entah apa motivasi para hacker sering sekali menyerang website yang menggunakan wordpress. Sampai-sampai blog yang masih kosong pun mereka serang dengan metode brute force cracking ini.
Biar tidak lupa, berikut ini catatan belajar saya mengenai brute force attack pada blog kami yang menggunakan CMS wordpress. Termasuk juga cara mengatasi / mengurangi brute force attack pada wordpress.
Apa itu Brute Force Attack?
Brute force attack atau brute force cracking adalah metode trial and error (coba-coba) untuk memecahkan kode data terenkripsi, misalnya password melalui upaya yang melelahkan.
Untuk blog yang menggunakan wordpress self hosting, hacker atau crackernya akan mencoba semua kombinasi user name dan password untuk masuk ke dalam backendnya wordpress.
Bila sudah masuk, apapun dapat di lakukan. Mulai dari mengganti password sehingga pemilik asli blognya tidak dapat masuk, sampai menghapus blog atau website kita.
Mungkin ini yang pernah aku alami pada kisah Cara Mengganti Password WordPress.
Cara Mengurangi Brute Force Attack
Belajar dari pengalaman, ada beberapa cara yang dapat dilakukan untuk mengurangi brute force attack pada blog kita yang menggunakan wordpress untuk di hack :
Jangan Pakai Username Admin
Waktu pertama kali install wordpress, dulu sering sekali pakai username admin. Terutama untuk user yang punya role administrator.
Ternyata hal ini mempermudah penyerang untuk menjebol blog berbasis wordpress.
Iya dong, jadi mereka atau botnya sudah langsung dapat username, tinggal mereka trial dan error pada passwordnya. Terlihat juga di log security plugin yang saya gunakan, user admin paling sering digunakan.
Username yang identik dengan admin atau yang umum digunakan pun sebaiknya di hindari, seperti administrator, root, test dan lain-lainnya.
Mirip dengan pemakaian username admin, hindari menggunakan username pada field Display Publicly as yang ada di menu Users >> Your Profile, gunakan field lainnya selain username.
Gunakan Password yang Sangat Kuat
Password yang diambil dari kata-kata umum lebih mudah di serang. Setelah si penyerang mengetahui username, mereka dapat menggunakan dictionary attack, untuk menebak password yang kita gunakan.
Gunakan password dengan kombinasi huruf besar dan kecil, angka, simbol.
Selain itu jangan gunakan satu password di banyak akun. Sudah umum bahwa kita memiliki banyak akun di internet, dari akun email, sosial media, forum, dan lain-lainnya.
Mungkin karena malas untuk mengingat sering kali kita memakai username dan password yang sama. Sudah saatnya saya menggunakan password manager untuk mengingat password yang ada.
Hal ini sebaiknya di hindari, alasannya sederhana, jika ada kebocoran keamanan pada suatu akun tentu akan membahayakan akun kita yang lainnya.
Jangan Lupa Backup
Jangan lupa untuk selalu melakukan backup, bagusnya sih full back up, jadi back up seluruh file dengan databasenya. Backup dapat dilakukan manual, dengan cara mendownload file data dan database di hosting ke komputer kita.
Kelemahan backup secara manual adalah kita sering lupa untuk melakukannya.
Tetapi ada banyak plugin gratis yang mempermudah kita melakukan backup seluruh file dan database seperti Updraftplus, BackWpUp, BackupWordpress dan lain-lain.
Beberapa plugin bahkan dapat diatur jadwal untuk melakukan backup, dan ada yang dapat langsung di backup ke cloud storage seperti google drive, dropbox atau cloud storage lainnya.
Gunakan Limit Login Attempt Plugin
Standarnya wordpress tidak membatasi kesalahan login. Berapa kalipun kita salah memasukkan kombinasi username dan password, kita masih dapat melakukan percobaan login kembali.
Kelemahan ini yang sering dipakai oleh mereka yang menggunakan teknik brute force attack. Mereka dapat membuat script untuk mencoba berbagai kombinasi username dan password secara terus menerus.
Hal ini dapat dicegah dengan menggunakan plugin Limit Login Attempt. Dengan plugin ini kita dapat melakukan pengaturan berapa kali kesalahan login dapat dilakukan.
Sebelum IP address dari orang yang melakukan percobaan login akan di blok untuk periode waktu tertentu.
Misalnya pengaturan di batasi 3 kali kesalahan login.
Setelah tiga kali melakukan kesalahan maka ip address yang melakukan percobaan login akan di blok untuk 5 menit, 15 menit, 24 jam atau bahkan lebih.
Tergantung pengaturan yang kita lakukan. Kelemahannya adalah apabila kita sebagai user juga lupa password yang digunakan. 😀
Dan sudah kita atur di blok satu jam saja, maka kita harus menunggu selama 1 jam untuk dapat login kembali dari IP yang sama.
Sembunyikan URL Login
Setiap wordpress installation akan menggunakan yourdomain.com/wp-admin untuk masuk ke dalam dashboard pengelolaan blog/website.
Untuk mencegahnya kita dapat menggunakan plugin hide login. Dengan plugin ini kita dapat merubah default login urlnya dengan yang kita kehendaki, misalnya menjadi yourdomain.com/masukdisini.
Gunakan Two Factor Authentication
Two Factor Authentication atau dikenal juga dengan 2FA adalah tambahan faktor keamanan ketika kita akan login atau akan melakukan transaksi. Bentuknya dapat OTP (One Time Password), QR Code, Token, yang hanya dimiliki /dipegang oleh user.
Jadi walau si penyerang memiliki username dan password, mereka tidak dapat login bila tidak memasukkan kode keamanan yang dikirimkan ke device atau alat yang telah diatur sebelumnya.
Nonaktifkan xmlrpc.php
Apa itu xmlrpc.php? Xmlrpc.php adalah fitur yang ada di wordpress yang memungkinkan transmisi data.
Fungsi utama dari xmlrpc.php adalah memungkinkan pengguna wordpress untuk dapat terkoneksi dengan web/blog kita menggunakan smartphone.
Beberapa fungsi dari plugin jetpack juga menggunakan file ini, termasuk juga implementasi trackback dan pingback dari blog lain.
Beberapa attacker menggunakan kelemahan dari xmlrpc.php di wordpress. Serangan yang saya terima bentuknya sama. mencoba masuk dengan random username dan password atau brute force attack.
Akhirnya saya nonaktifkan xmlrpc.php ini. Dengan konsekuensi tidak dapat menggunakan aplikasi wordpress di android, dan tidak dapat menggunakan plugin jetpack.
Itulah beberapa cara yang dapat digunakan untuk mengurangi brute force attack pada blog/website yang menggunakan CMS WordPress.
Walau sudah dilindungi dengan berbagai keamanan tambahan, hacker atau attacker akan selalu menemukan cara baru untuk dapat masuk ke dalam blog/website yang menjadi incaran mereka.
Tetapi setidaknya kita sudah melakukan tindakan pengamanan untuk mempersulit mereka dapat masuk ke blog/website yang kita kelola.