nginx 禁止特定目录下解析可执行文件,以防止木马入侵

背景:

web2.0时代,绝大多数网站都是以用户为中心的,如bbs,blog,sns,微信,微博等,这些服务都有一个共同的特点,就是不但允许用户发布内容到服务器,还允许用户上传图片等附件到服务器上。由于为用户开启了上传的功能,因此给服务器带来了很大的安全风险。黑客可能上传木马程序到服务器上,给我们造成危害和损失。

目标:禁止解析可执行文件,已防止木马入侵

策略:利用nginx 的location实现

步骤:

1)环境

cat /etc/redhat-release
CentOS release 6.6 (Final)

uname -m
x86_64

nginx -v
nginx version: nginx/1.9.14

2)以wordpress为例,网站的上传目录是/wp-content/uploads,那么我们在nginx的配置文件中添加下面的指令

location ~ ^/wp-content/uploads/.*\.(php|sh|py)?$ {
deny all;
}

提示:

a.当用户的请求匹配是/wp-content/uploads 目录下的php,shell,python的文件的时候,会拒绝。

b.对于上述目录的限制必须写在nginx处理php服务配置的前面

查看效果

QQ20160504230400

这样,即使用户上传了木马文件,也无法执行,从而加强了网站的安全。

nginx 禁止特定目录下解析可执行文件,以防止木马入侵
Scroll to top