标签: mod-security

Facebook链接到我的网站解析为403禁止

嗨,我遇到了一个非常奇怪的问题.
每当我在Facebook上发布我的网站链接时,他们都会被视为禁忌.
该网站本身运作良好,我在其他网站上链接时没有看到这一点.
这可能是服务器配置错误吗?关于在哪里看的任何想法?

这里有一些信息:
我有一台运行WHM 11.25.0的专用服务器
我在这里使用cPanel 11.25.0托管了2个站点

错误消息:

被禁止

您无权访问此服务器上的/ blog/deepwater-horizo​​n-11 /.

此外,尝试使用ErrorDocument处理请求时遇到404 Not Found错误.


Apache/2.2.14(Unix)mod_ssl/2.2.14 OpenSSL/0.9.8i DAV/2 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635服务器www.offshoreinjuries.com端口80

更新:
这是一个示例链接,如果它有帮助.(通知链接页面直接工作正常)
http://www.facebook.com/l.php?u=http%3A%2F%2Fwww.offshoreinjuries.com%2Fblog%2Fdeepwater-horizo​​n-11%2F&h=834ea

更新和答案:
找到问题并在下面添加完整的答案.

facebook mod-security http-status-code-403

5
推荐指数
2
解决办法
2万
查看次数

如何在POST参数中使用Apache mod_rewrite rewritecond?

我知道我可以在rewritecond中检查GET查询字符串参数,如下所示:

RewriteCond %{REQUEST_URI} ^/somepath/somepath
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{QUERY_STRING} try=3
RewriteCond %{QUERY_STRING} name=([^&]*)
RewriteRule ^/somepath/somepath(.*) /otherpath/otherpath?name=%1 [R]
Run Code Online (Sandbox Code Playgroud)

如何检查请求正文中的POST参数?我听说mod_security可以做到,但我没有找到任何关于如何将mod_security与mod_rewrite一起使用的例子,如上例所示.

我打算用这样的东西来处理POST:

RewriteCond %{REQUEST_URI} ^/somepath/somepath
RewriteCond %{REQUEST_METHOD} POST
RewriteRule ^/somepath/somepath(.*) /otherpath/otherpath [PT]
Run Code Online (Sandbox Code Playgroud)

...除了我需要一个RewriteCond来检查POST参数以查看"try = 3".

modsecurity可以检查请求体并将检查结果加载到环境变量中吗?那会有用......

apache mod-rewrite mod-security

5
推荐指数
1
解决办法
7858
查看次数

ARGS , ARGS_NAMES 在 mod_security crs 中实际上是什么意思?

ARGS , ARGS_NAMES 在 mod_security 核心规则集中实际上意味着什么?

我已经提到了Modsecurity2 Apache 参考,但我没有得到任何明确的想法。

有人能给我一个具体的想法,最好是一个解释,它实际上是什么,以及某事如何实际触发一个积极的规则,如下所示。

下面的规则对于“x 和 6”等情况会触发正数,通常是任何“和”后跟一个数字。在这种情况下,我了解请求文件名是什么。我不明白的是什么是 ARGS 和 ARGS_NAMES。我需要一个参考下面的规则的具体例子。

SecRule REQUEST_FILENAME|ARGS_NAMES|ARGS|XML:/* "(?i)\b(?i:and)\b\s+(\d{1,10}|'[^=]{1,10}')\s*[=]|\b(?i:and)\b\s+(\d{1,10}|'[^=]{1,10}')\s*[<>]|\band\b ?(?:\d{1,10}|[\'\"][^=]{1,10}[\'\"]) ?[=<>]+|\b(?i:and)\b\s+(\d{1,10}|'[^=]{1,10}')" \
    "phase:2,rev:'2.2.5',capture,t:none,t:urlDecodeUni,ctl:auditLogParts=+E,block,msg:'SQL Injection Attack',id:'959072',tag:'WEB_ATTACK/SQL_INJECTION',tag:'WASCTC/WASC-19',tag:'OWASP_TOP_10/A1',tag:'OWASP_AppSensor/CIE1',tag:'PCI/6.5.2',logdata:'%{TX.0}',severity:'2',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}-WEB_ATTACK/SQL_INJECTION-%{matched_var_name}=%{tx.0}"
Run Code Online (Sandbox Code Playgroud)

regex apache mod-security

4
推荐指数
1
解决办法
6936
查看次数

Google跟踪代码管理器包括在Apache中传递mod-security规则

我一直在寻找在我的网站上使用Google跟踪代码管理器,但由于默认的Google包含代码被我的服务器上的mod-security安装阻止,我在第一个障碍时失败了:

标准GTM包括代码:

<!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-XXXXXX"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXX');</script>
<!-- End Google Tag Manager -->
Run Code Online (Sandbox Code Playgroud)

来自mod-security的回复:

WARNING:    Possibly malicious iframe tag in output
Message:    Outbound Anomaly Score Exceeded (score 15): Possibly malicious iframe tag in output
Run Code Online (Sandbox Code Playgroud)

触发的规则是ids 981000和981001.

我可以理解为什么mod-security可能认为带有"display:none; visibility:hidden"的iframe可能是恶意的,并且删除style属性会使规则981001停止触发,但由于规则981000,请求仍然失败.

981000似乎对宽度和高度属性应该有一个强烈的意见,但我已经尝试将它们设置为'1'和'10'无效:-(

有谁知道如何格式化iframe以适应此规则?或者如何更改GTM包含代码以使其不包含iframe?

谢谢

PS:我知道你可以通过删除整个noscript区域解决这个问题,但我正在寻找一种不会改变包含代码功能的解决方案.

PPS:这是规则981000匹配的模式,在我的大脑在嵌套捕获组云中爆炸之前,我能理解其中的一半;-)

Pattern match "<\W*iframe[^>]+?\b(?:width|height)\b\W*?=\W*?["']?[^"'1-9]*?(?:(?:20|1?\d(?:\.\d*)?)(?![\d%.])|[0-3](?:\.\d*)?%)"
Run Code Online (Sandbox Code Playgroud)

apache iframe mod-security google-tag-manager

4
推荐指数
2
解决办法
3278
查看次数

Modsecurity &amp; Apache:如何通过标头限制访问速率?

我让 Apache 和 Modsecurity 一起工作。我试图通过请求的标头(如“facebookexternalhit”)来限制命中率。然后返回友好的“429 Too Many Requests”和“Retry-After: 3”。

我知道我可以读取一个标题文件,例如:

SecRule REQUEST_HEADERS:User-Agent "@pmFromFile ratelimit-bots.txt"

但我在制定规则时遇到了麻烦。

任何帮助将非常感激。谢谢。

apache security mod-security

4
推荐指数
1
解决办法
6099
查看次数

ModSecurity规则:哪个更好 - GotRoot或TrustWave?

我们正在为ModSecurity(mod_security)寻找一些额外的规则 - 有两个商业选项,GotRoot或TrustWave的新选项

http://www.gotroot.com/mod_security+rules

https://www.trustwave.com/modsecurity-rules-support.php

我听说过TrustWave而不是GotRoot.然而,GotRoot规则似乎在Google等上有更多的提及 - 似乎TrustWave的规则只出现在大约一个月左右之前

我们将使用它们来保护电子商务网站

apache apache2 mod-security pci-dss mod-security2

3
推荐指数
1
解决办法
5494
查看次数

modsecurity白名单ip范围

我正在尝试将一系列ips(Googlebots)列入Ubuntu 12.04服务器上的modsecurity白名单.例如,这是我需要列入白名单的范围:

66.249.64.0/19

我尝试了其他人建议的几种方法,但只有单个ips被阻止,当我尝试作为范围时,白名单被忽略.我已将规则添加到文件底部新部分的/usr/share/modsecurity-crs/modsecurity_crs_10_config.conf中.

这有效:

SecRule REMOTE_ADDR"^ 66.249.65.3"阶段:1,nolog,allow,ctl:ruleEngine = Off

这些不起作用:

SecRule REMOTE_ADDR"^ 66.249.64.0/19"阶段:1,nolog,allow,ctl:ruleEngine = off

SecRule REMOTE_ADDR"@ipMatch 66.249.64.0/19""阶段:1,nolog,允许"

SecRule REMOTE_ADDR"^ 66.249.64\0/19 $"阶段:1,nolog,allow,ctl:ruleEngine = Off

我已经看到了几种不同的语法建议,但似乎没有一种方法适用于我的安装.mod-security的版本是否重要?有什么建议吗?TIA

ubuntu googlebot apache2 mod-security mod-security2

3
推荐指数
1
解决办法
9423
查看次数

WordPress网站上适用于ModSecurity的Apache LocationMatch通配符

我在运行WordPress网站的Ubuntu 14.04 Apache 2.4.7上安装了mod_security。我有一些需要忽略的规则,但是我在实现一些通配符规则时遇到了麻烦,因此不必指定每个页面。

我所拥有的(在我的site.conf文件中)是...

  <LocationMatch "/wp-admin/post.php">
     SecRuleRemoveById 300016
  </LocationMatch>

  <LocationMatch "/wp-admin/nav-menus.php">
     SecRuleRemoveById 300016
  </LocationMatch>

  <LocationMatch "(/wp-admin/|/wp-login.php)">
     SecRuleRemoveById 950117
     SecRuleRemoveById 950005
     SecRuleRemovebyID 981173
     SecRuleRemovebyId 960024
  </LocationMatch>

    <LocationMatch "/wp-admin/load-scripts.php">
     SecRuleRemoveById 981173
    </LocationMatch>


    <LocationMatch "/wp-admin/plugins.php">
     SecRuleRemoveById 981173
    </LocationMatch>

    <LocationMatch "/wp-admin/customize.php">
     SecRuleRemoveById 981173
    </LocationMatch>
Run Code Online (Sandbox Code Playgroud)

我想要的是将所有内容合并为在wp-admin和上使用通配符的单个规则wp-login

我已经尝试了以下方法,但由于mod_security引发了拒绝,因此它似乎被忽略了。

<LocationMatch "(/wp-admin/*|/wp-login/*)">
....
Run Code Online (Sandbox Code Playgroud)

并且

<LocationMatch "(/wp-admin/*)">
....
Run Code Online (Sandbox Code Playgroud)

并且

<Location "/wp-admin/*">
....
Run Code Online (Sandbox Code Playgroud)

我已经对LocationMatch和regex进行了一些研究,但这里没有得到任何东西。我想要做什么?

编辑:modsec_audit.log中的引荐来源网址为 http://www.<site>.com/wp-admin/customize.php?theme=modality

regex apache wordpress mod-security

3
推荐指数
1
解决办法
5589
查看次数

python网页抓取请求错误(mod security)

我是新手,我尝试为教程抓取网页的源代码。我安装了 beautifulsoup,请求安装。起初我想获取源代码。我正在从“ https://pythonhow.com/example.html ”做这个抓取工作。我没有做任何违法的事情,我认为这个网站也是为此目的而建立的。这是我的代码:

import requests
from bs4 import BeautifulSoup

r=requests.get("http://pythonhow.com/example.html")
c=r.content
c
Run Code Online (Sandbox Code Playgroud)

我收到了 mod 安全错误:

b'<head><title>Not Acceptable!</title></head><body><h1>Not Acceptable!</h1><p>An appropriate representation of the requested resource could not be found on this server. This error was generated by Mod_Security.</p></body></html>'
Run Code Online (Sandbox Code Playgroud)

感谢所有与我打交道的人。 尊重

python mod-security python-requests

3
推荐指数
1
解决办法
1696
查看次数

ModSecurity:破坏性行为只能由链启动器规则指定

仅当文件驻留在特定目录中时,我才想使用 ModSecurity 修改响应内容。我实施了这样的规则:

SecRule REQUEST_URI "@contains /admin/" "phase:2,chain,t:none,t:urlDecode,t:lowercase,t:normalizePath,deny,log"

SecRule STREAM_OUTPUT_BODY "@rsub s/test/replaced_string/" "phase:4,t:none,log,pass,msg:'String replaced'"
Run Code Online (Sandbox Code Playgroud)

但是写完这条规则后,当我重新启动 apache2 时,modsecurity 给了我一个错误:ModSecurity: Disruptive actions can only be specified by chain starter rules。我也尝试以其他方式编写规则,但没有帮助。

知道为什么会这样吗?

mod-security mod-security2

2
推荐指数
1
解决办法
2814
查看次数