Danusyakti.com – Sebagai salah satu platform web/blog paling populer, WordPress menjadi sasaran empuk tangan-tangan usil (baca: hacker). Percobaan deface, brute force login (percobaan login admin), pencurian gambar melalui image hot linking yang tentu memberatkan server dan sebagainya adalah beberapa hal yang harus ditangkal. Oleh karena itu kita sebagai web admin harus mempersiapkan keamanan wordpress yang mumpuni agar web/blog kita terhindar dari hal-hal yang tidak di inginkan.

Kali ini saya ingin membagikan tutorial meningkatkan keamanan WordPress sejauh yang saya tahu. Keamanan wordpress ini akan saya bagi menjadi dua sisi yaitu dari sisi wp-admin (dari dalam menu WordPress) dan juga dari sisi hosting. Jadi tutorial ini hanya untuk kawan-kawan yang menggunakan WordPress self hosting.

Bagian pertama mari kita memperkuat segi kemanan dari dalam WordPress itu sendiri:

#1. Jangan gunakan username Admin

Hal ini sangat mendasar, ketika kawan-kawan menginstall WordPress pertama kali, username bawaan adalah admin. Kawan-kawan harus mengganti dengan username lain selain admin. Dan jangan menggunakan nama atau nama web karena mudah ditebak. Gunakan username yang tidak umum dan sulit ditebak.

#2. Mengganti alamat URL wp-admin

Secara default, URL menu login admin adalah webkamu.com/wp-admin. Tentu saja hal ini sangat rawan kalau kita tidak segera menggantinya. Untuk merubah URL ini, cara termudah menggunakan bantuan plugin. Kawan-kawan bisa menggunakan plugin standar seperti WPS Hide Login.

keamanan wordpress
WPS Hide Login

Plugin lain yang bisa digunakan untuk mengganti URL Login adalah: All In One WP Security & Firewall dan Cerber Security, Antispam & Malware Scan. Dua plugin ini memiliki fitur-fitur dasar dan lengkap untuk menambah keamanan wordpress.

Gantilah URL login dengan kata-kata yang sulit dan buatlah tidak umum. Contoh: webkamu.com/quisn8hxbuYndDn.




#3. Tambahkan plugin Google Authenticator

Plugin ini akan menambahkan menu untuk memasukkan kode Google Authenticator. Ini sangat bagus untuk mengantisipasi seandainya hacker bisa menebak username dan password login. Dengan adanya Google Authenticator, seseorang yang akan melakukan login masih membutuhkan kode yang hanya di generate oleh Google Authenticator yang sudah kawan install di smartphone kawan-kawan. Tanpa adanya kode ini, bagaimanapun hacker akan kesulitan untuk masuk. Cara menggunakan Google Authenticator di WordPress bisa kawan-kawan lihat di artikel saya lainnya yaitu: Cara Menggunakan Google Authenticator di WordPress.

keamanan wordpress
Halaman login dengan Google Authenticator

#4. Rajin-rajinlah melakukan backup file WordPress dan Database

Untuk melakukan backup otomatis file WordPress (plugin, konten/artikel dan lain-lain) dan database, saya menyarankan menggunakan plugin UpdraftPlus WordPress Backup Plugin. Versi gratisnya sudah sangat powerful untuk melakukan backup semua file yang dibutuhkan dan bisa melakukan upload otomatis ke Google Drive.

Meningkatkan Keamanan WordPress
UpdraftPlus WordPress Backup Plugin

#5.Aktifkan Fitur Limit login attemps

Jika kawan-kawan memutuskan menggunakan Cerber Security, Antispam & Malware Scan, aktifkan fitur Limit login attemps, fitur ini akan membatasi percobaan random brute force login dengan melakukan blocking IP si perusuh. Atau jika kawan-kawan tidak menggunakan Cerber Security, Antispam & Malware Scan, bisa menggunakan plugin lain seperti Loginizer.

Keamanan WordPress
Fitur Limit login attemps Cerber Security, Antispam & Malware Scan

Oke itulah cara meningkatkan keamanan WordPress dari sisi bagian dalam menu admin. Bagian berikutnya adalah kita akan meningkatkan keamanan WordPress dari menu CPanel hosting. Silahkan melakukan login ke hosting kawan masing-masing.

#1. Tampilkan file .htaccess

Silahkan meluncur ke File Manager -> kemudian masuk ke public_html. Secara default, file .htaccess akan disembunyikan oleh sistem. Untuk menampilkan file .htaccess kawan-kawan harus memunculkannya di menu Setting (lihat gambar di bawah).

Meningkatkan Keamanan WordPress
Menampilkan file tersembunyi di Cpanel hosting

dan nanti file .htaccess akan muncul

Keamanan WordPress
File .htaccess sudah muncul

Semua hal dibawah ini akan menambahkan perintah di dalam file .htaccess, ada baiknya file asli .htaccess kawan backup terlebih dahulu dengan mengunduhnya ke komputer, atau silahkan saja file asli di rename menjadi .htaccess.bak dan create file baru dengan nama .htaccess

#2. Lindungi file wp-config.php

Tambahkan perintah ini di dalam file .htaccess:

### Protect wp-config.php ##
<files wp-config.php>
order allow,deny
deny from all
</files>

#3. Matikan fitur Directory Browsing 

Jika kawan-kawan pernah mengunjungi sebuah web dan tampil seperti gambar dibawah ini

Keamanan WordPress
Tampilan directory browsing

itu adalah directory browsing. Hal ini sangat berbahaya karena hacker akan mampu melihat “isi dalam” web kita. Disable fitur ini dengan memasukkan perintah ini ke .htaccess

# Disable Directory Browsing ##
Options All -Indexes

#4. Lindungi file .htaccess

Masukkan perintah ini untuk melindungi file .htaccess itu sendiri

### Protect HTAccess ##
<files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</files>

#5. Matikan fitur akses luar ke include-only files

Masukkan perintah ini ke .htaccess

# Block the include-only files #
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule !^wp-includes/ - [S=3]
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>
RewriteEngine On
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^(.*)$ index.php [F,L]

#6. Disable akses ke xmlrpc.php

Masukkan kode ini ke .htaccess

# Block WordPress xmlrpc.php requests ##

order deny,allow
deny from all

#7. Matikan Image Hotlinking

Image Hotlinking adalah suatu kondisi dimana link image web/blog kita ditampilkan di web/blog orang lain. Dengan tujuan si pelaku memang iseng ingin memberatkan server hosting atau memang dia kurang modal untuk menampilkan gambarnya sendiri. Oleh karena itu proses ini akan sangat merugikan kita. Masukkan kode berikut ke .htaccess

## Disable Image Hotlinking ##
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domainkamu.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ – [NC,F,L]

#8. Blok fitur akses author scan

Masukkan kode berikut ke .htaccess

## Block author scans ##
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} (author=\d+) [NC]
RewriteRule .* - [F]

#9. Matikan Eksekusi PHP di file/folder Upload

Masuk ke folder wp-content -> uploads -> buat file baru dengan nama .htaccess dan isi dengan perintah berikut

# Kill PHP Execution
<Files *.php>
deny from all
</Files>

#10. Mengganti user nicename

User nicename adalah tampilan username pada link author yang tampil di blog/web kita. Ketika kita menaruh/menyorot mouse hover pada link nama author, maka link yang berakhiran nama author akan muncul. Dan secara default, yang tampil tersebut adalah username login ke menu admin WordPress. Tentu ini sangat berbahaya karena tampilnya username login kita (perhatikan gambar dibawah).

Keamanan WordPress
User nicename harus diganti demi keamanan

Cara menggantinya kawan-kawan harus masuk ke Cpanel hosting dan silahkan membuka menu phpMyAdmin karena kita ada sedikit merubah database.



Buka tabel namadatabaseusers -> kemudian pilih edit pada user yang akan di edit -> kemudian gantilah nama pada tabel user_nicename, silahkan beri nama lain bedakan dengan nama di tabel user_login (secara default dua tabel ini berisi nama yang sama). Jika sudah silahkan simpan dengan menekan tombol go.

Keamanan WordPress
Ganti user_nicename dengan nama lain

Yap itulah beberapa perintah untuk mengamankan WordPress melalui edit file .htaccess. Seandainya ada error pada tampilan web/blog kawan-kawan dan ingin merestore ke file .htaccess asli silahkan restore file yang tadi sudah di backup.

Baca juga: Blokir Brute Force WordPress Dengan Firewall Cloudflare

Mengamankan web dari tangan-tangan usil adalah hal yang perlu kita lakukan. Sudah menjadi tugas kawan-kawan sebagai webmaster untuk meningkatkan keamanan WordPress yang tentu akan menjadi aset kita ke depannya. Saya berharap panduan ini bisa membantu kawan-kawan semua mengamankan web/blog kesayangan. Mungkin ada hal lain tentang meningkatkan keamanan WordPress ini yang terlewat oleh saya silahkan menambahkan di kolom komentar.

Similar Posts