Tips Menjaga Dan Melindungi Keamanan WordPress
Tips menjaga dan melindungi keamanan wordpress, ya judul ini mungkin terasa agak bombastis tapi gak ada salahnya dicoba. Sebuah system keamanan memang gak ada yang sempurna. Di atas langit masih ada langit, bayangkan yang sudah super master aja seperti Google masih bisa kebobolan apalagi kita para newbie. Tapi apa lantas kita menyerah untuk terus mencari cara terbaik untuk melindungi blog kita dari ulah tangan-tangan usil dan iseng? Jawabannya pasti tidak. Untuk itu mari terus kita tingkatkan keamanan blog kita sembari berdoa tentunya semoga tidak ada yang iseng atau menjahili blog kesayangan kita.
Beberapa hal yang perlu kita lakukan yaitu :
1. Gunakan password yang kuat, anda bisa menggunakan plugin WP Security Scan untuk mengecek kekuatan password yang kita gunakan atau bisa memanfaatkan tool online yang banyak bertebaran, silahkan googling aja.
2. Segera update wordpress ke versi terbaru, karena jika masih menggunakan versi lama akan rentan terhadap serangan-serangan “tamu tak diundang”, penyusup atau para hacker lebih tepatnya mungkin cracker.
3. Menyembunyikan versi wordpress penjelasan dan caranya bisa dibaca di postingan ini : cara menyembunyikan versi wordpress.
4. Mengganti username dan password admin account
Caranya buat user baru dan jadikan sebagai administrator, kemudian log in kembali dengan user baru dan hapus user admin. Atau dengan cara mengganti username dan password wordpress melalui PhpMyAdmin yang ada di Cpanel caranya ada di postingan ini : Cara mengganti username dan password wordpress.
5. Pindahkan File wp-config.php
Wp-config merupakan file yang mengonfigurasi database setting (database username dan password), table prefix, secret keys, bahasa, dan ABSPATH. Tanpa file ini, WordPress tidak akan berfungsi. File ini dapat disimpan di luar root direktori WordPress sejak WordPress 2.6. Caranya pindahkan file wp-config.php satu level di atas root direktori WordPress. WordPress secara otomatis akan mencari file ini bila tidak menemukannya di root direktorinya. Cara ini diasumsikan jika anda menginstall wordpress di direktori tersendiri misalnya /public_html/wordpress dan bukan di root direktori hosting /public_html.
6. Gunakan Secret Keys
Secret Keys dibuat untuk lebih menjamin informasi yang tersimpan pada cookies terenskripsi secara lebih baik. Caranya gunakan online generator pada http://api.wordpress.org/secret-key/1.1/. Di sana akan terlihat 4 Secret Keys yang secara acak terbentuk. Copy Secret Keys tersebut kemudian buka file wp-config.php dan paste ke posisi di mana keempat Secret Keys ini diletakkan.
Update :
WordPress saat ini sudah menggunakan 8 Secret Keys, untuk info detailnya bisa dibaca di postingan ini : Optimasi Secret Key pada file wp-config.php
7. Ganti WordPress table prefix default
Standar tabel prefix instalasi WordPress adalah ‘wp_’. Kita dapat mengganti $table_prefix value pada file wp-config.php.
Tetapi bila kita menggantinya setelah menginstall WordPress, kita bisa memanfaatkan plugin WP Security Scan atau tabel prefix changer, atau bisa dengan perintah SQL pada database melalui PhpMyAdmin. Jangan lupa back up terlebih dahulu sebelum melakukannya.
8. .htaccess lockdown
Cara ini akan melindungi wp-admin direktori melalui .htaccess. Cara ini bekerja dengan mengunci akses terhadap wp-admin melalui IP address. Jadi, hanya IP address tertentu yang dapat mengakses wp-admin kita. Dan hampir tidak mungkin orang lain dengan IP address yang berbeda bisa mengakses wp-admin. Kode yang harus dibuat pada file .htaccess.
AuthUserFile /dev/null AuthGroupFile /dev/null AuthName “Access Control” AuthType Basic order deny,allow deny from all #IP address to Whitelist allow from xxx.xxx.xxx.xxx
Ganti xxx dengan IP address kita. IP address dapat ditambahkan lebih dari satu dengan menambahkan IP address yang diperbolehkan mengakses wp-admin.
Cara ini khusus bagi pengguna WordPress dengan static IP address. Bila kita menggunakan koneksi internet dengan dynamic IP address, maka cara ini tolong diabaikan, bisa jadi anda malah tidak bisa mengapdet blog kesayangan.
9. Buat file .htaccess di dalam folder wp-admin dengan kode seperti ini :
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress10. Sembunyikan Plugin yang defaultnya terletak pada http://domainanda.com/wp-content/plugins. Kenapa harus disembunyikan? Kalau gak diumpetin bisa dimanfaatkan para penyerang bila ada 404 error page. Caranya buat file .htaccess dan tempatkan di folder /wp-content/plugins dengan kode seperti ini :
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# Prevents directory listing
IndexIgnore *
# END WordPressCara lain untuk menyembunyikan plugins yaitu dengan membuat file index.php yang isinya kosong kemudian upload ke wp-content/plugin. Atau cara lain untuk membuat file .htaccess untuk melindungi direktori wp-admin, wp-includes dll anda bisa memanfaatkan fasilitas Leech Protect dari Cpanel tempat anda hosting wordpress.
11. Private Login
Default URL untuk login ke WordPress adalah http://domain.com/wp-login.php atau http://domain.com/wp-admin yang nantinya akan diredirect ke http://domain.com/wp-login.php. Untuk lebih meningkatkan keamanan wordpress, anda bisa mengganti wp-login.php dengan nama lain sesuai selera, caranya silahkan baca postingan teman saya Kang Jhezer di postingan ini : Private Login.
12. Lindungi File .httaccess
Untuk melindungi file .httaccess caranya tambahkan kode berikut ini di dalam file .httaccess yang ada di root direktori WordPress.
# STRONG HTACCESS PROTECTION <Files ~ "^.*\.([Hh][Tt][Aa])"> order allow,deny deny from all satisfy all </Files>
13. Lindungi file wp-config.php dan wp-settings.php
Untuk melindungi file wp-config.php caranya tambahkan kode berikut ini di dalam file .httaccess yang ada di root direktori WordPress.
# protect wp-config.php <files wp-config.php> order allow,deny deny from all </files>
Untuk melindungi file wp-config dan wp-settings.php sekaligus tambahkan kode berikut ini di dalam file .httaccess yang ada di root direktori WordPress.
# protect wp-config.php & wp-settings.php <FilesMatch "(wp-config|wp-settings)\.php$"> Order deny, allow deny from all </FilesMatch>
Gunakan Plugin untuk menjaga keamanan wordpress di antaranya :
1. Limit Login Attempts
Plugin ini dapat melakukan blok terhadap user selama 20 menit setelah salah memasukan password sebanyak 4 kali (dapat di setting manual). Hal ini akan menjadi jalan terbaik untuk mengatasi serangan berupa Brute Force. Download plugin limit login attempts.
2. WP Security Scan
Plugin ini menawarkan beberapa fitur ganda seperti file permission, menyembunyikan versi wordpress, database security dan proteksi terhadap admin area. Plugin ini juga dapat melakukan scanning terhadap direktory web dan memberi report menganai file permission yang seharusnya. Download plugin wp security scan.
3. Sabre
Fungsi plugin ini dapat menghentikan pendaftaran pengguna palsu yang dilakukan oleh bots. Plugin Sabre dapat menambahkan gambar verifikasi atau uji matematika untuk proses registrasi agar dapat memastikan pengguna yang sudah terdaftar tidak palsu.
4. Semisecure Login
Plugin ini berguna untuk meningkatkan keamanan dari proses login dengan menggunakan kunci publik untuk mengenkripsi password pada sisi klien.
5. Secure WordPress
Plugin ini akan menjaga dengan aman instalasi wordpress kita dengan sedikit fungsi bantuan. Dia dapat menyembunyikan informasi mengenai versi instalasi wordpress kita yaitu dengan :
- Menghapus kesalahan-informasi pada halaman login
- Menambahkan indeks.html ke-direktori plugin (virtual)
- Menghapus Really Simple Discovery
- Menghapus wp-versi, kecuali di daerah-admin
- Menghapus tema-update informasi bagi non-admin
- Menghapus Windows Live Writer
- Menambahkan string untuk digunakan WP Scanner
- Menghapus inti memperbarui informasi untuk non-admin
- Menghapus plugin-update informasi bagi non-admin
6. Bad Behavior
Plugin ini sebagai pemeriksa IP pengunjung terhadap Database Proyek Honey Pot untuk melihat apakah itu sebuah spammer. Jika berbahaya, IP tersebut dapat diblokir untuk mengakses blog Anda.
Dan masih banyak lagi cara lainnya, apalagi yaaa …. ada yang mau menambahkan … ??? biar lebih lengkap.
thanks, this tips is very useful
Reply
waduh wordpress saya udah aman belum yah ?
Reply
amnkan word press kita segera gan????heee..
Reply
Mas Alwi, tentang file wp-config.php yang bisa dipindahkan, saya sudah coba. Tapi hasilnya malah bikin satu celah baru yang sangat rawan. WordPress kita jadi dianggap belum terinstall!
Atau mungkin saya salah menempatkan file-nya. Maksud satu tingkat di atas root direktori wordpress itu bagaimana tepatnya? APakah berarti sebelum masuk ke direktori utama wordpress? Atau satu kedalaman lagi setelah masuk? (misalnya pada direktori wp-admin, wp-includes, atau wp-content).
Reply
Alwi Reply:25-06-2011 at 23:33
Cara ini bisa digunakan jika wordpress diinstall bukan di root direktori hosting (kaan banyak juga yg diinstall bukan di root) tapi satu level di bawahnya misalnya
/public_html/wordpress, jadi file wp-config.php bisa dipindahkan ke atasnya (/public_html) atau kalau di server lokal dg xampp misalkan kita buat root wordpress dilocalhost/bloglokalku.com(di bawah /htdocs) maka kita bisa pindahkan ke direktori di atasnya yaitu/htdocs, file wp-config.php disimpan di luar root direktorilocalhost/bloglokalku.com(satu level di atas root direktori bloglokalku.com). Mohon maaf jika agak terkecoh, di postingan sudah saya tambahkan keterangannya. Sebenarnya bisa juga dipindahkan ke atasnya meskipun diinstall di root misalkan dipindahkan ke /home/namauser/wp-config.php tapi harus ngehack file wp-config.php dulu supaya patch-nya cocok dg tempat kita pindahin filenyaReply
iskandaria Reply:26-06-2011 at 16:34
Oh, begitu ya ternyata. Baru saya jelas. Tapi berhubung kontrol panel hosting blog saya bukan pakai cPanel, jadi saya perlu sedikit menyesuaikan. Makasih banyak atas penjelasannya mas.
Reply
sebelumnya saya telah Mendisable Akses Directory WordPress yang saya temukan artikelnya di blog ini. dan hasilnya mengarah ke halaman page not found (hasil 404.php), tapi sudah saya atur jika muncul page not found akan muncul hasil kreasi plugin seo alrp, mas,
saya masih bingung terhadap cara proteksi nomor 10 di tutorial di atas tentang sembunyikan plugin..
maksud kalimat ini apa ya mas ?
“Kalau gak diumpetin bisa dimanfaatkan para penyerang bila ada 404 error page”
klo boleh tanya 404 error page = page not found = 404 not found?
halaman yang tergenerate oleh 404.php kah?
Reply
Saya coba pelan-pelan satu persatu dulu yah..
Reply
Luar biasa penjelasannya…sangat lengkap
Reply
Info yang sangat menarik dan berguna…
ijin Bookmarks Mas :)
Reply
Mas, saya udah nerapin beberapa tips di atas, tapi jadinya tiap kali saya logout dari dashboard ada error ‘WordPress Failure Notice’, walopun memang masih berhasil log out, tapi cukup mengganggu errornya.
Jadinya saya balikin ke settingan awal sebelum nerapin tips di atas, tapi kenapa errornya masih muncul ya mas?
Mohon saran nya ya mas. Trims
Reply