全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 7700|回复: 16

[nginx] Nginx的配置安全加固分享,涉及预防多方面的潜在危险

[复制链接]
发表于 2011-6-9 01:02:19 | 显示全部楼层 |阅读模式
.
看到大家重炒古老的NGINX的FAST-CGI解析PHP_PATH_INFO漏洞,真不知该做何感想,下面分享一段NGINX的配置代码,具体作用附有简单注释。
大家要记住一个原则,那就是:能执行php程序的目录一定不要开放读写权限,而可以读写的目录(比如上传)一定不要赋予php执行权限。

这段代码需要放在server段里面(较前位置,最好放在location / {...}前面),也可以存成一个文件在每个vhost里include一下。
  1. # 2011 (C) cnpanel
  2. # Disable visitors without agent
  3. if ($http_user_agent ~ ^$) { return  412; }
  4. # Disable possible Apache access files
  5. location ~ /\.ht {deny  all;}
  6. # Never can not visit or download files or DIRs starting with #
  7. location ~ /\# {deny all;}
  8. # Disable risk request in some DIRs for secure
  9. location ~* /(image|images|img|imgs|upload|uploads|upimg|upimgs|upfile|upfiles|down|download|downloads|attachment|attachments|js|css|style|styles|tpl|template|templates|theme|themes|view|views|lang|language|languages|setting|settings|app|apps|include|includes|class|classes|mod|mods|model|models|lib|libs|control|controls|source|sources|plugin|plugins|data|datas|database|tmp|temp|ipdata|html|avatar|avatars)/(.*)\.(php|php3|php4|php5|cgi|asp|aspx|jsp|shtml|shtm|pl|cfm|sql|mdb|dll|exe|com|inc|sh)$ {deny all;}
复制代码
【提示】Igor说过if clause和正则会降低一点点nginx的性能,极高并发时会比较明显 (但是谁的配置离的了这两样呢?)
【声明】这段代码的思路是网上综合而来,是我即将发布的lnmp一键脚本的关于nginx的配置的一个文件里面摘抄出来的,绝无雷同,保留权利。

最后再说一句,安全是相对的,是全方位、综合性的,nginx再安全也敌不过系统被人拿shell,或者如果网站程序本身就是筛子,那都根本不用费力气搞什么牛啊马啊的了

配置的最后一句有可能对某些冷门或自编程序不兼容,使用有什么异常也可以留言
如果有什么指教请回复,欢迎大家交流!

评分

参与人数 7威望 +97 收起 理由
wst321 + 7 广告/SPAM
卡恩 + 20 广告/SPAM
linyuefeng + 10 精品文章
dream26 + 20 精品文章
挨个搞 + 10 精品文章

查看全部评分

发表于 2011-6-9 01:04:29 | 显示全部楼层
学习一下
发表于 2011-6-9 01:07:47 | 显示全部楼层
mark
发表于 2011-6-9 01:08:35 | 显示全部楼层
用白名单。
发表于 2011-6-9 06:46:29 | 显示全部楼层
留言做记号 谢谢分享
发表于 2011-6-9 08:32:35 | 显示全部楼层
发表于 2011-6-9 08:54:03 | 显示全部楼层
apache跑php 有问题 木有?
发表于 2011-6-9 08:54:37 | 显示全部楼层

回复 7# ssh 的帖子

木有
 楼主| 发表于 2011-6-9 09:14:38 | 显示全部楼层
原帖由 jasontse 于 2011-6-9 08:32 发表
http://blog.s135.com/nginx_0day/
完美解决方案



什么叫完美?

这段代码不是单独针对什么历史0day的,这段代码能做的更多
 楼主| 发表于 2011-6-9 09:55:09 | 显示全部楼层
原帖由 ssh 于 2011-6-9 08:54 发表
apache跑php 有问题 木有?


Nginx如果作为前端,这段代码同样会对任何后端起的相同的保护作用,当然仅限于网站层面上

不管后端是Apache、IIS还是Tomcat等等

评分

参与人数 1威望 +20 收起 理由
有个就好 + 20 我很赞同

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-4-26 04:22 , Processed in 0.062470 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表