差不多,一个星期多的时间都过去了。但是还是感觉时间过的太快,总是不禁的让人长叹一声,关于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. 网站HTTP请求过程解析

    网站性能优化中首要的一条就是要减少HTTP请求,那么为要减少HTTP请求呢?其实有些HTTP分析工具可以帮我们了解当浏览器请求一个资源时大致需要经历的哪些过程: 1 域名解析(DNS Lookup): ...

  2. 判断A树是否包含B树结构

    题目:输入两棵二叉树A和B,判断B是不是A的子结构 分析:根据数的遍历方法,首先想到的是采用递归的方式要更简单些,树A从根节点进行遍历,首先判断与B的根节点值是否相等,如果相等则进行递归遍历验证,否则 ...

  3. HDU4614 Vases and Flowers

    http://acm.hdu.edu.cn/showproblem.php?pid=4614 HDU 4614 Vases and Flowers (2013多校第二场线段树) // #pragma ...

  4. NOIP 2014 无线网络发射器选址

    水题..直接暴力 #include<cstdio> #include<algorithm> using namespace std; const int inf = 0x3f3 ...

  5. hive 0.11的安装配置

    一.上传hive 0.11解压后的文件到linux 1.用的版本是shark站点提供的,可能是针对shark修改了代码. 2.追加mysql.oracle两个jdbc驱动包到lib目录下. 二.配置相 ...

  6. TextView & EditText

    TextView 1.下划线 textView.getPaint().setFlags(Paint. UNDERLINE_TEXT_FLAG ); //下划线 2.单独做第一步,文字会出现锯齿,要加下 ...

  7. Java文件清单列表

    package FileDemo; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; imp ...

  8. python 类和实例

    面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可 ...

  9. [Objective-c 基础 - 3.1] 内存管理

    A.内存存放.retain.release 1.栈内存:存放局部变量,运行超过变量作用域自后编译器自动回收 2.堆内存:存放对象(地址,对象实体) 3.对象的基本结构 (1)引用计数器(4字节):当计 ...

  10. 表单,css