BLOGIOLOGI
.. an e-sharing about blog, WordPress, SEO, make money online and some of my personal notes

13 Tips Memproteksi Ruang Admin Blog WordPress

2 years and 5 months ago
By abbie

Proteksi WP AdminYap. 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. :mrgreen: 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. ;)

31 comments

Gravatar #1. rismaka
2 years and 5 months ago

Lapor gan, ga semua tips itu saya pake... :lol:
Lapor gan, gambarnya di hotlink protected sama wpbeginner :mrgreen:
.-= rismaka's last blog.. Sebuah Diskusi : Mengapa Komentar Saya Tidak Ditanggapi? =-.

Gravatar #2. abbie
2 years and 5 months ago

Gak musti semua dipake Gan. Pilih aja yg paling enak.
Sy jg mo coba beberapa. :mrgreen:

Weh.. iya. Imagenya jadi ilang semua ya? Pdhal sy dah minta ijin lho.
Kmrn malem jg msh gak papa. Ntar nyari lg deh..

Gravatar #3. Zippy
2 years and 5 months ago

Wah, diriku nggak pake Wp, jadi cuma bisa mangap2 aja ni bro, hehehehe....
Banyak juga ya yang harus diproteksi :D
Mw ini itu harus hati2 :D
.-= Zippy's last blog.. Pendet Asli Malaysia? =-.

Gravatar #4. cebong ipiet
2 years and 5 months ago

repot sekali se, makane aku luweh seneng blogger ixixixixix
.-= cebong ipiet's last blog.. Ramadan 2009 Calendar and Greetings Card =-.

Gravatar #5. cow
2 years and 5 months ago

mantap gan
.-= cow's last blog.. Cara cepat melihat urutan Web ato blog kita di google =-.

Gravatar #6. dendin
2 years and 5 months ago

heheheh untung saya masih pake yang lama habis yang baru gak familiar alias bingung tapi infonya sangat membantu thanks..........

Gravatar #7. Juliawan
2 years and 5 months ago

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 =-.

Gravatar #8. izzue
2 years and 5 months ago

salam kenal mas. btp tukar linknya mas yuk
.-= izzue's last blog.. Ngeblog atau Lapar =-.

Gravatar #9. abbie
2 years and 5 months ago

@ 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. :D

@ 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.. :roll:

@ Izzue,
Salam kenal lg mas.
Tukeran link? Boleh mas.. :D

Gravatar #10. Ash-Shaf media
2 years and 3 months ago

Terima kasih tips-nya, sangat informatif
.-= Ash-Shaf media's last blog.. Puasa 6 Hari pada Bulan Syawwal =-.

Gravatar #11. willy
2 years and 2 months ago

Gravatar #12. andrian
2 years and 2 months ago

mas kalo blogku sudah dihack dan gak bisa dibuka lagi apa harus beli domain baru

Gravatar #13. abbie
2 years and 2 months ago

Gravatar #14. andrian
2 years and 1 month ago

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 =-.

Gravatar #15. abbie
2 years and 1 month ago

@ Andrian,
Sy install plugin SLI ini yg versi 3.0.8.3 berjalan lancar.
Baca di plugin homepagenya (meski gak mudeng istilah2nya :cry: ), hostingan kt mesti support OpenSSL, php 4.3+ dan WP 2.7+.
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. ;)

Gravatar #16. ganda
2 years and 1 month ago

@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. :D

point 12, mirip dengan yang saya tulis tentang mengganti password admin per bulan ya? ini bisa diganti menjadi perhari. :D atau persesi login, asal kita ingat apa2 aja password listnya. :) )

point 13, layak coba.. :D

Thanx bro..
.-= ganda's last blog.. [Enhancement] Programmatically Update Wordpress Admin Password Once A Month =-.

Gravatar #17. ganda
2 years and 1 month ago

@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 =-.

Gravatar #18. abbie
2 years and 1 month ago

@ Ganda,
First of all, thanks for your visit and comments bro. We really need you here. :D

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.

..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();

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.. ;)

Gravatar #19. ganda
2 years and 1 month ago

@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 =-.

Gravatar #20. ganda
2 years and 1 month ago

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 =-.

Gravatar #21. abbie
2 years and 1 month ago

@ 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.. :P

Anyway, halaman ini tidak valid XHTML transitional ya bro?

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. ;)

Gravatar #22. ganda
2 years and 1 month ago

@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.

Gravatar #23. suhe
1 year and 10 months ago

manteb, jadi tambah tau banyak nii. makasih..

Gravatar #24. Free tattoo designs
1 year and 8 months ago

Interesting post i totally agree with the comments above. Keep us posting

Gravatar #25. andy
1 year and 5 months ago

gan, untuk setingan Stealth Login ada tutorial nya ga? klo joomla sih gampang, tinggal pilih mau di direk ke index.php atau di arahin ke error 404.. klo ada tolong infonya gan..
saia baru di WP..

Gravatar #26. Sebar Iklan Gratis
8 months and 28 days ago

Terimakasih atas informasinya yang sangat bermanfaat untuk saya.
saya mau nanya kenapa iklan2 yang ada di website saya semua hilang kategori danlabelnya???

Gravatar #27. toko mainan online
8 months and 22 days ago

banyak banget yh cara mengamankan halaman adminnya, btw thx infonya

Gravatar #28. Android Market
8 months and 15 days ago

wah2...klo semua pake plugin...makin berat aja nanti blog nya??

Gravatar #29. abbie
8 months and 14 days ago

@Sebar Iklan,
Makasih, sama2 gan.
Iklannya baik2 aja tuh kayaknya.
Kategori & labelnya sehat kok. :)

@ Toko Mainan,
Thanks jg gan.

@ Android Market,
He..he.. bener gan. Jgn banyaklah pke plugin. Mesti pilih2 yg penting aja.
Tp klo security jd main issue ya gak salah kyknya pluginnya nambah. CMIIW.

Gravatar #30. Sebar Iklan Gratis
8 months and 14 days ago

mas itu iklannya sudah saya perbaiki lagi sekarang udh benner

Gravatar #31. Suthya
1 month and 12 days ago

gan, stealh login uda ga bisa di pake lagi.. ada plugin lain ga ya?
thanks..

Write a comment

Please be noted that I can't always reply your comment and I'm sorry for that. Thanks for your visit.





Currently you have JavaScript disabled. In order to post comments, please make sure JavaScript and Cookies are enabled, and reload the page. Click here for instructions on how to enable JavaScript in your browser.

* Required fields

You can use these XHTML tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>.

2 trackbacks

To notify a mention on this post in your blog, enable automated notification (Options > Discussion in WordPress) or specify this trackback url: http://​blogiologi.com/​13-tips-memproteksi-ruang-admin-blog-wordpress.html/​trackback