如何确定我的 apache 服务器上是否安装了 mod_security?我也想了解它的版本。
我遇到了一些上传问题,我尝试使用 .htaccess 禁用 mod_security。但这开始产生 500 个内部服务器错误。
我在某处读到,根据我的 mod_security 版本,我可能无法使用 .htaccess 禁用它。所以我想了解我是否安装了 mod_security 以及它是什么版本。
我在一个centos 5盒子上。
谢谢!
更新 -1 xxxxxxxxxxxxx
下面的输出是否意味着我没有安装 mod_security?
[root@u11 htdocs]# httpd -l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c
Run Code Online (Sandbox Code Playgroud) 有没有办法禁用所有网站的 mod-security?除了一个?我托管了 500 多个网站,只想为一个网站启用它,该网站受到攻击。
我已将 modsecurity.conf 中的 SecAuditLogParts 设置为仅记录 ABFH,但 modsecurity 审计日志不断记录 -E- 部分(响应正文),这使得审计日志过大。
我该怎么做才能禁用响应正文日志记录?
我目前在 Ubuntu Trusty 上使用 ModSecurity 2.7 和 Apache 2.4.7。
我想使用 ApacheLogFormat和CustomLog指令,以便我可以包含一个字段,指示 ModSecurity 是决定允许请求继续还是阻止请求。
我还想包括一个字段,指示允许的请求是否确实触发了任何仅警告的 ModSecurity 规则。我不关心这是否需要是两个不同的字段,或者只是一个,只要信息存在于每个 Apache 日志行中即可。
有资料说建议我可以使用mod_log_config和%{...}M语法包括在Apache日志ModSecurity的变量,但我不知道哪些变量会,给我一点信息。
我明确地尝试维护SecAuditEngine RelevantOnly并且不需要每个请求的完整审核日志。我也希望避免需要使用mod_unique_id或类似的方法进行交叉对数相关。
这可能吗。如何?
在我们的服务器上使用第 3 部分软件时,我们得到了很多误报。他们自己似乎无法修复它,我正在努力研究如何允许包含“CERTAINSTRING_”的 cookie 通过
以下是其中一项禁令的示例。它们都是相同的规则 ID
www.mysite.com 27.33.154.111 981231 [15/Dec/2013:12:14:36 +1100]
Pattern match: \
"(/\\*!?|\\*/|[';]--|--[\\s\\r\\n\\v\\f]|(?:--[^-]*?-)|([^\\-&])#.*?[\\s\\r\\n\\v\\f]|;?\\x00)" \
at REQUEST_COOKIES: _CERTAINSTRING. \
[file "/usr/local/apache/conf/modsecurity_crs_41_sql_injection_attacks.conf"] \
[line "49"] \
[id "981231"] \
[rev "2"] \
[msg "SQL Comment Sequence Detected."] \
[data "Matched Data: 1#"
"description::325,1091,/file-path/file-name/999/1,http://www.mysite.com/file-path/file-name/999/1#"
"rev found within REQUEST_COOKIES:_CERTAINSTRING: 240,1091,/file-path/file-name/999/1,http://www.mysite.com/file-path/file-name/999/1#"
"description::325,1091,/file-path/file-name/999/1,http://www.mysite…”] \
[severity "CRITICAL"] \
[ver "OWASP_CRS/2.2.8"] \
[maturity "8"] \
[accuracy "8"] \
[tag "OWASP_CRS/WEB_ATTACK/SQL_INJECTION"] \
[tag "WASCTC/WASC-19"] \
[tag "OWASP_TOP_10/A1"]
Run Code Online (Sandbox Code Playgroud) 我正在使用OWASP 核心规则集 3.2.0设置ModSecurity 3.0.4和ModSecurity-nginx。
如果我有这样的规则排除REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf:
SecRule REQUEST_URI "@beginsWith /api.php" \
"id:1015,\
phase:2,\
pass,\
nolog,\
ctl:ruleRemoveById=941160"
Run Code Online (Sandbox Code Playgroud)
如何将此排除限制为特定主机名?例如,wiki.example.com。
我正在对我的服务器进行全新安装,并且正在寻找一些关于我是否真的需要Apachemod_security模块的建议。
当涉及到我的服务器时,我认为自己有点安全偏执,但是安装和调试 mod_security 的新配置是否值得?
我从 Web 服务器收到此错误 - 这是已知问题。谷歌上有很多问题——但没有明确的解决方案。
[error] [client ] ModSecurity: Warning. Operator LT matched 20 at TX:inbound_anomaly_score. [file "/etc/httpd/modsecurity.d/base_rules/modsecurity_crs_60_correlation.conf"] [line "31"] [msg "Inbound Anomaly Score (Total Inbound Score: 5, SQLi=, XSS=): Host header is a numeric IP address"] [hostname ""]
Run Code Online (Sandbox Code Playgroud) 我有一个 apache2 服务器,上面启用了多个站点,包括默认站点 (000default)。默认服务器正在捕获大量垃圾邮件请求,这些请求只会消耗带宽并填满日志文件。
什么是最小的虚拟主机配置,它会丢弃所有访问默认站点的请求?
这是我到目前为止使用 mod_security 所做的,但它似乎除了对所有请求响应 403 之外什么都不做:
<VirtualHost *:80>
ServerName default.only
SecRuleEngine On
SecAction "drop,phase:1"
</VirtualHost>
Run Code Online (Sandbox Code Playgroud) 我想要一个 ModSecurity 规则,如果它包含特定字符串,它会阻止对任何 url 或任何正文请求 Post/Get 的访问。
例如我想阻止这个字符串:“km0ae9gr6m”
我有这个规则,但它似乎不起作用。
SecRule ARGS "km0ae9gr6m" "log,deny,msg:'Access Denied'"
mod-security ×10
apache-2.2 ×6
apache-2.4 ×1
centos ×1
firewall ×1
security ×1
ubuntu-14.04 ×1
web-server ×1