您的位置:首页 > 运维架构 > Nginx

nginx + naxsi 搭建web应用防火墙(ubuntu系统)

2012-05-23 14:46 656 查看



1 下载nginx源码

wget http://nginx.org/download/nginx-1.2.0.tar.gz


2 下载naxsi源码(http://code.google.com/p/naxsi/)

wget http://naxsi.googlecode.com/files/naxsi-0.46-1.tgz


3 下载开发包

apt-get install libpcre3-dev libpcre3 gcc make zlib1g-dev


4 编译

tar xzvf nginx-1.2.0.tar.gz
tar xzvf naxsi-0.46-1.tgz
./configure --add-module=/root/software/naxsi-0.46-1/naxsi_src --prefix=/root/app/nginx


5 运行

./nginx


6 学习模式(0.46版)

启用
nx_intercept.py
nx_extract.py
两进程:

cd naxsi-0.46-1/contrib/naxsi-ui
python nx_intercept.py -c naxsi-ui.conf
python nx_extract.py naxsi-ui.conf


[title3]6.1 各文件说明[/title3]

文件名说明
nx_intercept.py
监听端口8080,获取naxsi产生的异常信息,并将其保存到数据库
nx_extract.py
监听端口8081,从数据库读取异常信息,以web形式显示
nx_parser.py
业务处理,主要是数据分析以及读写数据库
MySQLConnector.py
数据库句柄
naxsi-ui.conf
配置文件
[title3]6.2 fix bug[/title3]

如果没有使用默认的配置文件
naxsi-ui.conf
,将可能有这样的BUG。
nx_intercept.py
第42行,没有使用指定的配置文件:

self.db = MySQLConnector.MySQLConnector().connect()

要将其改为如下:

self.db = MySQLConnector.MySQLConnector(conf_path).connect()


7 参考资料

nginx下载 naxsi官网 naxsi文档

8 FAQ

[title3]8.1 页面403[/title3]

自己编译的nginx可能会出现这个问题,主要原因是nginx对网站目录没有权限。解决方法:一,给文件夹加访问权限;二,修改nginx.conf。第一行改成user root root

Date: 2012-05-23 11:13:14 中国标准时间
Author: WuYao
Org version 7.7 with Emacs version 24

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: