Sebenarnya tutorial ini tidak sepenuhnya mengamankan 100%, namun cara ini dapat membantu teman-teman agar website tidak mudah dibobol, dan memperkuat pengamanannya. Karena memang tidak ada keamanan yang sempurna 100%, serta keamanan bukan one time deal yang bisa hanya sekali setting dan ditinggal. Karena mungkin yang sekarang dianggap aman, nambun besok bisa saja sudah menjadi yang rentan bug karena perkembangan teknologi semakin canggih.
Pada kali ini saya menggunakan hosting dengan webserver menggunakan apache,
1. Sebelum melakukan development, silahkan backup terlebih dahulu database dan filenya. Database dapat di download manual melalui phpmyadmin dan file bisa kamu download dari cpanel langsung dengan mengkompres file dan folder wordpress atau juga bisa menggunakan bantuan plugin backup.
2. Selalu mengupdate versi wordpress, plugin dan tema terbaru,
3. Hapus file atau folder tema dan plugin yang tidak dipakai.
4. Hindari pemakaian username admin sebagai username kamu, usahakan ganti dengan nama yang lain dan pakai password yang kuat dari perpaduan angka, huruf (besar-kecil) dan karakter.
5. Tambahan Install plugin security.
6. Ganti database table prefix menjadi yang unique, secara default adalah ‘wp_’ silahkan ganti menjadi ‘in_’ ‘we_’, ‘po_’, dan lain-lain. Untuk gantinya bisa memakai pulgin wp-security scan.(sebelum melakukan langkah ini cek dulu langkah 1).
7. Blok bot untuk crawl folder tertentu, karena orang yang akan suka bermain deface biasanya hasil dari scan menggunakan Google search engine menggunakan keyword tertentu untuk mencari bug pada website. Silahkan tambahkan perintah berikut ini pada file robots.txt
User-agent: * Disallow: /cgi-bin Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins/ Disallow: /wp-content/cache/ Disallow: /wp-content/themes/ Disallow: */trackback/ Disallow: */feed/ Disallow: /*/feed/rss/$ Disallow: /category/*
8. Melindungi file wp-config dengan menambah rule berikut pada file .htaccess
<Files wp-config.php> Order Deny,Allow Deny from all </Files>
9. Melindungi file htaccess itu sendiri dengan menambah rule berikut pada .htaccess
<Files ~ “^.*.([Hh][Tt][Aa])”> order allow,deny deny from all satisfy all </Files>
10. Melarang directory listing browsing, tambahkan pada .htaccess atau buat file index.php pada tiap folder.
# disable directory browsing Options All –Indexes
11. Melarang beberapa script injection.
# protect from sql injection 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]
12. Mengamankan folder include tambahkan pada .htaccess
# Block the include-only files. RewriteEngine On RewriteBase / RewriteRule ^wp-admin/includes/ – [F,L] RewriteRule !^wp-includes/ – [S=3] RewriteRule ^wp-includes/[^/]+.php$ – [F,L] RewriteRule ^wp-includes/js/tinymce/langs/.+.php – [F,L] RewriteRule ^wp-includes/theme-compat/ – [F,L]
14.Jika diperlukan kamu bisa membuat password lagi pada directory wp-admin dengan memberi password melalui Cpanel “password protect directory” silahkan diberi password pada folder wp-admin.
15. Pasang plugin akismet dan plugin captcha untuk melindungi dari komentar spam.
16. Menonaktifkan atau disable fitur edit tema atau plugin melalui dashboard dengan menambah tag berikut pada file wp-config.php
define('DISALLOW_FILE_EDIT', true);
Dengan menambah tag di atas, maka menu edit theme/plugin pada dashbord dihilangkan, sebagaimana kita tahu biasanya hacker menanam backdor di halaman theme/plugin.
17. Mengubah akses permisi file, dengan memberikan perintah CHMOD pada file wp-config menjadi 400 atau 600.
18. Untuk melakukan ini bisa kamu tambahkan melalui php.ini (jika hosting kamu ada dan memperbolehkan) atau .htaccess
Disable register_globals Disable allow_url_fopen Disble display_errors disable_functions = show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open
19. Lakukan backup berkala pada akun hosting atau website kamu.