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 article helpful?

Related Articles