如何设置 ModSecurity 模块#

在安装了 ModSecurity 之后, 还需要进行额外的设置。

  1. 在您的 配置 中使用 load_module 指令启用已安装的模块:

    /etc/angie/angie.conf#
    load_module modules/ngx_http_modsecurity_module.so;
    
  2. 在适当的上下文中使用 modsecuritymodsecurity_rules_file 指令,例如 server

    /etc/angie/http.d/default.conf#
    server {
        modsecurity on;
        modsecurity_rules_file /etc/angie/modsecurity/rules.conf;
        # ...
    }
    
  3. OWASP ModSecurity Core Rule Set (CRS) 复制到 /var/lib/angie/modsecurity/

    $ cd /var/lib/angie/modsecurity/
    $ sudo git clone -b v4.1.0 https://github.com/coreruleset/coreruleset
    

    小技巧

    在这里查找最新的发布版本号: coreruleset/coreruleset

  4. 在核心规则集目录中,复制最小必要的 ModSecurity 配置示例:

    $ sudo cp coreruleset/crs-setup.conf.example coreruleset/crs-setup.conf
    $ sudo cp coreruleset/rules/REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf.example \
          coreruleset/rules/REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf
    $ sudo cp coreruleset/rules/RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf.example \
          coreruleset/rules/RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf
    
  5. /etc/angie/modsecurity/rules.conf 中取消注释以下 Include 指令:

    Include /var/lib/angie/modsecurity/coreruleset/crs-setup.conf
    Include /var/lib/angie/modsecurity/coreruleset/rules/*.conf
    
  6. 重新加载 Angie 配置以应用更改:

    $ sudo angie -t && sudo service angie reload