Mengamankan Website/ Blog yang menggunakan CMS Wordpress

Sekarang aku akan share tentang Mengamankan Website/ Blog yang menggunakan CMS Wordpress.
Artikel ini ditulis langsung oleh Mitchell Alexander di Grup Komunitas Blogger Pontianak (doc).
Jadi langsung saja ke TKP.

Security Wordpress
Ilustrasi: Security Wordpress

1. Selalu periksa apakah ada update terbaru pada Wordpress, theme atau plugin.
2. Cek apakah ada bug pada plugin/ theme di -> http://wordpressexploit.com/
3. Gunakan plugin -> https://wordpress.org/plugins/wp-security-scan/
4. Hapus file, folder theme dan plugin yang tidak dipakai termasuk file readme.html dan licensi.txt pada direktori root wordpress.
5. Jangan pakai username: admin sebagai username anda, usahakan ganti dengan yang lain dan pakai Password yang kuat perpaduan angka, huruf (besar-kecil), dan karakter, bisa dibilang password alay :v
6. Block bot untuk crawl folder tertentu, karena orang yang akan deface biasanya hasil scan dari google dengan keyword tertentu untuk mencari bug.

Tambahkan pada robots.txt
robots.txt

User-agent: *
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins/
Disallow: /wp-content/cache/
Disallow: /wp-content/themes/
Disallow: */trackback/
Disallow: */feed/
Disallow: /*/feed/rss/$
Disallow: /category/*

7. Tambahkan script di bawah ini pada file functions.php dalam folder themes
functions.php

// remove the unwanted links
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'wp_shortlink_wp_head');

// remove wp version meta tag and from rss feed
function at_remove_wp_ver_meta_rss() {return '';}

add_filter('the_generator', 'at_remove_wp_ver_meta_rss');

8. Tambahkan script di bawah ini pada file functions.php dalam folder themes yang aktif, fungsinya untuk meminimalisir fingerprinting version wordpress yang kita gunakan.
functions.php

// remove the unwanted  links
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'wp_shortlink_wp_head');

// remove wp version meta tag and from rss feed
function at_remove_wp_ver_meta_rss() {
    return '';
}

add_filter('the_generator', 'at_remove_wp_ver_meta_rss');

9. Tambahkan script di bawah ini pada file .htaccess
.htaccess

# disable directory browsing
Options All –Indexes

# protect from sql injection
Options +FollowSymLinks
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})
RewriteRule ^(.*)$ index.php [F,L]

# Block the include-only files.
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ – [F,L]
RewriteRule !^wp-includes/ – [S=3]
RewriteRule ^wp-includes/[^/]+.php$ – [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+.php – [F,L]
RewriteRule ^wp-includes/theme-compat/ – [F,L]

# block file access
order allow,deny
deny from all
order allow,deny
deny from all
order allow,deny
deny from all
ServerSignature Off
LimitRequestBody 10240000
order allow,deny
deny from all

# xmlrpc.php pingback
RedirectMatch 403 /(.*)/xmlrpc.php$

# disable trace track
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]

# prevent character string filter
RedirectMatch 403 ,
RedirectMatch 403 :
RedirectMatch 403 ;
RedirectMatch 403 =
RedirectMatch 403 @
RedirectMatch 403 [
RedirectMatch 403 ]
RedirectMatch 403 ^
RedirectMatch 403 ̀
RedirectMatch 403 {
RedirectMatch 403 }
RedirectMatch 403 ~
RedirectMatch 403 "
RedirectMatch 403 $
RedirectMatch 403 <
RedirectMatch 403 >
RedirectMatch 403 |
RedirectMatch 403 ..
RedirectMatch 403 %0
RedirectMatch 403 %A
RedirectMatch 403 %B
RedirectMatch 403 %C
RedirectMatch 403 %D
RedirectMatch 403 %E
RedirectMatch 403 %F
RedirectMatch 403 %22
RedirectMatch 403 %27
RedirectMatch 403 %28
RedirectMatch 403 %29
RedirectMatch 403 %3C
RedirectMatch 403 %3E
RedirectMatch 403 %3F
RedirectMatch 403 %5B
RedirectMatch 403 %5C
RedirectMatch 403 %5D
RedirectMatch 403 %7B
RedirectMatch 403 %7C
RedirectMatch 403 %7D

# prevent query string
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ("|%22).*(<|>|%3) [NC,OR]
RewriteCond %{QUERY_STRING} (javascript:).*(;) [NC,OR]
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3) [NC,OR]
RewriteCond %{QUERY_STRING} (\|../|`|='$|=%27$) [NC,OR]
RewriteCond %{QUERY_STRING} (;|'|"|%22).*(union|select|insert|drop|update|md5|benchmark|or|and|if) [NC,OR]
RewriteCond %{QUERY_STRING} (base64_encode|localhost|mosconfig) [NC,OR]
RewriteCond %{QUERY_STRING} (boot.ini|echo.*kae|etc/passwd) [NC,OR]
RewriteCond %{QUERY_STRING} (GLOBALS|REQUEST)(=|[|%) [NC]
RewriteRule .* - [F]

# prevent request string
RedirectMatch 403 (https?|ftp|php)://
RedirectMatch 403 /(https?|ima|ucp)/
RedirectMatch 403 /(Permanent|Better)$
RedirectMatch 403 (=\'|=\%27|/\'/?|).css()$
RedirectMatch 403 (,|)+|/,/|{0}|(/(|...|+++|||\"\")
RedirectMatch 403 .(cgi|asp|aspx|cfg|dll|exe|jsp|mdb|sql|ini|rar)$
RedirectMatch 403 /(contac|fpw|install|pingserver|register).php$
RedirectMatch 403 (base64|crossdomain|localhost|wwwroot|e107_)
RedirectMatch 403 (eval(|_vti_|(null)|echo.*kae|config.xml)
RedirectMatch 403 .well-known/host-meta
RedirectMatch 403 /function.array-rand
RedirectMatch 403 );$(this).html(
RedirectMatch 403 proc/self/environ
RedirectMatch 403 msnbot.htm)._
RedirectMatch 403 /ref.outcontrol
RedirectMatch 403 com_cropimage
RedirectMatch 403 indonesia.htm
RedirectMatch 403 {$itemURL}
RedirectMatch 403 function()
RedirectMatch 403 labels.rdf
RedirectMatch 403 /playing.php
RedirectMatch 403 muieblackcat

Sekian sedikit tutorial tentang Mengamankan Website/ Blog yang menggunakan CMS Wordpress yang bisa aku bagikan. Semoga bermanfaat.
Sekali lagi terimakasih buat Mitchell Alexander yang memperbolehkan aku untuk posting artikel ini disini.
Sebagian adalah koreksi dan perbaikan dari aku supaya lebih baik untuk dibaca.
Salam Blogger. ;)

omgoegel

Hopefully article about Mengamankan Website/ Blog yang menggunakan CMS Wordpress useful for Om Goegel loyal readers. Know more about me, please read more on WHO AM I? page. Great thanks.

Number of Posts:

No comments:

Post a Comment

RULES:
1. Hindari komentar SARA, porno, atau melanggar HAM
2. Disini bukan zona pertikaian (silahkan bertikai di ring lain)
3. Link tidak jelas serta mengarah ke pelanggaran kode etik dan hukum yang berlaku adalah HARAM disini
4. Penulis tidak bertanggung jawab atas apapun bentuk efek samping dari penyalahgunaan atau penyalahartian terhadap apapun konten dari blog ini
5. Penulis memiliki hak untuk menolak/menghapus komentar yang dianggap melanggar pasal-pasal di atas

PS:
“Jadilah orang yang sopan dan cerdas dalam berkomentar”.
Ask if you are not sure and/or don’t know or eager to know more,
Give solution if you found any errors, stop komentar-komentar kosong!

Contact Form

Name

Email *

Message *