เป็น 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