ModSecurity3.3下载安装教程

系统:              centos 7.x

nginx :              nginx-1.1 7 . 3 .tar.gz

modsecurity :        modsecurity-3.0.0.tar.gz

nginx-modsecurity:       ModSecurity-nginx-master.zip   (nginx modsecurity 的连接器 )

Owasp:            owasp-modsecurity-crs-3.2-dev  (ModSecurity 官方免费规则 )

(一 modsecurity 安装)

系统依赖:

yum -y install libtool   libtool-ltdl-devel gcc gcc-c++ pcre-devel zlib-devel libxml2-devel libxslt-devel gd-devel perl perl-devel perl-ExtUtils-Embed GeoIP GeoIP-devel GeoIP-data libatomic_ops-devel   openssl   openssl-devel   autoconf automake

 

Modsecurity   安装

[root@localhost ~]# tar xf modsecurity-v3.0.0.tar.gz

[root@localhost ~]# cd modsecurity-v3.0.0

# 如果 GeoIP 是自己下载的 tar.gz 包就执行

[root@localhost modsecurity-v3.0.0]# ./configure --with-geoip=/usr/local/GeoIP   && make && make install

# 如果 GeoIP yum 安装就执行  ./configure   && make && make install

  make 编译时,如果 gcc 4.8 以下版本,会报错如图所示:

            解决办法:将gcc 升级到 4.8 以上版本。

ModSecurity-nginx : 安装

Cd /opt/apps

unzip ModSecurity-nginx-master.zip

mv ModSecurity-nginx-master /usr/local/modsecurity-nginx

 

Nginx : 安装

cd /opt/apps

tar -zxvf nginx-1.16.1.tar.gz

cd nginx-1.16.1/

./configure --add-module=/usr/local/modsecurity-nginx

make && make install

 

nginx + ModSecurity-nginx : 配置

/usr/local/nginx conf 下创建文件夹 modsecurity

cd /usr/local/modsecurity/

cp modsecurity.conf-recommended  /usr/local/nginx/conf/modsecurity/modsecurity.conf

cp unicode.mapping  /usr/local/nginx/conf/modsecurity

nginx.conf : 配置

http server 节点中添加以下内容(在 http 节点添加表示全局配置,在 server 节点添加表示为指定网站配置)

vim /usr/local/nginx/conf/nginx.conf

....

#error_log  logs/error.log;

#error_log  logs/error.log  notice;

#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

http {

    #access_log  logs/access.log  main;

    ............

    server {

        listen       80;

        server_name  localhost;

        #access_log  logs/host.access.log  main;

        modsecurity on;  # 开启 modsecurity

        location / {

            # 加载 modsecurity 配置文件路径

            modsecurity_rules_file /usr/local/nginx/modsecurity.conf;

            root   html;

            index  index.html index.htm;

        }

       .........

    }

}

 

配置owasp 规则文件 :

cd /opt/apps

unzip owasp-modsecurity-crs-3.3-dev.zip

cd owasp-modsecurity-crs-3.3-dev

# 复制 crs-setup.conf.example /usr/local/nginx/conf/modsecurity/ 下并重命名为 crs-setup.conf.

cp crs-setup.conf.example /usr/local/nginx/conf/modsecurity/crs-setup.conf

# 复制 rules 文件夹到 /usr/local/nginx/conf/modsecurity/

cp -r rules /usr/local/nginx/conf/modsecurity/

# 然后 cd /usr/local/nginx/conf/modsecurity/rules

mv REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf.example REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf

mv RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf.example RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf

 

modsecurity.conf : 配置

Vim  /usr/local/nginx/conf/modsecurity/modsecurity.conf

 

# 默认只是检测,不拦截,可以修改配置,将

SecRuleEngine DetectionOnly   改为 =>  SecRuleEngine On

 

# 确保 ModSecurity 在记录审计日志时保存请求体 IJ 改为 C

SecAuditLogParts ABIJDEFHZ   改为 = SecAuditLogParts ABCDEFHZ

 

# modsecurity.conf 的文件末尾添加以下内容:

Include /usr/local/nginx/conf/modsecurity/crs-setup.conf

Include /usr/local/nginx/conf/modsecurity/rules/*.conf

 

最后重启nginx 即可:

./nginx 





请使用浏览器的分享功能分享到微信等