差不多,一个星期多的时间都过去了。但是还是感觉时间过的太快,总是不禁的让人长叹一声,关于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文件目录下执行)

附图解释:

执行 make&& make install;

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

5 运行nginx

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

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

访问127.0.0.1出现欢迎界面:

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

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

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

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

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

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

6 配置反向代理

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

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

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

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

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

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

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

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

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

我、实战nginx+naxsi(WAF)之一的更多相关文章

  1. 【转】Nginx 学习笔记(十一)nginx下安装配置naxsi waf防火墙(附完整编译、配置)

    原文地址:http://f2ex.cn/nginx-installed-configuration-naxsi-waf/ Naxsi 是第三方 nginx 模块 ,它和 Modsecurity 都是开 ...

  2. Nginx 支持 WAF 防护功能实战

    WAF(Web Application Firewall),中文名称叫做“Web应用防火墙 WAF的定义是这样的:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提 ...

  3. modSecurity和Naxsi哪个更适合Nginx搭建WAF

    nginx增加modsecurity模块 modsecurity原本是Apache上的一款开源waf,可以有效的增强web安全性,目前已经支持nginx和IIS,配合nginx的灵活和高效,可以打造成 ...

  4. 让 Nginx 支持 WAF 防护功能实战

    ngx_lua_waf 安装说明文档 作者github地址: https://github.com/loveshell/ngx_lua_waf ———————————————————————————— ...

  5. nginx安装waf防护

    一.安装nginx 二.安装luajit2.0 三.安装ngx_devel_kit#wget https://github.com/simpl/ngx_devel_kit/archive/v0.2.1 ...

  6. 《实战Nginx》读书笔记

    最近今天读了一本书叫做<实战Nginx:取代Apache的高性能Web服务器>,看后对Nginx 了解了不少.但是还有很多地方不是很了解.不过此书可以作为一本参考手册来使用,里面的讲解很详 ...

  7. 【摘自张宴的"实战:Nginx"】nginx配置

    user nobody;worker_processes 2; #error_log logs/error.log;error_log logs/error.log notice;#error_log ...

  8. Linux Nginx naxsi

    nginx naxsi 模块 - 简书https://www.jianshu.com/p/8492da04b3ba naxsi compile · nbs-system/naxsi Wikihttps ...

  9. Linux centosVMware 自动化运维Ansible介绍、Ansible安装、远程执行命令、拷贝文件或者目录、远程执行脚本、管理任务计划、安装rpm包/管理服务、 playbook的使用、 playbook中的循环、 playbook中的条件判断、 playbook中的handlers、playbook实战-nginx安装、管理配置文件

    一.Ansible介绍 不需要安装客户端,通过sshd去通信 基于模块工作,模块可以由任何语言开发 不仅支持命令行使用模块,也支持编写yaml格式的playbook,易于编写和阅读 安装十分简单,ce ...

随机推荐

  1. Mac下安装Mysql出现 Can’t connect to local MySQL server through socket '/tmp/mysql.sock'

    在Mac下安装mysql出现 Can't connect to local MySQL server through socket '/tmp/mysql.sock' 错误,解决如下: $ unset ...

  2. 设计模式_Command_命令模式

    形象例子: 俺有一个MM家里管得特别严,没法见面,只好借助于她弟弟在我们俩之间传送 信息,她对我有什么指示,就写一张纸条让她弟弟带给我.这不,她弟弟又传送过来一个COMMAND,为了感谢他,我请他吃了 ...

  3. Lua语法

    1.Lua保留的关键字: and,bread,do,else,elseif,end,false,for,function,if,in,local,nil,not,or,repeat,return ,t ...

  4. java开发 时间类型的转换

    1.String转date SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Strin ...

  5. 【暑假】[深入动态规划]UVa 12170 Easy Climb

    UVa 12170 Easy Climb 题目: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=24844 思路:  引别人一 ...

  6. linux产生静态库和动态库

    如何构建一个库 静态库(.a) 静态库的建立和使用是非常简单的: 1. 编译源文件:gcc -Wall -c test1.c test2.c 2. 生成库文件:ar -cvq libtest.a 3. ...

  7. daemon not running. starting it now on port 5037 ADB server didn't ACK

    adb kill-server adb start-server 显示如下 daemon not running. starting it now on port 5037 ADB server di ...

  8. hdoj 2091 空心三角形

    空心三角形 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  9. [OC Foundation框架 - 3] 指向指针的指针

    使用函数改变NSString void changeStr2(NSString **str3) { *str3 = "; } int main(int argc, const char * ...

  10. like用法

    SQL:btitle like '%"+keyword+"%' 存储过程:keyword like ''%'+@keyword+'%'' 直接查找:name like '%wang ...