2010年05月21日

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;
} (全文 ...)

  • » 阅读全文...
  • 2010年04月3日

    《实战Nginx:取代Apache的高性能Web服务器》pdf电子书下载

    张宴《实战Nginx:取代Apache的高性能Web服务器》pdf电子书下载地址:

    http://diavps.vpser.net/nginx-pdf-download.zip (为防止盗链和转载不注明出处,不定期更新链接!)

    目录介绍:

    第1部分 基础篇
    第1章 Nginx简介
    1.1 常用的Web服务器简介
    1.2 Nginx简介 (全文 ...)

  • » 阅读全文...
  • 2010年01月24日

    Linux VPS Nginx+PHP 安装ionCube

    今天下载了一个whmcs,在自己的VPS上测试一下,但是提示:Site error: the file /home/test/whmcs/index.php requires the ionCube PHP Loader ioncube_loader_lin_5.2.so to be installed by the site administrator.

    上面的提示是没有安装ionCube的原因。

    首先,执行uname -a 查看系统是32位还是64位,打开http://www.ioncube.com/loaders.php页面根据Linux是32位还是64位下载适当的软件包,比如我的是32位的,切换到/usr/local/目录,执行cd /usr/local ,wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz 下载,再执行tar zxvf ioncube_loaders_lin_x86.tar.gz 解压软件包。

    修改/usr/local/php/etc/php.ini 在文件尾部添加如下代码:

    [ionCube Loader]
    zend_extension="/usr/local/ioncube/ioncube_loader_lin_5.2.so" (全文 ...)

  • » 阅读全文...
  • 2010年01月18日

    Nginx反向代理

    server
    	{
        	listen          80;
        	server_name     t.vpser.net;
     
        	location / {
            	proxy_pass              http://twitter.com/;
            	proxy_redirect          off;
            	proxy_set_header        X-Real-IP       $remote_addr;
            	proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            	}
    	}
  • » 阅读全文...
  • 2009年11月9日

    LNMP - CentOS/RadHat/Debian/Ubuntu下Nginx+PHP+MySQL一键安装包V0.3发布

    LNMP - CentOS/RadHat/Debian/Ubuntu下Nginx+PHP+MySQL一键安装包V0.3发布

    CentOS/RadHat版请到:http://blog.licess.cn/lnmp/

    Debian/Ubuntu版请到:http://blog.licess.cn/lnmp-debian-ubuntu/

    交流论坛:http://bbs.vpser.net/forum-25-1.html

    VPS相关信息请到:http://www.vpser.net/

  • » 阅读全文...
  • 2009年10月14日

    自动将Apache Rewrite伪静态规则转换为Nginx Rewrite

    以前介绍过Nginx的Rewrite配置这篇文章,今天无意间发现了,这个自动转换程序。

    http://www.anilcetin.com/convert-apache-htaccess-to-nginx/

    此地址里面的内容包含可以完成上面说的略做修改的功能。就是把.htaccess中的规则自动转换成nginx下面可用的规则。

  • » 阅读全文...
  • 2009年08月28日

    Nginx打开目录浏览功能(autoindex)

    Nginx默认是不允许列出整个目录的。如需此功能,
    打开nginx.conf文件,在location server 或 http段中加入
    autoindex on;
    另外两个参数最好也加上去:

    autoindex_exact_size off;
    默认为on,显示出文件的确切大小,单位是bytes。
    改为off后,显示出文件的大概大小,单位是kB或者MB或者GB

    autoindex_localtime on;
    默认为off,显示的文件时间为GMT时间。
    改为on后,显示的文件时间为文件的服务器时间

    location /images {
                    root   /var/www/nginx-default/ibugaocn;
                    autoindex on;
            }

    详细参照:http://wiki.nginx.org/NginxChsHttpAutoindexModule

    如果想希望目录列表支持header,footer则可以安装三方插件:

    http://wiki.nginx.org/NginxNgxFancyIndex

  • » 阅读全文...
  • 2009年08月26日

    LNMP Debian/Ubuntu下Nginx+MySQL+PHP+phpMyAdmin+Zend一键安装包

    LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat、Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx、MySQL、PHP、phpMyAdmin)生产环境的Shell程序。

    LNMP一键安装包 0.4版更新记录:

    • 添加LNMP状态管理
    • 添加PureFTPd状态管理
    • PHP增加suhosin
    • 增加VsFTPd、PureFTPd安装及管理
    • 增强Nginx虚拟主机添加功能,添加多域名、伪静态支持、日志是否启用的功能
    • 升级Nginx到0.7.65、MySQL到5.1.44

    LNMP一键安装包 0.4版下载地址:

    下载版:http://soft.vpser.net/lnmp/lnmp0.4.tar.gz
    完整版:http://soft.vpser.net/lnmp/lnmp0.4-full.tar.gz

    LNMP一键安装包 0.4版安装步骤:

    1、下载LNMP一键安装包:
    可以选择使用下载版(推荐国外或者美国VPS使用)或者完整版(推荐国内VPS使用),如果使用下载版执行命令 wget -c http://soft.vpser.net/lnmp/lnmp0.4.tar.gz,如果使用完整版,执行命令 wget -c http://soft.vpser.net/lnmp/lnmp0.4-full.tar.gz,执行上述命令后LNMP一键安装包就会被下载到VPS 上。

    2、解压LNMP一键安装包:
    执行tar zxvf lnmp0.4.tar.gz 或者tar zxvf lnmp0.4-full.tar.gz 就会将LNMP一键安装包解压缩。

    3、CentOS下安装步骤
    执行命令 cd lnmp0.4/
    然后再执行./centos.sh ,输入要绑定的域名,回车,再输入要设置的MySQL root的密码,再次回车确认。程序会自动安装编译Nginx、PHP、MySQL、phpMyAdmin、Zend这几个软件。

    4、Debian/Ubuntu下安装步骤
    执行命令 cd lnmp0.4/
    然后32位系统执行./debian.sh ,输入要绑定的域名,回车,再次输入VPS/服务器所在位置:asia、america、europe、oceania或africa,回车,再输入要设 置的MySQL root的密码,回车后,再次回车确认。程序会自动安装编译Nginx、PHP、MySQL、phpMyAdmin、Zend这几个软件。安装大约10分 钟左右需要设置MySQL root用户的密码。

    安装其他组件
    1、安装eAccelerator,执行如下命令:./eaccelerator.sh 就会自动安装并重启web服务。
    2、安装PureFTPd和管理面板,执行如下命令:./pureftpd.sh 就会自动安装PureFTPd,安装完PureFTPd,需要在浏览器执行http://你的域名或IP/ftp/install.php 安装PureFTPd用户管理。

    虚拟主机管理
    1、添加虚拟主机,执行如下命令:./vhost.sh 根据提示输入要绑定的域名,回车,如果需要添加更多的域名,输入y,再输入要另外绑定的域名,多个域名可以用空格隔开。再输入域名绑定的目录(绝对目录, 如/home/wwwroot/lnmp,如果不填默认是/home/wwwroot/绑定的域名),再选择是否添加伪静态规则,默认已经有了 Discuz、Wordpress、Sablog、emlog、dabr,可直接输入以上名称即可,如果需要添加自定义伪静态规则,直接输入一个想要的名 字,程序会自动创建伪静态文件,直接在/usr/local/nginx/conf/你自定义的伪静态名字.conf 里面添加伪静态规则就行。接下来会提示是否需要启用日志功能,一般情况下不需要启动,直接输入n就行,如需启动,输入y,再输入要定义的日志文件名字,回 车就会自动添加虚拟主机。

    LNMP状态管理: /root/lnmp {start|stop|reload|restart|kill|status}
    PureFTPd状态管理 /root/pureftpd {start|stop|restart|kill|status}
    phpinfo : http://$domain/phpinfo.php
    phpMyAdmin : http://$domain/phpmyadmin/
    探针 : http://$domain/p.php"

    LNMP相关目录:
    mysql :   /usr/local/mysql
    php :     /usr/local/php
    nginx :   /usr/local/nginx
    网站目录 :     /home/wwwroot

    注:已经在DiaHostingPhotonVPS(感谢提供测试VPS)、Burst、VPS.net、breezehostRapidxen 及几位lnmp网友提供的VPS上的CentOS 32/64bit、Debian 4/5 32/64bit上测试成功。同时感谢提供测试VPS的商家及网友。

    技术支持
    ————————
    LNMP官网:http://www.lnmp.org/
    作者技术支持邮箱:www@lnmp.org
    技术支持论坛:http://bbs.vpser.net/forum-25-1.html (注册需注明原因,人工审核。)

  • » 阅读全文...
  • 2009年07月2日

    Nginx无缝升级

    昨天VPS侦探的VPS因为内存爆满挂掉,顺便升级了下Nginx,到最新比较稳定稳定的0.7.65。

    Nginx编译后就一个小文件,不带动态库,升级也可以无缝升级,并不影响访问。

    首先下载Nginx:执行wget http://soft.vpser.net/web/nginx/nginx-0.7.65.tar.gz

    再执行 ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module ,按原来的路径配置,自己需要的包打上,基本上没啥,基本功能Nginx都自带了。

    然后make,但不要install

    编译完,在objs目录下有一个nginx执行文件,就是它了。

    备份下原来老的nginx文件

    mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old

    在把新objs下的nginx cp到sbin下。

    nginx -t 测试下,显示通过。

    //让nginx把nginx.pid改成nginx.pid.oldbin 跟着启动新的nginx,一般lnmp一键安装包安装的按下面执行命令即可。
    kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`

    //退出旧的nignx
    kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`

    升级完成!

  • » 阅读全文...
  • 2009年05月31日

    Nginx.Me

    嘿嘿,注了Nginx.Me这个米,自己比较喜欢Nginx,就。。。虽然.me的域名不是很好。。。
    Nginx.Me Nginx迷

    我爱Nginx......

  • » 阅读全文...