Apache-2.4
Apache 2.4.34 的 ModSecurity 因無效命令“SecRuleEngine”而失敗
我有一台 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 模組——它還沒有準備好生產。