Mengamankan Website Dari Serangan Hacker / Defacer



Halo gan :D
Sesuai dengan judul diatas, ane akan memberikan beberapa tutorial untuk melindungi Website anda dari serangan Cyber. Proteksi yang ane beberkan disini merupakan proteksi yang memanfaatkan fitur .htaccess yang berada pada Webserver.

.htaccess ini berguna sebagai Web Application Firewall (WAF) dimana dia dapat memblokir kegiatan yang melanggar Rules (Aturan). Nah secara default Rules pada file .htaccess ini sama sekali tidak ada. Maka pada tutorial disini ane akan memberikan beberapa Rules yang berguna untuk meningkatkan keamanan Website kita.

PENTING : FILE .HTACCESS AKAN BERJALAN APABILA MODULE mod_rewrite PADA APACHE ANDA SUDAH DI ENABLE!​

Langkah 1 : Membuat file .htaccess 
1. Silahkan masuk kedalam Hosting anda, atau tempat penyimpanan File Website anda
2. Create New File, beri nama .htaccess
3. Selesai :3

Langkah 2: Isikan file .htaccess dengan Script di bawah ini :

1. Disable Direktori Indexes
# BEGIN No Indexes
Options All -Indexes
# END No Indexes

2.Redirect HTTP to HTTPS
# Force HTTP to HTTPS
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://example.com/$1 [R,L]

3. Protect Critical Files from Public Access
Spoiler: Rules
# Protect Critical Files
<Files "<your_file_name">
order deny,allow
deny from all
allow from localhost
</Files>

4. Prevent Execution Files
Spoiler: Rules
# Prevent Execution Files
<IfModule mod_php5.c>
php_flag engine 0
</IfModule>
<IfModule mod_php7.c>
php_flag engine 0
</IfModule>
AddHandler cgi-script .php .phtml .php3 .pl .py .jsp .asp .htm .shtml .sh .cgi
Options -ExecCGI

5. Prevent Suspicious Query in URL
# Filter Suspicious Query Strings
RewriteCond %{QUERY_STRING} \.\.\/ [OR]
RewriteCond %{QUERY_STRING} \.(bash|git|hg|log|svn|swp|cvs) [NC,OR]
RewriteCond %{QUERY_STRING} etc/passwd [NC,OR]
RewriteCond %{QUERY_STRING} boot\.ini [NC,OR]
RewriteCond %{QUERY_STRING} ftp: [NC,OR]
RewriteCond %{QUERY_STRING} https?: [NC,OR]
RewriteCond %{QUERY_STRING} (<|%3C)script(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [NC,OR]
RewriteCond %{QUERY_STRING} base64_decode\( [NC,OR]
RewriteCond %{QUERY_STRING} %24&x [NC,OR]
RewriteCond %{QUERY_STRING} 127\.0 [NC,OR]
RewriteCond %{QUERY_STRING} (globals|encode|localhost|loopback) [NC,OR]
RewriteCond %{QUERY_STRING} (request|concat|insert|union|declare) [NC,OR]
RewriteCond %{QUERY_STRING} %[01][0-9A-F] [NC]
RewriteCond %{QUERY_STRING} !^loggedout=true
RewriteCond %{QUERY_STRING} !^action=jetpack-sso
RewriteCond %{QUERY_STRING} !^action=rp
RewriteCond %{HTTP_COOKIE} !wordpress_logged_in_
RewriteCond %{HTTP_REFERER} !^http://maps\.googleapis\.com
RewriteRule ^.* - [F]

6. Filters Non-English Characters
Spoiler: Rules
# Filter Non-English Characters

Posting Komentar

0 Komentar