13 Tips Memproteksi Ruang Admin Blog WordPress
Posted on 21. Aug, 2009 by abbie in WP Plugin
Yap. Ruang admin blog WordPress kita memang seharusnya diproteksi. Sudah tahu kan, WP versi 2.8.3 ternyata juga punya security hole? Seseorang bisa saja mereset password akun admin kita di WP 2.8.3. Memang, password yang baru akan di email dan si orang iseng tidak bisa melakukan remote access. Tapi hal ini tentu saja menyebalkan. Yang ndak percaya, silahkan baca WordPress security release. Akhirnya, upgrade ke WordPress 2.8.4 adalah musti.
Setelah ikutan upgrade blog ini ke 2.8.4, saya lalu cari-cari artikel tentang cara memproteksi admin area. Ada postingan yang bagus ( menurut saya ) di WPBeginner.com, 13 vital tips and hacks to protect your WordPress admin area. Postingan ini adalah interpretasi artikel English itu oleh saya, seorang blogger jowo.
Jadi kalau rasanya rada-rada aneh, wis.. maklum aja ya.
Disclaimer: Saat tulisan ini di-publish, saya belum mencoba semua tips yang ditulis di sini, kecuali tips2 general semisal password yang unik, tidak memakai admin sebagai username atau selalu update dengan WP versi terakhir. Postingan ini lebih dilatarbelakangi pada berbagi temuan artikel yang (mungkin) bermanfaat.
Inilah 13 tips memproteksi ruang admin blog WordPress kita. Tidak harus semuanya, tapi mengimplementasi sedikit diantaranya akan memastikan admin area kita aman dari tangan-tangan hacker kurang kerjaan.
1. Mengkustomisasi link login
Login ke admin WordPress biasanya dengan url /wp-login.php. Nah.. jika kita menggunakan password yang sama di beberapa tempat yang ‘berbahaya’, maka blog kita akan berpotensi mudah di-hack. Kita bisa menginstal plugin Stealth Login yang akan membantu kita menciptakan custom url untuk login, logout dan registrasi ke blog kita. Juga ada opsi “Stealth Mode” yang akan mencegah user mengakses wp-login.php secara langsung, termasuk mengeset url login kita menjadi lebih tersembunyi.
Cara ini tidak akan mengamankan blog kita dengan sempurna. Tapi paling tidak, seseorang yang mencoba ngecrack password kita akan kesulitan menemukan link untuk login. Cara ini juga mencegah bot-bot maling mengakses wp-login.php dan mencoba masuk ruang admin tanpa ijin.
2. Gunakan password yang kuat ( baca: unik )
Manfaatkan WordPress Password Strength Detector untuk memastikan password kita sangat strong. Jangan menggunakan password yang sama di tempat yang lain. Cobalah untuk membuat password yang masing-masing berbeda dan sangat sulit ditebak.
Hal yang lain yang sebaiknya kita lakukan adalah mengubah password kita secara berkala. Jadi jika password kita bisa ditebak oleh seseorang, password itu tidak akan ada gunanya karena kita telah mengubahnya. Kacian deh gue..
3. Membatasi jumlah login
Kadang seorang hacker berpikir bahwa dia tahu password kita. Atau mungkin dia mengembangkan sebuah script untuk menebak password. Jika ini masalahnya, kita bisa membatasi jumlah login. Hanya 3 kali login misalnya. Plugin Login Lockdown bisa kita install untuk mengunci user setelah beberapa kali salah memasukkan password. Mereka akan locked out selama beberapa waktu tertentu. Setting jumlah login dan waktu lock out bisa kita lakukan di panel wp-admin.
4. Menggunakan halaman SSL untuk login
Kita dapat login ke ruang admin WordPress dengan menggunakan encrypted channel seperti SSL. Dengan cara ini url login kita akan menjadi https://. Masalahnya, kita harus menanyakan terlebih dahulu ke webhosting, apakah kita memiliki Shared SSL atau SSL certificate. Jika iya, kita bisa meng-copy kode berikut ini ke dalam file wp-config.php :
define(’FORCE_SSL_ADMIN’, true);
Atau, gunakan saja plugin Admin SSL yang akan menjadikan SSL untuk semua halaman. Dengan plugin ini lebih mudah, tapi hanya kompatibel untuk WordPress 2.7 ke atas.
5. Membuat password untuk folder wp-admin
Tidak ada yang salah dengan memakai 2 password. Ini hanya menambahkan lapisan keamanan ruang admin blog WP kita. Kita bisa menginstal plugin AskApache Password Protect untuk melakukan hal ini. AskApache Password Protect akan mengenkripsi password kita kemudian membuat file .htpasswd, termasuk mengeset file permissions yang seharusnya.
Dengan cPanel pada webhosting, kita juga dapat memakai cPanel Password Protection untuk memproteksi folder wp-admin kita dengan password.
6. Membatasi akses hanya dari IP Address tertentu
Kita dapat membuat wp-admin kita hanya bisa diakses dari IP address tertentu yang kita pilih. Caranya, buatlah file .htaccess di folder wp-admin, lalu tambahkan code di bawah ini. Jangan lupa ganti xx.xx.xx.xxx dengan IP address yang anda tentukan.
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName “WordPress Admin Access Control”
AuthType Basic
order deny,allow
deny from all
# whitelist Syed’s IP address
allow from xx.xx.xx.xxx
# whitelist David’s IP address
allow from xx.xx.xx.xxx
# whitelist Amanda’s IP address
allow from xx.xx.xx.xxx
# whitelist Muhammad’s IP address
allow from xx.xx.xx.xxx
# whitelist Work IP address
allow from xx.xx.xx.xxx
Jeleknya, kita tidak bisa mengakses wp-admin dari komputer lain yang IP addressnya belum kita allow, kecuali kita menambahkan IP-nya di file .htaccess ini.
7. Jangan pernah gunakan ‘admin’ sebagai username
Ndak usah panjang lebar ya. Pilih username yang lain, lalu setting rollnya sebagai administrator. Jangan lupa delete saja akun admin yang kita dapat default saat instalasi WordPress. Saya sedikit menulis cara mengubah username dan password admin pada postingan saya tentang cara menginstall WordPress ke komputer.
8. Menghilangkan Error Message pada halaman login
Jika kita salah memasukkan username atau password ketika login ke admin WP, kita akan mendapat error message. Bagi hacker yang berpengalaman, error message ini akan membantunya ( abbie: saya juga bingung, message simpel seperti itu gimana bisa jadi clue ya?? ). Untuk itu, error message ini direkomendasi untuk dihilangkan saja.
Caranya, buka file functions.php di folder theme lalu salin code berikut ini :
add_filter('login_errors',create_function('$a', "return null;"));
Atau kalau nggak mau repot, install saja plugin Secure WordPress untuk mengerjakannya.
9. Menggunakan encrypted password untuk login
Jika kita tidak memiliki SSL, metode ini bisa digunakan. Sebuah plugin WordPress, Semisecure Login Reimagined, meningkatkan keamanan proses login dengan menggunakan RSA public key untuk mengenkripsi password di client-side ketika seorang user sedang login. Server kemudian mendekripsi password yang telah dienkripsi tadi dengan menggunakan private key. JavaScript harus diaktifkan untuk melakukan enkripsi.
10. WordPress AntiVirus Protection
AntiVirus adalah sebuah plugin WordPress yang efektif untuk melindungi blog kita dari injeksi spam. Fitur yang special dari plugin ini adalah testing manual dengan hasil yang langsung diperoleh berupa file-file yang terinfeksi. Juga ada cek otomatis setiap hari disertai dengan notifikasi per email.
11. Selalu update dengan WordPress versi terbaru
Setiap rilis versi terbaru WordPress selalu diikuti juga dengan rilis temuan-temuan bug atau celah keamanan pada WordPress versi sebelumnya. Sebaiknya segera upgrade daripada admin blog WP kita terkena resiko yang aneh-aneh.
12. One Time Password
Untuk memproteksi wp-admin, kita bisa juga menginstal plugin One Time Password. Dengan plugin ini kita dapat login ke blog WordPress kita dengan menggunakan password yang hanya valid untuk satu kali session. One Time Password mencegah terjadinya pencurian password utama blog WordPress kita yang mungkin terjadi pada lokasi-lokasi yang kurang aman, seperti internet café yang menginstal keylogger.
13. WordPress Firewall
Plugin WordPress Firewall dapat mendeteksi, mencegah dan mencatat parameter-parameter mencurigakan yang mencoba masuk ke admin blog kita, lalu me-redirect mereka ke homepage. Plugin ini kemudian akan mengirim email ke kita setiap kali ada seseorang yang mencoba nge-hack ke wp-admin, lengkap dengan IP address-nya. Kita juga dapat memilihnya sebagai plugin pertama yang dieksekusi untuk mendapatkan keamanan maksimal.
—
Selesai. 13 tips untuk memproteksi ruang admin blog WordPress kita ternyata sangat dipermudah karena banyak yang menggunakan plugin. Hmm.. enaknya pake WordPress.


Lapor gan, ga semua tips itu saya pake…


Lapor gan, gambarnya di hotlink protected sama wpbeginner
rismaka’s last blog.. Sebuah Diskusi : Mengapa Komentar Saya Tidak Ditanggapi?
Gak musti semua dipake Gan. Pilih aja yg paling enak.
Sy jg mo coba beberapa.
Weh.. iya. Imagenya jadi ilang semua ya? Pdhal sy dah minta ijin lho.
Kmrn malem jg msh gak papa. Ntar nyari lg deh..
Wah, diriku nggak pake Wp, jadi cuma bisa mangap2 aja ni bro, hehehehe….


Banyak juga ya yang harus diproteksi
Mw ini itu harus hati2
Zippy’s last blog.. Pendet Asli Malaysia?
repot sekali se, makane aku luweh seneng blogger ixixixixix
cebong ipiet’s last blog.. Ramadan 2009 Calendar and Greetings Card
mantap gan
cow’s last blog.. Cara cepat melihat urutan Web ato blog kita di google
heheheh untung saya masih pake yang lama habis yang baru gak familiar alias bingung tapi infonya sangat membantu thanks……….
wao mantao bro infonya ^^ hehehe,kalo boleh tukeran link yuk bro ^^ hehehe
Juliawan’s last blog.. Website Informasi Jual/Beli/Sewa Rumah/Apartemen/Tanah Paling Lengkap
salam kenal mas. btp tukar linknya mas yuk
izzue’s last blog.. Ngeblog atau Lapar
@ Zippy,
Tips ini sebnrnya pilihan klo kita mau proteksi admin area. Ndak hrs dipke semua kok.
@ Cebong,
Ah.. ndak repot kok Jeng. Apalg kebanyakan pke plugin.
Cuma instal, lgsg jln.
eh.. tp sy blm nyobain ding.
Ntar klo dah nyoba, ta’ceritain deh.
@ Cow,
Trm ksh dah komen Gan..
@ Dendin,
Maksudnya pke WP versi lama ya mas?
Lebih baik diupgrade aja. Lebih safe.
@ Juliawan,
Sy brsan maen ke blognya kok gak bs2 ya mas?
Loading mulu..
@ Izzue,
Salam kenal lg mas.
Tukeran link? Boleh mas..
Terima kasih tips-nya, sangat informatif
Ash-Shaf media’s last blog.. Puasa 6 Hari pada Bulan Syawwal
very nice tips thank you so much
willy’s last blog.. Comment on Personal Development and Network Marketing by Personal Development and Network Marketing | Another Story From Me
mas kalo blogku sudah dihack dan gak bisa dibuka lagi apa harus beli domain baru
@ Andrian,
Duh.. Saya belum pernah pny pengalaman mas. Mg2 sih jgn
Mgkn mas bs baca artikel ini. Siapa tau bermanfaat:
http://ocaoimh.ie/89493734/did-your-wordpress-site-get-hacked/
http://smackdown.blogsblogsblogs.com/2008/06/24/how-to-completely-clean-your-hacked-wordpress-installation/
http://blog.oddhead.com/2009/06/22/un-hacking-my-blog/
Mas cara instal java script untuk plugin semisecure-login-reimagined gimana aku masih bingung cara nginstalnya soalnya setiap kali diaktifkan pluginnya selalu ada tulisan “SemisecureLoginReimagined has not been activated!
OpenSSL doesn’t appear to be available. This plugin relies on OpenSSL and won’t work until it’s been installed.”
andrian’s last blog.. Daftar blog/web ke 132 mesin pencari
@ Andrian,
), hostingan kt mesti support OpenSSL, php 4.3+ dan WP 2.7+.
Sy install plugin SLI ini yg versi 3.0.8.3 berjalan lancar.
Baca di plugin homepagenya (meski gak mudeng istilah2nya
Klo dicoba pke opsi “Force alt method” gmn mas?
Sorry mas, sy asli gak ngerti coding / hacking. he..he..
Coba konsul ke gandamanurung.com, daniiswara.net, ato rismaka.net.
Mereka jago yg begituan mas.
@andrian & @abbie :
Seperti yang di jelaskan di plugin home page SLI, plugin ini bergantung terhadap OpenSSL. OpenSSL adalah module PHP yang digunakan sebagai alternatif apabila web server/hosting tidak support SSL(secure socket layer) connection. Pada dasarnya dengan menggunakan SSL ini, maka password dan username yang kita kirimkan ke Web Server akan di enkripsi dan di enkapsulasi, sehingga walau attacker menyerang dengan cara “Man in the Middle attack”, akan kewalahan karena password dan username yang di sadap telah di enkapsulasi dan di enkripsi.
Solusinya, coba cek ke hosting mas andrian apakah OpenSSL module telah diinstall dan di aktifkan. Cara pengecekannya adalah, sediakan sebuah file bernama phpinfo.php dan isinya adalah
phpinfo();
Perhatikan bagian OpenSSL, pastikan OpenSSL module ada dan di aktifkan.
thanx bro abbie, point 5 postingan ini membuat saya punya ide agar menggunakan login tambahan ke WP-Admin, dengan model seperti login network/cpanel.
untuk point 8, thanx kembali, trik tersebut langsung saya pakai.
Jelas bagi attacker error message ini sangat berguna. Contoh, jika password salah dan username benar, error message hanya mengatakan bahwa password salah, ini membuktikan bahwa username yang diserang sudah benar.
untuk point 10, saya prefer untuk membuat sendiri anti spam tersebut.
point 12, mirip dengan yang saya tulis tentang mengganti password admin per bulan ya? ini bisa diganti menjadi perhari.
atau persesi login, asal kita ingat apa2 aja password listnya.
)
point 13, layak coba..
Thanx bro..
ganda’s last blog.. [Enhancement] Programmatically Update Wordpress Admin Password Once A Month
@andrian : jika opensll tidak ada atau tidak aktif, coba hubungi admin hosting untuk mengaktifkan modul tersebut.
Selamat mencoba
ganda’s last blog.. [Enhancement] Programmatically Update Wordpress Admin Password Once A Month
@ Ganda,
First of all, thanks for your visit and comments bro. We really need you here.
Kemarin sy baca, OpenSSL saat ini sdh jd fitur standar webhosting. Ada komentar di SLI plugin homepage, sdh dikonfirm klo hostingan support OpenSSL, tp error message spt mas Andrian ttp terjadi.
Ini file diupload ke hostingan gtu ya bro? Kemana persisnya?
He..he.. sorry ndak faham. :newbie here:
Thanks-nya bnyk bgt bro. Baik.. nanti sy teruskan ke WPbeginner.com.
Wong ini sy cuma baca di sana, sangat berguna, lalu translate, trs publish deh..
@abbie:
Mungkin modul OpenSSL memang sudah ada di hosting, tapi belum di aktifkan, dalam hal ini setting pengaktifan modul dalam file php.ini
File phpinfo.php nya bebas di letakin di folder manapun di hosting.
Oh.. ini tulisan dari Wpbeginner toh, boleh dong saya nya ikutan di promosiin. hihihihi
ganda’s last blog.. [Enhancement] Programmatically Update Wordpress Admin Password Once A Month
Tambahan 1 lagi, sebaiknya informasi blog engine
meta name="generator"di hapus.Caranya adalah meletakkan kode berikut ke functions.php dari theme yang digunakan.
remove_action('wp_head', 'wp_generator');Anyway, halaman ini tidak valid XHTML transitional ya bro?
ganda’s last blog.. [Enhancement] Programmatically Update Wordpress Admin Password Once A Month
@ Ganda,
Thx bgt responnya bos. Berguna bgt tuh.
Iya ini aslinya pny WPbeginner. Dulu komen disana minta ijin ditranslate. Pas baca TOSnya ternyata gak boleh. Tp krn udah publish, males ngeditnya. Akhirnya ya dbiarin aja. he..he..
Dont put my skill too high bos. I try to fix those errors when I check my page’ XHTML validity. But the bad thing is I dont even know how to read the html errors noted by w3.org properly. Looks like I have to spend more time to learn codes from all of your posts.
@abbie :
ah, biarkan saja lah. Wong saya juga jarang baca di Wp beginner. Untung ada si bro yang publish beginian. Hihihi.. Jadinya saya gak ketinggalan informasi.
FYI : Comment luv break your XHTML validation bro.