差不多,一个星期多的时间都过去了。但是还是感觉时间过的太快,总是不禁的让人长叹一声,关于nginx和(naxsi)WAF这个问题,也算是只走出了第一步,在遇到了各种乱七八糟的错误之后总算是想要静下心来写一些自己这小段时间里的一些感受或者是算不上总结的总结。参考的文章也很多,我在这里把所有的东西都融到一起,像我一样的小白希望你们遇到的时候能帮的上你们,而对于熟悉Linux环境和各种错误的人也希望能帮助到你们。

言归正传,我们开始我们的实战之旅。

第一部分---安装nginx+naxsi

首先,我说一下我的环境是ubuntu14.04LTS版本,并且是在root用户下进行操作的,省去了很多麻烦,至于其他的版本也应该是大同小异的,区别也极有可能只是命令的不通而已。

1 下载nginx源码:wget http://nginx.org/download/nginx-1.7.9.tar.gz

2 下载naxsi源码:wget https://naxsi.googlecode.com/files/naxsi-core-0.51-1.tgz

(注意:这个网址是在谷歌,所以自己想办法下载,我当时使用办法是在windows系统下下载好之后再挪进虚拟机的。为什么要这样做我想你能懂。)

3 安装开发包  apt-get install libpcre3-dev libpcre3 gcc make zlib1g-dev

(注意:这些安装包还是先安装比较好,省去以后需要时才安装带来的麻烦,当然以后要是需要其他的开发包等时,可以那时再安装。)

4 解压缩、编译

(我之前把所有的包全部放在了统一的目录下方便进行操作)

tar xzvf nginx-1.7.9.tar.gz

tar xzvf naxsi-core-0.51-1.tar.gz

执行编译:

在编译安装nginx之前请确定你没有安装apache,如果已经安装请你先卸载在安装。

./configure --add-module=/home/stone/Downloads/naxsi-core-0.51-1/naxsi_src --prefix=/home/stone/Downloads/nginx(这一步要在解压之后的nginx文件目录下执行)

附图解释:

我、实战nginx+naxsi(WAF)之一-LMLPHP

执行 make&& make install;

结束,之后在我的Downloads目录下生成了一个nginx文件夹,这就是安装之后的nginx。

5 运行nginx

生成的可执行的nginx文件在/home/stone/Downloads/nginx/sbin目录下,即你编译生成的nginx文件夹下的sbin文件夹里面。(当时我不知道之前的编译命令是什么意思,结果在指定安装目录的时候我就写的是nginx1.7.9,就生成了一个nginx1.7.9的文件夹)

我、实战nginx+naxsi(WAF)之一-LMLPHP

执行命令:./nginx(启动nginx)

访问127.0.0.1出现欢迎界面:

我、实战nginx+naxsi(WAF)之一-LMLPHP

这里的nginx的目录就是你指定的目录,比如,我的就是/home/stone/Downloads/nginx1.7.9

我们下面可以测试一下我们定制安装的nginx是否已经安装成功了:

我的命令是这样的:./nginx -t

我、实战nginx+naxsi(WAF)之一-LMLPHP

注意:有的文章上面写的是nginx -t,如果在我的那个目录下也敲nginx -t命令的话会出现这样的状况:

我、实战nginx+naxsi(WAF)之一-LMLPHP

我们可以看到了,系统应该是已经自带有安装包的,如果你执行了安装命令的话,我们使用源码安装的意义就没有了,所以,个人觉得命令应该是./nginx -t。

接下来,我们需要将nginx配制成反向代理,

6 配置反向代理

第一,首先我们要清楚的知道nginx的安装目录,我的安装目录是指定到了/home/stone/Downloads/nginx1.7.9

我、实战nginx+naxsi(WAF)之一-LMLPHP

接着,我们进入naxsi的目录下,将naxsi的核心配置拷贝到nginx的配置文件夹下(即nginx1.7.9/conf文件夹下)。也可以用命令行的形式进行这个过程:

我、实战nginx+naxsi(WAF)之一-LMLPHP

cp /home/stone/Downloads/naxsi-core-0.51-1/naxsi_config/naxsi_core.rules /home/stone/Downloads/nginx1.7.9/conf/
      完成这一步之后,我们要配置一下nginx.conf的配置文件,加入配置,让其包含naxsi的核心规则库文件:

我、实战nginx+naxsi(WAF)之一-LMLPHP

然后需要定义一个虚拟主机的安全规则,我参考的内容如下,并且我将它命名为naxsi_nbs.rules(你可以将它命名为test.rules否可以):

我、实战nginx+naxsi(WAF)之一-LMLPHP

然后这个文件在conf文件夹下,之后在配置配置文件的时候需要将该文件包含在配置文件中,

形如:include  /home/stone/Downloads/nginx1.7.9/conf/

到此为止,我们的nginx+naxsi安装以及关联已经告一个小小的段落,之后还有一些详细的配置文件的内容介绍,我将在下一篇随笔里面介绍。

在这过程之间,我曾遇到过一下问题,如果你们也遇到了和我一样的问题,那么我之前的时候记录的一篇关于遇到的一些问题思路或解决方法的随笔也许可以帮到你们:

http://www.cnblogs.com/stone-dan-dan/p/stone.html

05-08 08:13