Tips ini ditujukan untuk pengguna WordPress sebagai engine blog nya. Sebagai orang yang awam dengan pemrograman dan keamanan website, kita bisa melakukan hal-hal mudah yang bisa membuat blog / website kita menjadi lebih aman. Berikut ini beberapa langkah yang bisa diaplikasikan pada blog wordpress anda.
Buang keterangan versi WordPress yang digunakan
Wordpress secara otomatis menampilkan versi yang sedang digunakan pada bagian head. Hal ini tidak begitu masalah jika blog selalu terupdate menggunakan engine terbaru. Namun jika suatu saat blog anda belum terupdate, maka hacker bisa memanfaatkan celah yang ada pada engine WordPress yang belum terupdate. Tambahkan kode berikut untuk tidak menampilan versi wordpress pada file functions.php theme yg sedang dipakai.
remove_action('wp_head', 'wp_generator');
Hindari menampilkan informasi kesalahan login
Ketika kita gagal login, selalu ada pesan bahwa ada yang salah, semisal salah password atau tidak ditemukan username yang dimaksud. Hal ini sebenarnya sangat berguna bagi kita jika lupa password, namun juga sangat berpotensial sekali untuk dimanfaatkan para hacker. Oleh karena itu kenapa kita tidak disable saja pesan-pesan error tersebut.
Solusinya adalah menghapus pesan error login, buka file functions.php pada theme anda dan paste kode berikut:
add_filter('login_errors',create_function('$a', "return null;"));
Simpan file, dan coba sendiri untuk pengecekan. Masukkan paswword yang salah, jika tidak menampilkan pesan apa-apa maka sudah benar.
Melindungi file wp-config dengan .htaccess
Sebagai pengguna wordpress sudah tentu tahu petapa pentingnya file wp-config.php. Di file ini berisi data penting yang digunakan untuk mengakses database dari blog / website. Username, password, nama server, dan lainnya. Melindungi file wp-config.php sangat mutlak diperlukan. Untuk itu kita bisa memanfaatkan kemampuan Apache untuk keperluan ini. Caranya dengan mengubah file .htaccess. backup dulu sebelum dilakukan perubahan. kemudian tambahkan baris berikut :
<files wp-config.php>
order allow,deny
deny from all
</files>
Blacklist IP yang mencurigakan
Sering kita menjumpai spam-spam yang masuk ke komentar berasal dari IP yang sama. Tidak ada salahnya jika kita langsung menutup akses dari IP tersebut. Caranya masih menggunakan file.htaccess. Tambahkan kode berikut :
<Limit GET POST PUT>
order allow,deny
allow from all
deny from 100.101.102.103
</LIMIT>
Ganti 100.101.102.103 dengan IP address yang dikehendari, maka blog anda tidak akan bisa diakses dari IP tersebut.
Jika ingin mem-blacklist beberapa IP, cukup tambahkan saja seperti ini :
<Limit GET POST PUT>
order allow,deny
allow from all
deny from 100.101.102.103
deny from 93.121.788.322
deny from 223.956.789.217
deny from 128.456.780.897
</LIMIT>
Melindungi dari Script Injections
Script berikut ini menghalangi Script Injections dan usaha-usaha tak diinginkan untuk mengubah nilai variable GLOBAL dan _REQUEST. Paste pada file .htaccess, pastika file tersebut dibackup terlebih dahulu sebelum dilakukan perbahan. Jika ada yang belum tahu dimana file tersebut, letaknya ada di direktori utama wordpress.
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]
Menangkal pencuri konten
Orang biasanya tidak begitu menghiraukan karya tulis orang lain, hal yang paling sering terjadi adalah hot-linking pada file-file gambar yang ada di blog kita. Akibatnya bisa membuat penggunaan bandwidth hosting kita cepat habis. Solusinya adalah menangkal hot-linking dengan menambahkan script berikut pada file .htaccess.
RewriteEngine On
#Ganti ?mysite\.com/ dengan url blogmu
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
#ganti /images/nohotlink.jpg dengan file tipuan
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]
Setelah ditambahkan, lalu save dan tidak akan ada lagi yang bisa melakukan hot-linking ke blog kita. Selain itu juga jika tetap memaksa melakukannya, maka yang tampil adalah file yang bukan sebenarnya.
Menggunakan plugin yang bisa melindungi blog dari request URL berbahaya
Buatlah sebuah file baru dengan nama blockbadqueries.php. Paste kode beikut pada file tersebut.
<?php
/*
Plugin Name: Block Bad Queries
Plugin URI: http://perishablepress.com/press/2009/12/22/protect-wordpress-against-malicious-url-requests/
Description: Protect WordPress Against Malicious URL Requests
Author URI: http://perishablepress.com/
Author: Perishable Press
Version: 1.0
*/
global $user_ID;
if($user_ID) {
if(!current_user_can('level_10')) {
if (strlen($_SERVER['REQUEST_URI']) > 255 ||
strpos($_SERVER['REQUEST_URI'], "eval(") ||
strpos($_SERVER['REQUEST_URI'], "CONCAT") ||
strpos($_SERVER['REQUEST_URI'], "UNION+SELECT") ||
strpos($_SERVER['REQUEST_URI'], "base64")) {
@header("HTTP/1.1 414 Request-URI Too Long");
@header("Status: 414 Request-URI Too Long");
@header("Connection: Close");
@exit;
}
}
}
?>
Simpan, kemudian upload ke wp-content/plugins. Aktifkan plugin tersebut.
Cegah browsing direktori
Pada umumnya directory-listing aktif, sehingga kita bisa tahu file / folder apa saja yang ada di blog tersebut. Contohnya saja, buka www.yourblog.com/wp-includes. Maka akan tampak daftar file-file yang ada pada direktori tersebut. Cara mudahnya adalah dengan menambahkan fileindex.php pada direktori wp-includes dan wp-content.
Pada file index.php isikan list berikut
<?php
echo 'MONYET LU, NGAPAIN NGINTIP!';
?>
Dengan cara ini, maka list file tidak ditampilkan melainkan tulisan seperti di atas yang akan tampil. Tentu anda bisa merubah tulisannya sesuai dengan keinginan.
sumber:smashingmagazine.com