NginX basic security configuration

เป็น Security Config ที่สามารถป้องกัน bot ที่ไม่มีประโยชน์และการโจมตีบางประเภทได้ครับ แนะนำให้ใส่ไว้
การใส่ให้ใส่ที่ nginx.conf ได้เลยครับ

โดยนำไปวางไว้ใต้

proxy_temp_file_write_size 64k;

}

โดยเพิ่มข้อความดังต่อไปนี้

#some bot does not send user-agent, just block them
if ($http_user_agent = "") {
set $proxyflag "forbidden";
return 403;
}

#security for timthumb remote code execution exploit
if ($request_uri ~* "\.php.*src=.*(flickr\.com|picasa\.com|blogger\.com|wordpress\.com|img\.youtube\.com|upload\.wikimedia\.org|photobucket\.com|imgur\.com|imageshack\.us|tinypic\.com)") {
set $proxyflag "forbidden";
return 403;
}

#cached folder should not have any php file
if ($request_uri ~* "/cache/.*\.php") {
set $proxyflag "forbidden";
return 403;
}

#bad behavior url (known botnet/trojan)
if ($request_uri ~* "\?.*eval\(") {
set $proxyflag "forbidden";
return 403;
}
if ($request_uri ~* "act=phptools") {
set $proxyflag "forbidden";
return 403;
}

#sql injection tools
if ($http_user_agent ~* "Havij") {
set $proxyflag "forbidden";
return 403;
}
if ($http_user_agent ~* "^sqlmap/") {
set $proxyflag "forbidden";
return 403;
}

เรียบร้อยให้ Restart nginx เรียบร้อยแล้วคัรบ

ขอบคุณเทคนิคดีๆ จากคุณ icez แห่ง THT

Was this answer helpful?

 Print this Article

Also Read

วิธีสั่งให้ NginX ทำงานทันทีเมื่อ restart เครื่อง

ก่อนทำวิธีนี้ต้องทำการสร้างไฟล์เพื่อทำการ Start Stop และ Restart NginX ก่อนนะครับจาก link นี้ครับ...

วิธีสร้างไฟล์เพื่อ Start Restart หรือ Stop Service NginX

เริ่มต้นด้วยการสร้างไฟล์เพื่อ start/stop/restart nginx service เลยครับ touch /etc/init.d/nginx...

วิธีเพิ่ม NginX ลงที่หน้าดู Service Monitor ของ Directadmin

เริ่มด้วยการแก้ไขไฟล์ Service Status ของ DirectAdmin nano -w...

วิธีติดตั้ง Nginx กับ DirectAdmin

วิธีติดตั้ง nginx แบบนี้เหมาะสำหรับ server ที่มีหลายเว็บไซต์ในเครื่องเดียว เช่น Server...