我安装了一个新的CentOS 8,我从回购程序中安装了Apache2.4.37。然后安装了最新的ModSecurity:
dnf install mod_security -y检查安装
dnf info mod_security结果:
Name : mod_security
Version : 2.9.2所需的Apache模块可用/加载:
apachectl -M | grep security -> security2_module (shared)
apachectl -M | grep unique -> unique_id_module (shared)安装了回购程序中的核心规则集:
dnf install mod_security_crs自动将规则链接到apache文件夹中。
/etc/httpd/modsecurity.d/activated_rules规则已经检查过了/已经到位了。
主配置文件
/etc/httpd/conf.d/mod_security.conf包括必要的进一步配置文件,包括规则conf文件本身:
IncludeOptional /etc/httpd/modsecurity.d/crs-setup.conf
IncludeOptional /etc/httpd/modsecurity.d/activated_rules/*.conf
IncludeOptional /etc/httpd/modsecurity.d/local_rules/*.conf(路径已被双重检查)并激活规则引擎:
SecRuleEngine On规则配置文件modsecurity.d/crs-setup.conf (包括在mod_security.conf中,请参阅上面)提供
SecDefaultAction "phase:1,log,auditlog,deny,status:403"
SecDefaultAction "phase:2,log,auditlog,deny,status:403"Apache httpd.conf调用ModSecurity:
SecStatusEngine On重新启动(apachectl restart)显示ModSecurity已成功加载:
ModSecurity: StatusEngine call successfully sent. <-- including LUA etc.使用诸如脚本插入之类的操纵URL进行的测试:
/?q=%22%3E%3Cscript%3Ealert(1)%3C/script%3E%27在ModSecurity这边没有任何反应。ModSecuritie的审计和调试日志文件中没有任何条目(调试级别设置为3),Apache的日志文件中没有错误。
发布于 2020-08-08 15:49:11
我只是省略了Apache httpd.conf中包含conf.d .d目录的内容。这就是为什么ModSecurity引擎可以启动,但不读任何规则。
我加了一行
IncludeOptional /etc/httpd/conf.d/*.conf在httpd。所有的一切都按预期进行。
https://serverfault.com/questions/1029398
复制相似问题