linux web应用防火墙,Nginx + Naxsi 搭建Web应用防火墙(Ubuntu系统)

本文介绍了如何在Ubuntu系统中下载并编译安装Nginx和Naxsi模块,以增强Web服务器的安全性。步骤包括下载源码、安装依赖、配置编译选项以及启动服务。同时,提到了使用naxsi-ui进行学习模式的设置,用于监控和处理异常请求。在遇到403错误时,提供了权限调整的解决方案。
摘要由CSDN通过智能技术生成

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

6.1 各文件说明

文件名 说明

nx_intercept.py 监听端口8080,获取naxsi产生的异常信息,并将其保存到数据库

nx_extract.py 监听端口8081,从数据库读取异常信息,以web形式显示

nx_parser.py 业务处理,主要是数据分析以及读写数据库

MySQLConnector.py 数据库句柄

naxsi-ui.conf 配置文件

6.2 fix bug

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

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

要将其改为如下:

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

8 FAQ

8.1 页面403

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

Date: 2012-05-23 11:13:14 中国标准时间

Author: WuYao

Org version 7.7 with Emacs version 240b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值