apache和nginx安全防护规则/目录保护模板,近些年由于ai、网络空间测绘等技术的发展,涌现了很多自动化批量扫描、渗透的团队,他们往往利用网站程序化、框架化的特点,使用一些程序源码、程序框架的通用漏洞、公开漏洞甚至0day等进行爆破,从而导致不少网站经常中招,甚至可以明显发现近一年中招的概率越来越大。鉴于此,网站个人站长的防护意识应当重视起来,以下个人亲测的一些防护规则,虽然说不是完全阻止入侵,但也作为防护当中的一个环节可以在某些时候给入侵者带来障碍,提高他们入侵的难度,间接为我们自己的网站免去一些不必要的麻烦
简单来说就是,对于下面自己设置的一些目录和对应的文件规则,那些目录是不允许执行php以及asp、js等这样一些脚本的,这样攻击者即便渗透入侵了,他们的木马放进去也不能执行。
不同的web环境使用不同的目录规则,分别有apache和nginx的,请自行修改、并测试使用
apache防护规则
RewriteCond % !^$
RewriteRule data/(.*).(php|php3|php4|php5|php6|php7|pht|phtml|asp|aspx|jsp|exe|js|sql|perl|cgi|asa)$ C [F]
RewriteRule template/(.*).(php|php3|php4|php5|php6|php7|pht|phtml|asp|aspx|jsp|exe|perl|cgi|asa)$ C [F]
RewriteRule uploads/(.*).(php|php3|php4|php5|php6|php7|pht|phtml|asp|aspx|jsp|exe|js|sql|perl|cgi|asa)$ C [F]
nginx防护规则
多目录统一规则版
location ~* ^/(data|template|uploads)/.*\.(php|php3|php4|php5|php6|php7|pht|phtml|asp|aspx|jsp|exe|js|sql|perl|cgi|asa)$ {
deny all;
return 403;
}
多目录独立规则版
# 禁止访问 /data 目录下的特定扩展名的文件
location ~* ^/data/.*\.(php|php3|php4|php5|php6|php7|pht|phtml|asp|aspx|jsp|exe|js|sql|perl|cgi|asa)$ {
deny all;
return 403;
}
# 禁止访问 /template 目录下的特定扩展名的文件
location ~* ^/template/.*\.(php|php3|php4|php5|php6|php7|pht|phtml|asp|aspx|jsp|exe|js|sql|perl|cgi|asa)$ {
deny all;
return 403;
}
# 禁止访问 /uploads 目录下的特定扩展名的文件
location ~* ^/uploads/.*\.(php|php3|php4|php5|php6|php7|pht|phtml|asp|aspx|jsp|exe|js|sql|perl|cgi|asa)$ {
deny all;
return 403;
}