Beberapa waktu kemarin saya membahas mengenai cara memperbaiki WordPress yang dihack, namun demikian, masih ada satu poin penting lagi yang ...
Beberapa waktu kemarin saya membahas mengenai cara memperbaiki WordPress yang dihack, namun demikian, masih ada satu poin penting lagi yang harus dibicarakan, yaitu bagaimana cara mencegah hack pada WordPress, baik bagi website yang belum mengalami dampak hack maupun yang sudah mengalaminya. Anda harus memahami celah apa saja yang memungkinkan terjadinya hack dan apa yang harus dilakukan untuk menutup celah tersebut semaksimal mungkin.
Seperti kasus yang baru-baru ini terjadi pada hampir seluruh website berbasis WordPress di seluruh dunia, akses hacker ke WordPress paling lazim ditemui adalah melalui pemecahan sandi login secara kasar/acak (Brute Force Login). Proses ini disebut sebagai defacing, dan sudah bukan rahasia lagi jika kebanyakan hacker dengan metode ini menggunakan WP Bruteforce; tapi saya tidak perlu menjelaskan dan membahasnya. :)
Meski metode ini memiliki banyak kelemahan, sayangnya kebanyakan instalasi WordPress (khususnya yang berkaitan dengan login) dibiarkan begitu polosnya sehingga mudah ditembus, terutama instalasi WordPress milik mereka yang baru terjun di WordPress dan menggunakan instalasi otomatis semacam Softaculous atau Fantastico. Sebagian besar yang menggunakan auto installer membiarkan field (bidang) isian instalasi terisi secara default, khususnya pada username: ADMIN dan menggunakan password: ALAKADARNYA. Selain itu, ada berbagai macam usaha hacker untuk mengutak-atik website; mulai dari mengubah file WordPress seperti index.php, SQL injection, hack htaccess, injeksi script, dan masih banyak lagi.
Username ‘admin’ disediakan WordPress sebagai default. Karena begitu umum digunakan, maka dapat dipastikan bahwa banyak pengguna WordPress yang tidak mau repot mengurus data login ketika install WordPress baru memakai username ini. Sebagai bagian dari unsur login, maka username adalah objek vital pertama yang harus diketahui hacker. Jadi, username ‘admin’ adalah target utama mereka. So, pastikan anda mengganti username dari ‘admin’ ke username lain yang lebih khusus. Ubah melalui PHPMyAdmin seperti cara reset password yang telah saya sampaikan di artikel mengatasi hack WordPress. Alternatifnya, gunakan plugin “Admin Username Changer” atau “Admin Renamer Extended” untuk mengubah username dari dashboard WordPress.
Password
Jangan pernah gunakan password yang terlalu mudah ditebak dan variasikan karakter yang digunakan, besar kecil huruf, angka, dan simbol. Misalnya: %S4mP3a$N290. Jangan pernah merasa ribet dengan password rumit, anda bisa menyimpan di tempat paling aman dan bisa melihatnya kapan saja jika lupa, atau reset melalui WP Login. Semakin rumit, semakin bagus!
Jangan pernah menggunakan tanggal lahir, nama, nama hewan peliharaan, hobi, dan hal-hal di sekitar anda yang bisa diketahui lewat berbagai profil online anda maupun teman anda. Teman adalah teman, tapi rahasia tetaplah rahasia :)
Login Attempt
Secara default, WordPress tidak membatasi usaha login yang gagal. Inilah salah satu celah brute force. Batasi usaha login, misalnya maksimal hingga 5 kali dalam 1 – 24 jam, terserah sesuai keinginan dan kecurigaan anda. Gunakan beberapa plugin keamanan WordPress (rujukan daftar plugin di bawah).
Kelihatannya tidak ada masalah dengan link di footer seperti itu? Ada! Para hacker biasanya menggunakan keyword tersebut sebagai kueri pencarian di WordPress, cara ini biasa disebut sebagai “dorking”, menandakan bahwa yang meninggalkan jejak seperti di atas sebagai “dork”. Untuk menghapus link itu, buka file editor pada appearance > editor > footer.php
WordPress Version
WordPress menggunakan meta generator untuk menampilkan platform dan versi WordPress yang digunakan (WP version). Hacker menggunakan informasi versi WordPress untuk melihat celah apa saja yang sudah diketahui pada sebuah versi WordPress. Menyembunyikan versi WordPress ini akan menjadi penutup celah kecil namun efeknya besar.
Untuk menghapus meta tersebut, anda bisa menggunakan kueri PHP berikut, letakkan saja di dalam functions.php.
Directory = Permissions
./ (root directory) = 755
wp-admin/ = 755
wp-content/ = 755
wp-includes/ = 555
Rujukan: Sebagian besar upaya di atas dapat dilakukan dengan bantuan plugin, baik untuk scanning, mengamankan login, dan usaha-usaha penting lainnya, semua sudah saya bahas tuntas di halaman Daftar Plugin Keamanan WordPress
Seperti kasus yang baru-baru ini terjadi pada hampir seluruh website berbasis WordPress di seluruh dunia, akses hacker ke WordPress paling lazim ditemui adalah melalui pemecahan sandi login secara kasar/acak (Brute Force Login). Proses ini disebut sebagai defacing, dan sudah bukan rahasia lagi jika kebanyakan hacker dengan metode ini menggunakan WP Bruteforce; tapi saya tidak perlu menjelaskan dan membahasnya. :)
Meski metode ini memiliki banyak kelemahan, sayangnya kebanyakan instalasi WordPress (khususnya yang berkaitan dengan login) dibiarkan begitu polosnya sehingga mudah ditembus, terutama instalasi WordPress milik mereka yang baru terjun di WordPress dan menggunakan instalasi otomatis semacam Softaculous atau Fantastico. Sebagian besar yang menggunakan auto installer membiarkan field (bidang) isian instalasi terisi secara default, khususnya pada username: ADMIN dan menggunakan password: ALAKADARNYA. Selain itu, ada berbagai macam usaha hacker untuk mengutak-atik website; mulai dari mengubah file WordPress seperti index.php, SQL injection, hack htaccess, injeksi script, dan masih banyak lagi.
Langkah Dasar Mengamankan WordPress
1. Backup
Aktivitas penting bagi semua website, dengan platform apapun termasuk WordPress, adalah backup. Backup dapat menyelamatkan website anda dari segala kerusakan karena server error atau hack. Lakukan backup secara rutin/berkala. Jika hosting anda tidak menyediakan layanan backup rutin, lakukan proses backup sendiri. Untuk WordPress, ada banyak plugin gratis maupun berbayar untuk mempermudah anda melakukan proses backup.2. Amankan WP Login
UsernameUsername ‘admin’ disediakan WordPress sebagai default. Karena begitu umum digunakan, maka dapat dipastikan bahwa banyak pengguna WordPress yang tidak mau repot mengurus data login ketika install WordPress baru memakai username ini. Sebagai bagian dari unsur login, maka username adalah objek vital pertama yang harus diketahui hacker. Jadi, username ‘admin’ adalah target utama mereka. So, pastikan anda mengganti username dari ‘admin’ ke username lain yang lebih khusus. Ubah melalui PHPMyAdmin seperti cara reset password yang telah saya sampaikan di artikel mengatasi hack WordPress. Alternatifnya, gunakan plugin “Admin Username Changer” atau “Admin Renamer Extended” untuk mengubah username dari dashboard WordPress.
Password
Jangan pernah gunakan password yang terlalu mudah ditebak dan variasikan karakter yang digunakan, besar kecil huruf, angka, dan simbol. Misalnya: %S4mP3a$N290. Jangan pernah merasa ribet dengan password rumit, anda bisa menyimpan di tempat paling aman dan bisa melihatnya kapan saja jika lupa, atau reset melalui WP Login. Semakin rumit, semakin bagus!
Jangan pernah menggunakan tanggal lahir, nama, nama hewan peliharaan, hobi, dan hal-hal di sekitar anda yang bisa diketahui lewat berbagai profil online anda maupun teman anda. Teman adalah teman, tapi rahasia tetaplah rahasia :)
Login Attempt
Secara default, WordPress tidak membatasi usaha login yang gagal. Inilah salah satu celah brute force. Batasi usaha login, misalnya maksimal hingga 5 kali dalam 1 – 24 jam, terserah sesuai keinginan dan kecurigaan anda. Gunakan beberapa plugin keamanan WordPress (rujukan daftar plugin di bawah).
3. Ganti WordPress Security Keys (+ SALT)
Seperti yang sudah saya bahas sebelumnya, WordPress menggunakan 8 lapis security key (ditambah dengan SALT yang sekarang ada 4 buah) yang masing-masing instalasi pasti memiliki perbedaan, sekecil apapun itu. Ganti security keys secara berkala, misalnya 3 bulan sekali untuk memastikan WordPress selalu aman. Dapatkan security key di sini (sudah auto generated) dan ganti 6 atau 8 baris security key di wp-config.php. Dari cPanel > File Manager > Public HTML > Edit wp-config.php; temukan 6 atau 8 baris security key itu dan ganti dengan yang baru, save.4. Scan WordPress
Melakukan scanning terhadap adanya kemungkinan malware, script berbahaya, virus, dan celah keamanan (security hole) adalah hal penting. Gunakan plugin-plugin scanning (rujukan daftar plugin di bawah). Proses ini menjadi semakin wajib apabila sebuah instalasi WP baru dikembalikan dari hack.5. Hati-hati dalam Menggunakan Theme dan Plugin
Bisa jadi sebuah instalasi WordPress tampak aman, tapi sebenarnya masih memiliki celah, dan celah itu kadang dibuat oleh si pemilik website sendiri. Kasus injeksi script atau malware berbahaya sebagian besar disebabkan oleh penggunaan plugin atau theme WordPress yang sudah di-nulled. Dalam kata lain, banyak plugin dan theme premium yang disebarkan secara gratis sudah diinjeksi dengan script atau malware. Pengguna theme/plugin premium gratisan yang tidak mawas akhirnya akan menemukan link-link dan keyword aneh yang muncul di deskripsi hasil pencarian Google atau view source, mendapat warning malware dari Google, situs menjadi berat, dashboard berubah menjadi aneh, dan berbagai kasus identik lainnya. Kasus yang paling sering terjadi adalah injeksi script yang sudah dienkripsi (base64) sehingga pengguna awam akan melihatnya sebagai script penting (nampak seperti script untuk menarik jquery) padahal justru berbahaya.6. Hapus/Sembunyikan “Jejak” WordPress
“Powered by WordPress”Kelihatannya tidak ada masalah dengan link di footer seperti itu? Ada! Para hacker biasanya menggunakan keyword tersebut sebagai kueri pencarian di WordPress, cara ini biasa disebut sebagai “dorking”, menandakan bahwa yang meninggalkan jejak seperti di atas sebagai “dork”. Untuk menghapus link itu, buka file editor pada appearance > editor > footer.php
WordPress Version
WordPress menggunakan meta generator untuk menampilkan platform dan versi WordPress yang digunakan (WP version). Hacker menggunakan informasi versi WordPress untuk melihat celah apa saja yang sudah diketahui pada sebuah versi WordPress. Menyembunyikan versi WordPress ini akan menjadi penutup celah kecil namun efeknya besar.
Untuk menghapus meta tersebut, anda bisa menggunakan kueri PHP berikut, letakkan saja di dalam functions.php.
<?php remove_action('wp_head', 'wp_generator'); ?>Sebagai alternatif, gunakan plugin untuk menyembunyikan versi WordPress (rujukan daftar plugin di bawah).
7. Ubah File Permissions
Membatasi akses dan modifikasi file atau folder adalah langkah preventif untuk membatasi akses pihak lain dan engine pada file atau folder tersebut. Sebagai dasar security pada file WordPress, saya menyarankan setting file permissions sebagai berikut:Directory = Permissions
./ (root directory) = 755
wp-admin/ = 755
wp-content/ = 755
wp-includes/ = 555
8. Update, Update, Update!
WordPress adalah platform blog/web sekaligus CMS yang memiliki update paling rutin, didukung oleh berbagai developer yang sudah mumpuni, memiliki komunitas platform yang sangat luas, dan selalu diuji setiap saat. Oleh karena itu, jangan pernah mengabaikan update yang dirilis. Setiap udpate WordPress selalu diikuti dengan update sistem keamanan yang terus diperkaya dan diperbarui. Boleh jadi anda merasa aman pada suatu versi, namun demikian anda membuka celah hack yang semakin lebar. Semakin lama versi, semakin besar celah yang diketahui.Rujukan: Sebagian besar upaya di atas dapat dilakukan dengan bantuan plugin, baik untuk scanning, mengamankan login, dan usaha-usaha penting lainnya, semua sudah saya bahas tuntas di halaman Daftar Plugin Keamanan WordPress
COMMENTS