问题标签 [mod-security2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1153 浏览

apache - 在 mod_security 中将 localhost 列入白名单的缺点?

我刚刚通过 WHM 和 OWASP ModSecurity Core Rule Set 在我的 CentOS 服务器上启用了 mod_security。

到目前为止,我已经看到了一些非常有用的东西,但也有一些非常烦人、不是很有用的东西,例如:

基本上 95% 的点击量(很多)都是这样的,来自 localhost。

这究竟是什么?我应该简单地将本地主机列入白名单,是否存在安全问题?

谢谢

0 投票
1 回答
563 浏览

apache - 将 mod_security 设置为 detectionOnly 用于特定页面?

如果整个网站的 mod_security 设置为 ON,有没有办法可以将特定页面设置为 detection_only?

用例是应用程序用于配置网站,使用 CSS 或 js 很常见,但很可能使 modsecurity 抛出 XSS 规则异常。我只想在这些页面上检测这些异常但不阻止它们。但是,在所有其他页面上,我希望阻止规则例外。

更多细节:该应用程序实际上是在另一个 Windows 服务器上运行的 IIS 应用程序,而 mod_security 在 linux 服务器上的 Apache 中运行。haproxy 将传入的请求定向到 apache,apache 通过 modsecurity 接受请求;如果通过,它会将其反向代理回 haproxy,然后将其传递给 IIS。

(是的,使用 haproxy 是有充分理由的。我们有数百个 https 证书,我们可以将 haproxy 指向一个装满它们的文件夹,它会根据 SNI https 请求选择正确的证书。还没有找到其他任何东西可以做到这一点。)

因此,在 apache 端没有 .htaccess 文件有意义的目录,至少对我来说是这样。

被视为 DetectionOnlyadmin.mysite.com的路径将匹配主机和路径^/site/[a-zA-Z0-9-]+/Settings$

0 投票
1 回答
1715 浏览

xml - Mod 安全性 - 带有 xml 的请求正文

在 mod security 中检测并启动请求正文使用的操作SecRule REQUEST_BODYhttps ://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#REQUEST_BODY但是当尝试解析 XML 正文中的 Soap 操作缓冲区时无法处理它。

保存原始请求正文。此变量仅在使用 URLENCODED 请求正文处理器时可用,默认情况下将在检测到 application/x-www-form-urlencoded 内容类型时发生,或者如果强制使用 URLENCODED 请求正文解析器。

我试试这个:

在后缓冲区中:

如何检测 SOAP 数据的响应体并拒绝匹配 expreg 值?

0 投票
1 回答
2095 浏览

mod-security - ModSecurity: Disruptive actions can only be specified by chain starter rules

I want to modify the response content using ModSecurity only if the file resides on a particular directory. I implemented the rules like this:

But after writing this rule, when I restart apache2, modsecurity gives me an error: ModSecurity: Disruptive actions can only be specified by chain starter rules. I tried writing the rules other way round too but it didn't help.

Any idea why it happens ?

0 投票
2 回答
593 浏览

joomla - 当 ModSecurity 规则 981257 激活我的网站时不会加载

我在许多网站上使用此规则,但出于某种原因,在 1 个网站上该规则阻止了我的网站,我收到此错误

ERR_TOO_MANY_REDIRECTS

这是安全规则代码

SecRule REQUEST_COOKIES|!REQUEST_COOKIES:/__utm/|REQUEST_COOKIES_NAMES|ARGS_NAMES|ARGS|XML:/* "(?i:(?:,. ?)\da-f\"' ][\"')|(?:\Wselect.+\W?from)|((?:select|create|rename|truncate|load|alter|delete|update|insert|desc)\s*?(\s*?space\s*?())" "phase:request , rev:'2', ver:'OWASP_CRS/3.0.0',成熟度:'9', accuracy:'8', capture, t:none,t:urlDecodeUni, block, msg:'检测MySQL注释-/空格-混淆注入和反引号终止',id:'981257',标签:'application-multi',标签:'language-mutli',标签:'platform-multi',标签:'attack-sqli',标签:'OWASP_CRS /WEB_ATTACK/SQL_INJECTION', logdata:'匹配数据:%{TX.0} 在 %{MATCHED_VAR_NAME} 中找到:%{MATCHED_VAR}',严重性:'CRITICAL',setvar:'tx.msg=%{rule.msg} ', setvar:tx.sql_injection_score=+%{tx.critical_anomaly_score}, setvar:tx.anomaly_score=+%{tx.critical_anomaly_score}, setvar:'tx.%{rule.id}-OWASP_CRS/WEB_ATTACK/SQLI-%{matched_var_name}=%{tx.0}'"

请告知,如果您需要更多信息,我很乐意为您提供。

0 投票
1 回答
2822 浏览

apache - mod_security 规则 981203 误报

我刚刚在我的 Apache2 Web 服务器上安装了 mod_security。

我激活了所有base_rules/来自 OWASP CRS 的。

我通过查看内部发现了误报/var/log/apache2/modsec_audit.log

目标网址是:

/mobile//index.cfm?gclid=Cj0KEQjw_qW9BRCcv-Xc5Jn-26gBEiQAM-iJhcydtemGoKm4rCJ7gbEgz5qL-MXF0tMh5BkaxVPZPYwaAvhW8P8HAQ

错误日志是:

消息:警告。模式匹配 "([\~\!\@\#\$\%\^\&\*\(\)\-\+\=\{\}\[\]\|\:\;\"\ '\\xc2\xb4\\xe2\x80\x99\\xe2\x80\x98\`\<\>].*?){4,}" 在 ARGS:gclid. [file "/usr/share/modsecurity -crs/activated_rules/modsecurity_crs_41_sql_injection_attacks.conf"] [line "159"] [id "981173"] [rev "2"] [msg "Restricted SQL Character Anomaly Detection Alert - Total # of special characters exceeded"] [data "Matched数据:-在 ARGS:gclid 中找到:Cj0KEQjw_qW9BRCcv-Xc5Jn-26gBEiQAM-iJhcydtemGoKm4rCJ7gbEgz5qL-MXF0tMh5BkaxVPZPYwaAvhW8P8HAQ"] [版本 "OWASP_CRS/2.2.8"] [成熟度 "9"] [准确度 "8"] [标签 "ASPJECOWC_IN/WEB "] 消息:警告。操作员 LT 在 TX:inbound_anomaly_score 匹配 5。[file"

该消息是不言自明的,但是...对于我的网站而言,这不是恶意 URL。

我怎样才能将这种 URL(例如包含 gclid 参数)“列入白名单”,而不是完全禁用规则 981203?

0 投票
1 回答
1015 浏览

unicode - ModSecurity OWASP 核心规则集 - Unicode 误报

我们运行一些网络服务。

我们将 ModSecurity for Apache 网络服务器与 OWASP 核心规则集一起使用。

由于西里尔字母和希腊字母,我们遇到了希腊语和俄语请求的问题。

在 OWASP CRS 的规则中有如下模式

"(^[\"' ´’‘;]+|[\"'''';]+$)"

在 ModSecurity 日志中有 UTF-8 代码单元,其中应该是 unicode 字符。所有 ascii 字母都应显示为字符。

例子:

[匹配数据:\x85 2 \xce\xb7\xce\xbb\xce\xb9\xce\xbf\xcf\x85\xcf\x80\xce 在 ARGS:q: 163 45 \xcf\x83\xce\xbf\ xcf\x85\xce\xbd\xce\xb9\xce\xbf\xcf\x85 2 \xce\xb7\xce\xbb\xce\xb9\xce\xbf\xcf\x85\xcf\x80\xce\xbf\xce \xbb\xce\xb7]

[模式匹配 "(?i:(?:[\"' \\xc2\\xb4\\xe2\\x80\\x99\\xe2\\x80\\x98]\\\\s*?(x?or|div|like|between|and)\\\\s*?[\\"'\xc2\xb4\xe2\x80\x99\xe2\x80\x98]?\\d)|(?:\\\\x(?:23 |27|3d))|(?:^.?[\"' \\xc2\\xb4\\xe2\\x80\\x99\\xe2\\x80\\x98]$)|(?:(?:^[\\"'\xc2\xb4\xe2\x80\x99\xe2\x80\x98\\\\]*?(?:[\\ ..." ]

现在我们知道它是由希腊语中的一个请求触发的:σουνιου ηλιουπολη(雅典的一条街道)这不是我们的问题。我们可以弄清楚。

问题是 x80 是字符 ' (e2 80 99) 的一部分,而 x80 也是希腊字母的一部分,这就是我们得到误报的原因。

触发的实际规则:

SecRule REQUEST_COOKIES|!REQUEST_COOKIES:/__utm/|!REQUEST_COOKIES:/_pk_ref/|REQUEST_COOKIES_NAMES|ARGS_NAMES|ARGS|XML:/* "(?i:(?:[\"' ´’‘]\s*?(x?or|div|like|between|and)\s*?[\"'´'']?\d)|(? :\\x(?:23|27|3d))|(?:^.?[\"' ´’‘]$)|(?:(?:^[\"''''\\] ?(?:[\d\"' ´’‘]+|[^\"'''']+[\"' ´’‘]))+\s*?(?:n?and|x?x?or|div|like|between|and|not|\|\||\&\&)\s*?[\w\"''''][+&!@(),.-])|(?:[^\w\s]\w+\s ?[|-]\s*?[\"'´’‘]\s*?\w)|(?:@\w+\s+(and|x?or|div|like|between|and)\s*?[\"'´''\d]+)|(?:@[\w-]+\s(and|x?or|div|like|between|and)\s*?[^\w\s])|( ?:[^\w\s:]\s*?\d\W+[^\w\s]\s*?[\"'`´''].)|(?:\Winformation_schema|table_name\W ))" "phase:2,capture,t:none,t:urlDecodeUni,block,msg:'Detects classic SQL injection probings 1/2',id:'981242',tag:'OWASP_CRS/WEB_ATTACK/SQL_INJECTION',logdata :'匹配数据: %{TX.0} 在 %{MATCHED_VAR_NAME} 中找到: %{MATCHED_VAR}',severity:'2',setvar:'tx.msg=%{rule.id}-%{rule.msg} ',setvar:tx.sql_injection_score=+1,setvar:tx.anomaly_score=+%{tx.critical_anomaly_score},setvar:'tx.%{tx.msg}-OWASP_CRS/WEB_ATTACK/SQLI-%{matched_var_name}=%{ tx.0}'"

作为一种解决方法,我们调整了一些模式,例如[\"' ´’‘] to (\"|'||\xc2\xb4|\xe2\x80\x99|\xe2\x80\x98),使其与构建字符的 UTF-8 代码单元的实际组合相匹配。我们可以对核心规则集中的所有 55 个 SQL 注入规则执行此操作,但这是一项耗时的任务。

我们想知道是否只是 Apache 或 ModSecurity 的解码配置错误。我们知道所有非 ascii 和一些 ascii 字符也是由网络浏览器使用 % 和 UTF-8 编码的 URL。

0 投票
1 回答
112 浏览

linux - 排除特定参数的规则组

modsec_audit.log由于适用于 JSESSIONID cookie 的 sql 注入规则,我看到许多请求被阻止。

我试图避免针对该特定 cookie 名称的那些规则。

我的最后一次尝试是:

SecRuleUpdateTargetByTag "OWASP_CRS/WEB_ATTACK/SQL_INJECTION" "!REQUEST_COOKIES:JSESSIONID"

这没用。我错过了什么吗?

0 投票
2 回答
2300 浏览

apache - 用于阻止导致多个 404 的 IP 的 mod_secure 脚本

我想禁止在我的网站上导致多个 404 错误的 IP 地址。我在谷歌上搜索了很多,发现了一些脚本,这些脚本给了我开始的想法。我把它们结合起来。这是我的脚本:

由于某种原因,它不起作用。我相信有一些错误。非常抱歉,我不是编码大师,甚至不是程序员。当我有时间的时候,我只是在玩我的自制项目。我希望有人能帮助我,我的错误很容易找到和修复。

提前致谢!

'datastore' 目录已创建,可访问,我在那里可以看到 2 个 0 字节大小的文件。

谢谢!

0 投票
2 回答
1872 浏览

http - modsecurity 创建规则禁用 GET 请求

我想创建一个 mod security2x 规则,它将阻止对特定 URL 的 GET 请求。

例如,我想在标头中使用 GET 阻止 URL:'www.test.com'

我从未在 modsecurity 中制定规则,并且不确定这是否适用于异常检测模式。

这将是 GET 请求的示例:GET/secure/bla/test/etc/

这是我到目前为止所拥有的:SecRule ARGS "www.test.com" phase:2,log,deny,id:'1234',msg:'403 Access Denied'