0x01 前言

前些天我写了几篇关于modsecurity的文章,但和最新的nginx(openresty)并不兼容。经过查询了解后发现在modsecurity v3中已经解决了这些BUG。

在这里我记录下编译的过程,以下是软件版本:

  • nginx:openresty-1.11.2.5
  • ModSecurity:ModSecurity v3.0.0rc1 (Linux)
  • modsecurity connector:ModSecurity-nginx v0.1.1-beta

安装测试都在centos7上进行。

0x02 准备

首先通过以下地址将软件下载到本地,先建立并进入相应的文件夹:

然后下载或克隆文件到本地:

0x03 编译安装

0x03.1 Modsecurity Lib

先编译Modsecurity Lib,进入ModSecurity源码文件夹并运行以下命令:

完成后,在根目录下会有一个build.sh的可执行文件:

运行build.sh:

在build的过程中会出现以下错误,忽略即可:

然后是configure、编译和安装:

编译的需要的时间比较长,请耐心等待。完成后即可查看相关目录与文件:

0x03.2 nginx

先解压openresty,然后进入openresty的源码文件夹:

然后使用以下configure参数编译nginx:

请注意最后的–add-dynamic-module参数,这里以动态模块的形式连接modsecurity。然后编译和安装:

最后查看nginx版本与检查编译参数:

0x04 其他

规则的部分请参考以下文章:

使用modsecurity v3并不会出现2.9版本的BUG,日志的问题也恢复正常,在也不需要手动修改配置。如果不介意,可以直接使用默认配置。那么日志的路径和格式如下:

0x05 结语

编译安装的过程与2.9版本的有一点点却别,但v3修复了和最新版nginx不兼容的问题。

0x06 相关视频

https://www.bilibili.com/video/av16555265/

2 条评论 / comments

  1. 请问你是按照我的文章手动编译的吗?
    另外我需要你给我发一份nginx的日志和modsecurity的日志,我看看是不是有其他错误。
    我觉得给你提供测试用的虚拟机用处不大,今晚我会录制一个编译过程的视频,请关注Bilibili或晚点回来看看这篇文章的底部。

  2. 编译安装完后,在访问登陆界面时,问题与2.9.2类似。nginx的cpu、内存消耗很大,登录无法自动跳转。
    能否共享一下安装好的虚拟机,实在折腾不动了。

Comments are closed.