Langsung ke konten utama

Nginx Block Sqlinjection

Nah saya Bagikan Script Nginx untuk block sqlinjection, caranya:

$ sudo vim /etc/nginx/sites-available/namawebsite.com.conf

tambah baris didalam server { } berikut:

server {
[...]

   ## Block SQL injections
   set $block_sql_injections 0;
   if ($query_string ~ "union.*select.*\(") {
       set $block_sql_injections 1;
   }
   if ($query_string ~ "union.*all.*select.*") {
       set $block_sql_injections 1;
   }
   if ($query_string ~ "concat.*\(") {
       set $block_sql_injections 1;
   }
   if ($block_sql_injections = 1) {
       return 403;
   }

   ## Block file injections
   set $block_file_injections 0;
   if ($query_string ~ "[a-zA-Z0-9_]=http://") {
       set $block_file_injections 1;
   }
   if ($query_string ~ "[a-zA-Z0-9_]=(\.\.//?)+") {
       set $block_file_injections 1;
   }
   if ($query_string ~ "[a-zA-Z0-9_]=/([a-z0-9_.]//?)+") {
       set $block_file_injections 1;
   }
   if ($block_file_injections = 1) {
       return 403;
   }

   ## Block common exploits
   set $block_common_exploits 0;
   if ($query_string ~ "(<|%3C).*script.*(>|%3E)") {
       set $block_common_exploits 1;
   }
   if ($query_string ~ "GLOBALS(=|\[|\%[0-9A-Z]{0,2})") {
       set $block_common_exploits 1;
   }
   if ($query_string ~ "_REQUEST(=|\[|\%[0-9A-Z]{0,2})") {
       set $block_common_exploits 1;
   }
   if ($query_string ~ "proc/self/environ") {
       set $block_common_exploits 1;
   }
   if ($query_string ~ "mosConfig_[a-zA-Z_]{1,21}(=|\%3D)") {
       set $block_common_exploits 1;
   }
   if ($query_string ~ "base64_(en|de)code\(.*\)") {
       set $block_common_exploits 1;
   }
   if ($block_common_exploits = 1) {
       return 403;
   }

   ## Block spam
   set $block_spam 0;
   if ($query_string ~ "\b(ultram|unicauca|valium|viagra|vicodin|xanax|ypxaieo)\b") {
       set $block_spam 1;
   }
   if ($query_string ~ "\b(erections|hoodia|huronriveracres|impotence|levitra|libido)\b") {
       set $block_spam 1;
   }
   if ($query_string ~ "\b(ambien|blue\spill|cialis|cocaine|ejaculation|erectile)\b") {
       set $block_spam 1;
   }
   if ($query_string ~ "\b(lipitor|phentermin|pro[sz]ac|sandyauer|tramadol|troyhamby)\b") {
       set $block_spam 1;
   }
   if ($block_spam = 1) {
       return 403;
   }

   ## Block user agents
   set $block_user_agents 0;

   # Don't disable wget if you need it to run cron jobs!
   #if ($http_user_agent ~ "Wget") {
   #    set $block_user_agents 1;
   #}

   # Disable Akeeba Remote Control 2.5 and earlier
   if ($http_user_agent ~ "Indy Library") {
       set $block_user_agents 1;
   }

   # Common bandwidth hoggers and hacking tools.
   if ($http_user_agent ~ "libwww-perl") {
       set $block_user_agents 1;
   }
   if ($http_user_agent ~ "GetRight") {
       set $block_user_agents 1;
   }
   if ($http_user_agent ~ "GetWeb!") {
       set $block_user_agents 1;
   }
   if ($http_user_agent ~ "Go!Zilla") {
       set $block_user_agents 1;
   }
   if ($http_user_agent ~ "Download Demon") {
       set $block_user_agents 1;
   }
   if ($http_user_agent ~ "Go-Ahead-Got-It") {
       set $block_user_agents 1;
   }
   if ($http_user_agent ~ "TurnitinBot") {
       set $block_user_agents 1;
   }
   if ($http_user_agent ~ "GrabNet") {
       set $block_user_agents 1;
   }

   if ($block_user_agents = 1) {
       return 403;
   }
   set $block_xss 0;
if ($query_string ~ "base64_(en|de)code\(.*\)") {
set $block_xss 1;
}
if ($request_uri ~ "base64_(en|de)code\(.*\)") {
set $block_xss 1;
}
if ($query_string ~ "(<|%3C).*script.*(>|%3E)") {
set $block_xss 1;
}
if ($request_uri ~ "(<|%3C).*script.*(>|%3E)") {
set $block_xss 1;
}
if ($query_string ~ "(<|%3C).*iframe.*(>|%3E)") {
set $block_xss 1;
}
if ($request_uri ~ "(<|%3C).*iframe.*(>|%3E)") {
set $block_xss 1;
}
if ($query_string ~ "GLOBALS(=|\[|\%[0-9A-Z]{0,2})") {
       set $block_xss 1;
}
if ($query_string ~ "_REQUEST(=|\[|\%[0-9A-Z]{0,2})") {
       set $block_xss 1;
}
if ($block_xss = 1) {
return 403;
}
   
[...]
}

Komentar

Postingan populer dari blog ini

Konfigurasi Proxy Server Squid Lusca + Mikrotik menggunakan Ubuntu 14.04

Kali ini aku akan membagikan dokumentasi yang akan aku terapkan pada pekerjaan kecilku di sebuah Internet Cafe di daerah jogja. karena permintaan dari client untuk menggunakan proxy sebagai web cache, aku akan mencoba memasang menggunakan komputer Jogloabang (http://jogloabang.com). sebelumnya kita akan mengenal yang namanya Proxy Server . Proxy Server adalah server yang bertindak sebagai perantara permintaan dari klien mencari sumber daya dari server lain. Seorang klien terhubung ke server proxy , meminta beberapa layanan, seperti file, koneksi, halaman web, atau sumber daya lain yang tersedia dari server yang berbeda dan server proxy mengevaluasi permintaan sebagai cara untuk menyederhanakan dan mengontrol kompleksitasnya. Proxy diciptakan untuk menambah struktur dan enkapsulasi untuk sistem terdistribusi. Saat ini, kebanyakan proxy adalah proxy web, memfasilitasi akses ke konten di World Wide Web dan menyediakan anonimitas. ( Sumber ). lalu apa itu Squid? Squid adalah sebuah daemo...

install php5.3 ubuntu 14.04, 16.04, 18.04 with cgi not fcgi

Halo, kali ini saya akan membagikan tutorial mudah untuk compile dan install php5.3 di ubuntu 14.04, btw.. di 18.04 juga bisa sebenernya, asalakan perinsipnya tahu.  kenapa saya pake cgi tidak fcgi? ya karena lebih enteng dari fcgi, dan fpm. nah biasanya, kita sering dihadapkan dengan kondisi dimana diharuskan memasang aplikasi lama, di server yang OS nya ke-kinian. oke.. bisa dipahami? untuk install php5.3 diubuntu, diperlukan keahlian dalam mengatasi error dan mencarinya di google. yuk mulai 1. Unduh file compile PHP wget -O php-5.3.29.tar.gz http://de1.php.net/get/php-5.3.29.tar.gz/from/this/mirror 2. install depedensi yang dibutuhkan: apt-get install apache2 apt-get install build-essential apt-get install libxml2-dev apt-get install libcurl4-openssl-dev pkg-config apt-get install libbz2-dev apt-get install libjpeg-turbo8-dev apt-get install libpng-dev apt-get install libfreetype6-dev apt-get install libmcrypt-dev libreadline-dev apt-get install libmysqlclient1...

Mengatasi Error DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled

Jika di mysql mendapatkan error seperti dibawah ini: 1418 (HY000) at line 10185: This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable) dapat diselesaikan dengan cara: 1. jalan kan di cmd/terminal: SET GLOBAL log_bin_trust_function_creators = 1; 2. Masukan di konfgurasi my.cnf : log_bin_trust_function_creators = 1;