Apache-2.4

Apache 2.4.34 的 ModSecurity 因無效命令“SecRuleEngine”而失敗

  • September 30, 2020

我有一台 Ubuntu 18.04 伺服器,安裝了 Apache 2.4.34,並使用 apache 模組編譯了 ModSecurity 3。

我可以通過添加成功載入模組:

LoadModule security3_module modules/mod_security3.so

到我的 httpd.conf

並使用 httpd -M 進行測試顯示模組正在載入

在此處輸入圖像描述

我的配置是標準的,除了從 v3 規則 repo 中提取,並將配置文件移動到它們應該去的地方。

一旦我嘗試載入我收到的配置:

AH00526: Syntax error on line 7 of /opt/ModSecurity/modsecurity.conf:
Invalid command 'SecRuleEngine', perhaps misspelled or defined by a module not included in the server configuration

我的配置很簡單:

<IfModule security3_module>
   IncludeOptional /opt/ModSecurity/modsecurity.conf
</IfModule>

其中/opt/ModSecurity/modsecurity.conf包含來自 repo 的標準內容。

我究竟做錯了什麼?

(如果您需要更多資訊,請告訴我)

您必須在上下文中啟用 ModSecurity,例如:

<VirtualHost *:80>
   ServerName foobar.com
   ...
   <Directory /path/to/docroot>
       ...
       modsecurity on
       modsecurity_rules_file /path/to/modsecurity.conf
       # optional:
       modsecurity_rules_file /path/to/crs-rules.load
   </Directory>
   ....
</VirtualHost>

但是如果你接受我的好建議,你就不要使用 ModSecurity3 Apache 模組——它還沒有準備好生產。

引用自:https://serverfault.com/questions/946791