Jumat, 10 April 2015

cara mengamankan Wordpress dari serangan hacker

Web wordpress Anda sering kena hack ? Maka Anda wajib membaca artikel ini. Jika web wordpress Anda biarkan begitu saja tanpa optimasi security, maka dipastikan cepat atau lambat akan sangat mudah dibobol oleh hacker.
Meskipun selalu ada update terbaru dari wordpress, terkadang malah muncul bug-bug baru yang dengan cepat tersebar luas. Jadi informasi ini bisa jadi ketinggalan jika muncul celah-celah baru.
Dan gara-gara sering kehack, beberapa blogger maupun pengelola web jadi trauma. Padahal jika mereka mau tahu caranya dan mau mempratekkan, sedikit banyak hal ini akan mengurangi beban mereka.
Optimasi security memang ada 2 sisi, yaitu di sisi server dan di sisi script. Jika Anda adalah pengguna shared hosting, maka yang bisa Anda lakukan adalah di sisi script saja. Tapi Anda juga harus bisa memilih mana hosting yang securitynya bagus, karena bisa saja Anda sudah optimasi scriptnya tapi ternyata tetap saja kena hack akibat JUMPING.
Jumping / loncat maksudnya adalah  : jika ada 1 web yang berhasil dibobol, lalu ditaruh shell, maka dengan shell itu juga bisa menjebol web/akun cpanel lain dalam satu server tersebut. Untuk mengantisipasi jumping bisa dengan menggunakan fitur cageFS dari cloudlinux.
Tutorial ini tidak bisa mengamankan 100% website Anda, tapi paling tidak menutup celah-celah keamanan. Tidak ada keamanan yang sempurna dan selamanya, artinya tidak bisa sekali setting lalu dibiarkan saja karena mungkin yang sekarang dianggap aman besok sudah menjadi tidak aman lagi (bug).
Pada kasus ini kita menggunakan OS linux dengan webserver apache. Berikut ini langkah-langkah untuk optimasi keamaan wordpress Anda :
1. Lakukan full backup
Agar Anda bisa segera mengembalikan ke keadaaan semula jika terjadi error, maka lakukan full backup akun cPanel Anda. Caranya : login ke cpanel, lalu klik tombol “backup”, lalu pilih “full backup”, dan pilih “home”. Masukkan email Anda agar dapat notifikasi jika backup sudah selesai.

2. Instal 3 Plugins berikut dan aktifkan
– Better WP Security
– Bulletproof Security
– Automatic Updater

3. Tambahkan User Admin baru yang aman
a. Pada dashboard Anda, klik “Users” – “Add New”. Gunakan kombinasi huruf besar, huruf kecil dan angka pada username dan passwordnya, masing-masing minimal 8 karakter.
b. Setelah Anda buat admin user baru, silahkan logout dari dashboard Anda. Lalu login ke dashboard lagi dengan user baru tersebut.
c. Klik “Users” – “All Users”,  pada user lama silahkan klik EDIT, lalu ubah RULE nya menjadi “no role for this site”. Lalu klik SAVE.

4. Setting plugin Better WP Security
a. Klik “Security” dashboard wordpress Anda, lalu klik “backup…”
b. Klik untuk mengijinkan “..Plugin to Change WordPress Core files”
c. Pilih “Secure My Site from Basic Attacks‟
d. Pada tab “Ban”, klik “Enabled default banned list
e. Pada tab “Prefix‟, pilih “Change Database Table Prefix”
f. Pada tab “Hide”, ubah login, register & admin slugs ke kata yang mudah anda ingat.
g. Pada tab “Detect”, pilih “Enable 404 Detection”, “Enable Email 404 Notifications”, Set Cek Period ke 10, Set Errorthreshold ke 7, Set Lockout period ke 1440, cek blacklist repeat offender.
Enable: File Check Detection, Enable File Change Admin Warning, Enable Email File Change Notifications, tambahkan email anda lalu klik “Save Changes”
h. Pada tab “Login”, Enable Login limits, Set Max login Attempts per host ke 5, Set Max Login Attempts perUser ke 7, Set login Time Period ke 1440, Set Lockout Time Period ke 1440, cek Blacklist Repeat Offender, SetBlacklist Threshold ke 5, tambahkan email Anda dan klik “save changes”
i. Pada tab “Tweaks”, centang semua opsi lalu klik “SAVE”.

5. Setting plugin Bulletproof Security
a. Klik “BPS Security” di admin panel Anda.
b. Pada tab “Secure Modes”, klik tombol “Create Secure .htaccess file”.
c. Scroll ke bawah dan aktifkan Security Modes, pilih “Bulletprof Mode” pada masing-masing ke empat mode tersebut dan klik “active”.

6. Ubah file permission
a. Login ke cPanel, lalu klik “File Manager”.
b. Ubah file permission .htaccess ke 0404
c. Ubah file permission wp-blog-header.php, wp-config.php, index.php menjadi 0400
d. Ubah permission folder wp-admin, wp-content, wp-includes ke 0705

7. Setting plugin Automatic Updater
a. Pada dashboard wordpress Anda, klik “Settings” -> “Automatic Updater”. Centang pada “Update wordpress core automaticly”, masukkan alamat email, lalu centang “show debug information in the notification email”. Klik “Save changes”.

Cara mengatasi Internal Server error

Pagi-pagi sewaktu buka web Anda, tiba-tiba Anda mendapatkan pesan seperti di bawah ini :

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, webmaster@******.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.
Apaan ini yah ?


Jangan panik. Masalah seperti ini memang terkadang terjadi. Mari kita cari tahu apa sebenarnya yang terjadi.
Ada 5 macam kesalahan yang biasa muncul :
1. Error 400 : Error ini disebabkan karena kesalahan syntax
2. Error 401 : Error ini disebabkan karena file yang Anda request memerlukan authentication
3. Error 403 : Error ini disebabkan karena permission file /chmod yang Anda buka tidak bisa dibaca
4. Error 404 : Error ini disebabkan karena file / halaman web yang Anda buka tidak ditemukan
5. Error 500 : Error ini mengindikasikan bahwa terjadi masalah pada server. Sebagian besar disebabkan karena kesalahan penulisan pada .htaccss

Jika Error 500 terjadi pada web Anda, maka lakukan langkah-langkah berikut ini untuk menganalisa dan memperbaikinya :
1. Refresh website Anda
Cobalah tekan tombol F5 beberapa kali. Jika kadang tidak error, kemungkinan besar itu karena website Anda menggunakan resource CPU atau RAM melebihi limit yang ditentukan oleh hoster Anda, sehingga server akan memproteksi resource agar tidak mengganggu pelanggan lain. Hal ini biasa terjadi pada hosting dengan CloudLinux.

2. Cek permission file
Pastikan permission untuk file adalah maksimal adalah 644 dan untuk direktori/folder adalah 755. Anda tidak perlu melakukan CHMOD ke 777 agar suatu direktori atau file bisa dimanipulasi (diisi file, edit, upload dll) karena jika hosting Anda menggunakan suExec, maka Anda bisa melakukan operasi file tersebut tanpa harus merubah permission ke 777 yang bisa mengurangi tingkat keamanan website.

3. Cek File .htaccess
Kesalahan pada konfigurasi .htaccess juga bisa menyebabkan internal server error. Cara mengeceknya adalah dengan mengubah nama file .htaccess yang ada di directory public_html menjadi, misalnya : htaccess.txt, lau coba buka kembali website Anda. Jika sudah normal, berarti konfigurasi .htaccessnya bermasalah. Tetapi jika tetap error, berarti bukan karena file .htaccess tersebut.

4. Cek file error_log
Jika ketiga hal di atas ternyata tidak menyelesaikan masalah, coba buka file error_log yang ada di folder public_html. Jika misalnya muncul error seperti di bawah ini :
[06-Mar-2013 18:00:27 UTC] PHP Fatal error:  Out of memory (allocated 262144) (tried to allocate 261900 bytes) in Unknown on line 0
[06-Mar-2013 18:01:57 UTC] PHP Fatal error:  Out of memory (allocated 262144) (tried to allocate 261900 bytes) in Unknown on line 0
Itu artinya adalah script php Anda membutuhkan resources RAM melebihi batas limit yang ditentukan oleh provider hosting Anda, sehingga muncul pesan error 500. Hal ini biasa terjadi pada hosting dengan OS CloudLinux.
Jika Anda masih tetap tidak bisa menyelesaikan masalah ini, segera hubungi support hosting Anda.