首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ModSecurity不会应用规则-没有错误日志条目

ModSecurity不会应用规则-没有错误日志条目
EN

Server Fault用户
提问于 2020-08-08 13:46:24
回答 1查看 914关注 0票数 0

我安装了一个新的CentOS 8,我从回购程序中安装了Apache2.4.37。然后安装了最新的ModSecurity:

代码语言:javascript
复制
dnf install mod_security -y

检查安装

代码语言:javascript
复制
dnf info mod_security

结果:

代码语言:javascript
复制
Name         : mod_security
Version      : 2.9.2

所需的Apache模块可用/加载:

代码语言:javascript
复制
apachectl -M | grep security -> security2_module (shared)
apachectl -M | grep unique -> unique_id_module (shared)

安装了回购程序中的核心规则集:

代码语言:javascript
复制
dnf install mod_security_crs

自动将规则链接到apache文件夹中。

代码语言:javascript
复制
/etc/httpd/modsecurity.d/activated_rules

规则已经检查过了/已经到位了。

主配置文件

代码语言:javascript
复制
/etc/httpd/conf.d/mod_security.conf

包括必要的进一步配置文件,包括规则conf文件本身:

代码语言:javascript
复制
IncludeOptional /etc/httpd/modsecurity.d/crs-setup.conf
IncludeOptional /etc/httpd/modsecurity.d/activated_rules/*.conf
IncludeOptional /etc/httpd/modsecurity.d/local_rules/*.conf

(路径已被双重检查)并激活规则引擎:

代码语言:javascript
复制
SecRuleEngine On

规则配置文件modsecurity.d/crs-setup.conf (包括在mod_security.conf中,请参阅上面)提供

代码语言:javascript
复制
SecDefaultAction "phase:1,log,auditlog,deny,status:403"
SecDefaultAction "phase:2,log,auditlog,deny,status:403"

Apache httpd.conf调用ModSecurity:

代码语言:javascript
复制
SecStatusEngine On

重新启动(apachectl restart)显示ModSecurity已成功加载:

代码语言:javascript
复制
ModSecurity: StatusEngine call successfully sent. <-- including LUA etc.

使用诸如脚本插入之类的操纵URL进行的测试:

代码语言:javascript
复制
/?q=%22%3E%3Cscript%3Ealert(1)%3C/script%3E%27

在ModSecurity这边没有任何反应。ModSecuritie的审计和调试日志文件中没有任何条目(调试级别设置为3),Apache的日志文件中没有错误。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2020-08-08 15:49:11

我只是省略了Apache httpd.conf中包含conf.d .d目录的内容。这就是为什么ModSecurity引擎可以启动,但不读任何规则。

我加了一行

代码语言:javascript
复制
IncludeOptional /etc/httpd/conf.d/*.conf

在httpd。所有的一切都按预期进行。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1029398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档