Monthly Archives: May 2010

[更新]适用于Directadmin面板的Nginx自动安装脚本

个人比较偏爱apache,但apache也有不足的地方.比如处理静态请求上.apache会很费劲.nginx也是比较喜欢的一个轻型http服务器.但nginx用fast-cgi跑php也有不足.所以我做了组合,前端跑nginx,后端跑apache.运行了一段时间之后.发现真的不错.所以就一直推荐周遭的朋友这样用.这些日子折腾了好久.终于完成了在Directadmin面板基础上安装nginx的自动安装脚本.这次更新的与前段时间发布的教程不同.这次将nginx真正放到了前端.静态资源完全由nginx处理.后端的apache处理的请求仅限于动态.真正做到动静分离.这样就可以负载更多的访问了.

安装我写了一个脚本.下载后执行就可以了(仅限于centos系统).但是有一个前提:必须在全新安装directadmin面板的机器上安装,这是个已知问题.

安装方法: Read more »

nginx文件类型错误解析漏洞

漏洞介绍:nginx是一款高性能的web服务器,使用非常广泛,其不仅经常被用作反向代理,也可以非常好的支持PHP的运行。80sec发现 其中存在一个较为严重的安全问题,默认情况下可能导致服务器错误的将任何类型的文件以PHP的方式进行解析,这将导致严重的安全问题,使得恶意的攻击者可 能攻陷支持php的nginx服务器。

漏洞分析:nginx默认以cgi的方式支持php的运行,譬如在配置文件当中可以

location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}

的方式支持对php的解析,location对请求进行选择的时候会使用URI环境变量进行选择,其中传递到后端Fastcgi的关键变量 SCRIPT_FILENAME由nginx生成的$fastcgi_script_name决定,而通过分析可以看 到$fastcgi_script_name是直接由URI环境变量控制的,这里就是产生问题的点。而为了较好的支持PATH_INFO的提取,在PHP 的配置选项里存在cgi.fix_pathinfo选项,其目的是为了从SCRIPT_FILENAME里取出真正的脚本名。 Read more »

给DirectAdmin面板增加nginx前端

已更新自动安装版本 : http://icodex.org/2010/05/directadmin-nginx-automated-installer/