Menjaga Keamanan WordPress

 

Berikut adalah cara menjaga keamanan WordPress :

1. Hal yang harus dilakukan ( diharuskan ):

1.1. Menggunakan Web Hosting yang Tepat 

WordPress hosting ( web hosting ) memiliki peranan paling penting dalam keamanan website. Hosting provider yang tepat dapat memberikan keamanan extra yang melindungi server-server dari ancaman penyerangan virus dan lainnya. 

Untuk shared hosting tradisional biasa rentan karena selain server resource dibagi dengan banyak customer lain, sistem hosting ini dapat membuka celah bagi kontaminasi dari hacker yang memanfaatkan neighboring site.  Jika ingin lebih aman dan bisa mengontrol maka teknologi web hosting dapat dimanfaatkan untuk menjaga keamanan website yaitu cloud hosting. Selain lebih aman karena security sistem dan jalur arus yang jelas, teknologi ini juga mampu menghindarkan dari error page yang kerap terjadi karena arus traffic yang padat. 

Di antara para kompetitor penyedia jasa web hosting sendiri, Dewaweb adalah layanan cloud hosting cepat pertama di Indonesia yang juga pertama mendapat sertifikat International Organization for Standarddization and The International Electrotechnical Commision 27001:2013.


1.2. Update Selalu WordPress 

WordPress merupakan CMS open source software yang secara terus-menerus mendapatkan maintaining dan update. Berdasarkan setting default, WordPress secara otomatis melakukan instalasi terhadap berbagai minor update.


WordPress dirancang/dikembangkan dengan banyak plugin dan theme yang dapat diinstall langsung pada website. Plugin dan theme dikelola oleh third-party developers yang secara berkelanjutan melakukan update-update berguna yang dapat mengoptimalkan WordPress site .


Update-update yang dilakukan oleh WordPress ini sangat krusial bagi keamanan dan stabilitas dari WordPress site. 


1.3. Plugin Wordfence Security

Wordfence merupakan free enterprise class security dan performance plugin yang mampu membuat situs 50 kali lebih cepat dan lebih aman. Dimulai dari pemeriksaan terhadap situs yang telah terinfeksi. Tool ini mampu melakukan deep server side scan terhadap source code dan membandingkan dengan Official WordPress repository bagi core, themes, dan plugins. Tool ini tersedia 100% gratis. Memang Wordfence menyediakan versi premium, tetapi versi gratis sudah dapat dikatakan telah mumpuni bagi keamanan website. 

1.4.  Menggunakan Plugin WP Security Audit Log

Security plugin menjaga log akan segala hal yang terjadi di WordPress site. Dengan menggunakan WP Security Audit Log, maka dapat melakukan track terhadap aktivitas user yang telah atau sedang berlangsung. Jika ada aktivitas yang mencurigakan menjadi sangat mudah mendeteksi dan mencegah sebelum terjadi masalah security yang lebih besar.


1.5.  Menggunakan 2-Factor Authentication 

2-Factor Authentication dikenal dengan 2FA, Two Step Verification disingkat TFA, merupakan lapisan keamanan tambahan yang dikenal juga sebagai “otentikasi multi faktor”. 2-Factor-Authentication ini tidak hanya memerlukan kata sandi dan nama pengguna tetapi juga suatu info lain yang hanya dimiliki oleh pengguna. 

Penggunaan 2-Factor Authentication merupakan prosedur keamanan standar ( terutama untuk online ) yang ada kebanyakan cuma memerlukan nama pengguna dan kata kunci sederhana. Hal itu membuat semakin mudah bagi cyber criminal untuk mendapatkan akses ke data pribadi pengguna seperti detail pribadi dan keuangan hingga melakukan tindakan kejahatan terkait dengan hal finansial.

Dengan 2-Factor Authentication, tidak hanya nama pengguna dan kata sandi yang digunakan tetapi juga informasi lain yang hanya diketahui oleh pengguna.  Hal ini digunakan untuk mempersulit bagi penyusup potensial atau peretas mendapatkan akses atau pencurian data sensitif dari para klien maupun perusahaan.


1.6. Membatasi Login Attempts (Wajib)

Berdasarkan default setting yang telah ada, WordPress mengizinkan users untuk mencoba login sesering yang diinginkan. Hal ini membuat WordPress site rentan terhadap brute-force attack. Para hacker akan mencoba melakukan crack terhadap password dengan cara mencoba login dengan berbagai kombinasi password berbeda. maka batasi failed login attempts. Apabila menggunakan aplikasi web firewall, maka hal ini sudah secara otomatis diatasi.

1.6.1. Install dan aktifkan Plugin Login Lockdown

1.6.2. Selanjutnya saat aktivasi, klik Settings --> Login LockDown page untuk melakukan setting terhadap plugin 


1.7.   Pengaturan Role Pada User

WordPress,  memiliki lima user role yang tersedia. 

  • Adiminstrator : Memiliki akses ke seluruh pilihan, tindakan dan fitur administratif
  • Editor : Dapat mengatur dan mempublikasikan post. Melakukan fungsi review pada post yang dimasukkan oleh contributor
  • Author : Dapat mempublikasikan post
  • Contributor : Dapat menulis post tetapi tidak bisa mempublikasikan. Kontributor hanya bisa menambahkan post untuk di-review
  • Subscriber " Hanya memiliki kemampuan mendasar semacam mengganti profile picture dan meninggalkan komentar

Pada default setting di WordPress,  sebagai pengelola website tidak bisa mengatur secara spesifik apa yang bisa dan tidak bisa dilakukan oleh masing-masing user role. Hal ini termasuk salah satu cara untuk menjaga keamanan WordPress site .

Untuk itu diperlukan plugin : User Role Editor dari Official WordPress Plugin Directory.

1.7.1. Install dan aktifkan, pada bagian bawah menu Users, klik untuk digunakan jika plugin tersebut telah aktif

1.7.2. Pilih User rolepada bagian atas halaman. Daftar mencakup semua user role yang sudah ada dan user role khusus yang dibuat.

1.7.3. Setelah memasukkan profil user role, akan terlihat daftar pengguna yang sudah diatur dan tugas apa saja yang boleh atau tidak boleh dilakukan oleh user tersebut. Untuk mengubah, hapus atau klik bertanda centang di kotak yang tersedia

1.8.  Menonaktifkan PHP File Execution

Nonaktifkan PHP file execution di dalam directories yang tak dibutuhkan seperti /wp-content/uploads/.

1. 8.1. buka text editor seperti Notepad dan copy-paste kode dibawah ini :

<iles *.php>

deny from all

</Files>

1.8.2. Simpan file sebagai .htaccess, lalu upload file ke /wp-content/uploads/folders pada website.


1.9. Backup Website Secara Reguler

Melakukan backup terhadap website secara reguler dapat membantu dalam mengatasi serangan terhadap keamanan. Apabila melakukan backup secara rutin,  maka dapat mengembalikan website keadaan semula.  


2. Hal yang Optional, boleh dilakukan atau boleh tidak dilakukan

2.1. Mengatur Log Out Otomatis Pada Idle Users

Logged in user terkadang bisa saja menjauh dari screen, dan kadang ini menjadi suatu ancaman keamanan. Pengguna lain bisa melakukan hijack terhadap sesi tersebut dan mengganti password atau melakukan perubahan pada akun WordPress site itu. 

2.1.1. Install dan aktivasi Idle User Logout plugin. Kemudian klik Settings --> Idle User Logout page untuk mengkonfigurasi plugin settings.


2.2. Menggunakan Security Feature dari Jetpack

Security feature ini berfungsi dengan melakukan pembatasan ketat akan aktivitas login yang mencurigakan. Jetpack juga mampu melindungi WordPress site  dari brute force attack dan dapat mengawasi berapa banyak jumlah serangan yang terjadi terhadap situs melalui dashboard. Apabila mengalami kesulitan masuk karena gagal login berulang, tersedia fungi whitelisting dari Jetpack. 

Lakukan instalasi Jetpack,lalu terapkan pada WordPress site. Tersedia fitur gratis maupun premium. 


2.3. Menonaktifkan Fungsi XML-RPC

XML-RPC telah difungsikan berdasarkan default setting pada WordPress 3.5 karena membantu mengkoneksikan WordPress site ke web dan mobile app. Kelebihan XML-RPC dapat secara signifikan mengatasi serangan brute-force. Misal, hacker  mencoba 500 separate login attempts yang mana bisa tertangkap dan diblokir oleh Login LockDown plugin. Dengan XML-RPC, seorang hacker dapat menggunakan system.multicall function untuk mencoba ribuan password yang mengirimkan 20 hingga 50 request. Oleh karena itu, perlu menonaktifkan XML-RCP di WordPress.


2.4. Batasi Akses Login dengan Captcha

Captcha diciptakan untuk memblokir mesin spamming dari posting manapun yang diinginkan. Untuk mencegah spammer, Captcha secara efektif dapat bekerja untuk menguji apakah yang berusaha masuk adalah manusia atau mesin. Hal ini dapat menipu spammer, visual language mengambil teks yang dihasilkan secara acak dan memanipulasi gambar, sehingga manusia hampir tidak dapat membaca atau agak kesulitan, namun komputer yang mencoba memotret tidak bisa sama sekali membaca.

Download fitur keamanan ini di WordPress  : plugin Login No Captcha reCAPTCHA.


2.5. Menonaktifkan Fungsi Directory Indexing & Browsing

Directory browsing dapat digunakan oleh para hacker untuk mencari tahu files mana yang rentan dari WordPress site. Directory browsing juga dapat digunakan oleh pengguna lain yang ingin melihat ke dalam files, copy images, mencari tahu directory structure, dan informasi lain. Oleh karena itu, perlu mematikan directory indexing dan browsing, hal ini penting bagi keamanan website.

Untuk menonaktifkan, caranya :

Gunakan FTP / cPanel’s file manager. Kemudian, lokasikan .htaccess file di website’s root directory. Lalu, tambahkan following line di akhir .htaccess file:

Options –Indexes

Simpan dan upload .htaccess file kembali ke situs

2.6. Lindungi Direktori wp-admin

Tambahkan proteksi password ke direktori admin WordPress Berikut adalah cara melakukan pada dashboard hosting cPanel:

  • Dashboard hosting cPanel WordPress, lalu klik icon ‘Password Protect Directories’ atau ‘Directory Privacy’
  • Pilih folder wp-admin , yang berada di /public_html/wp-admin
  • Pada layar berikutnya, Centang kotak di samping opsi ‘Password protect this directory’ dan memberikan nama untuk direktori yang dilindungi
  • Klik tombol simpan untuk mengatur hak akses
  • Tekan tombol back kemudian create user.  disini akan diminta memberikan username / password, lalu klik tombol save