您好我有一个centos5服务器上启用mod_security和其中一个规则是让用户不要在窗体上张贴一些文本。 该文本是合法的,但它后面有“create”和一个html <table>标签,所以导致误报。 我收到的错误如下: [Sun Apr 25 20:36:53 2010] [error] [client 76.171.171.xxx] ModSecurity: Access denied with code 500 (phase 2). Pattern match "((alter|create|drop)[[:space:]]+(column|database|procedure|table)|delete[[:space:]]+from|update.+set.+=)" at ARGS:body. [file "/usr/local/apache/conf/modsec2.user.conf"] [line "352"] [id "300015"] [rev "1"] [msg "Generic SQL injection protection"] [severity "CRITICAL"] [hostname "www.mysite.com"] [uri "/node/181/edit"] [unique_id "@TaVDEWnlusAABQv9@oAAAAD"] 这里是/usr/local/apache/conf/modsec2.user.conf(第352行) #Generic SQL sigs SecRule ARGS "((alter|create|drop)[[:space:]]+(column|database|procedure|table)|delete[[:space:]]+from|update.+set.+=)" "id:1,rev:1,severity:2,msg:'Generic SQL […]
在花了24个小时的时间,在Ubuntu 10.04 LTS中没有设置mod_security后,我终于决定需要一些帮助。 我已经尝试了几乎所有的教程,我可以find各种规则集 – 我似乎从来没有得到最新的版本,如果我终于得到任何构build工作(这是罕见的),然后我只遇到400错误我尝试访问页面。 我刚刚删除了所有我的mod_security安装的东西,并决定我会再次尝试从一些社区的指示(因为所有的文档似乎背后)。 任何人都可以帮助或提供给我说明设置mod_security一个体面的规则集?
我在IIS 7.5 / Windows 2008 R2上使用ModSecurity 2.7.1。 我已经引用我的基础设置configuration文件在我的Web.Staging.config一个网站如下所示: <ModSecurity enabled="true" configFile="*******\ModSecurity.conf" xdt:Transform="Insert"/> 如何包含另一个规则集,例如OWASP规则集?
我在ModSecurity中出现一个反复出现的“失败的删除集合”错误消息时遇到了一些问题( 有关上下文,请参阅此讨论@GitHub )。 在讨论这个错误时,经常会提出SecCollectionTimeout指令可能会有一些影响。 阅读文档我只知道这个指令: 指定收集超时。 默认值是3600秒。 但是,我不完全了解“收集超时”是什么。 有人可以向我解释这个设置是什么吗? 提前谢谢了。
我试图使mod_security工作,我在网上search了很多,并按照本教程来configurationmod_security(我所有的configuration文件都与本教程相同),当我运行httpd -M | grep -Ei '(evasive|security)' httpd -M | grep -Ei '(evasive|security)'输出 security2_module (shared) evasive20_module (shared) 所以扩展正在被加载,但它并没有阻塞任何东西,既没有在日志文件上写任何东西,我甚至将SecDebugLogLevel设置为9,并且debugging日志仍然是空白的。 我试图加载模块之前,其他人,在中间,几次重新启动Apache,什么都没有。 我正在使用亚马逊Linux(就像CentOS)和Apache 2.4 Prefork。
我能采取哪些最佳实践或方法来防止某些数据(例如密码)被logging到mod-security的日志文件中? 我们有一个呼叫进入我们的Apache服务器(并在Karaf后端),似乎偶尔触发一个mod安全规则。 此调用包含一个密码作为URL参数之一。 如何获得mod-security来报告规则,但从日志中抑制某些信息? 显然我想知道规则已经被触发,但是我担心把敏感数据留在日志中。 这是一个例子(狡猾的位在第二行): – –0a6bf76f-C– userName=fred.bloggs%40whatever.com&password=SHOULDNTBEHERE&%3Asubmit=1 –0a6bf76f-F– HTTP/1.1 200 OK Ajax-Location: ./home Content-Type: text/xml;charset=ISO-8859-1 Expires: Thu, 01 Jan 1970 00:00:00 GMT Pragma: no-cache Cache-Control: no-cache, no-store Set-Cookie: rememberMe=deleteMe; Path=/; Max-Age=0; Expires=Sat, 18-Apr-2015 08:06:08 GMT Strict-Transport-Security: max-age=15768000 Vary: Accept-Encoding Content-Encoding: gzip Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Transfer-Encoding: chunked –0a6bf76f-E– <ajax-response><redirect><![CDATA[./home]]></redirect></ajax-response> –0a6bf76f-H– Message: Warning. […]
我需要检查特定网站的POST有效负载(服务器相当繁忙,我不会打开整个服务器的POST日志logging)。 该服务器是LiteSpeed 5.0.7。 SecRequestBodyAccess被设置为“On”。 首先,我尝试了一系列的规则:第一个阶段:第一阶段只匹配我想要的主机的请求,但后期有效载荷处于第二阶段,我不认为我可以在两个不同的阶段做连锁。 然后我试着用这个: SecRule REQUEST_METHOD“POST”“phase:2,log,id:22222223 但是它没有在modsec_audit.log中logging任何内容。 我是否做错了什么,或者它与Lite与Lite Mod的兼容性? 最后我也试过这个规则来logging所有请求的POST:SecRule REQUEST_METHOD“POST”“id:22222224,phase:2,ctl:auditEngine = On,log,pass”。 它logging请求但不是请求体(在modsec审计中缺less-C–组si)。
我看到我们的服务器上生成的Cookie似乎来自网站中的第三方对象,并且在login或浏览网站时不显示自己。 cookies是随机的,但都以Wm开头。 所以其中一些可能是wm_cm_12345-12345-12345-12345,其中一些可能是wm-wtchd-22。 我想,也许我可以让他们不警惕,如果他们是W *。 如何将Wm开始的cookies添加到白名单中? 以及您可能想要包含的任何其他想法,以及如何将这些白名单列入白名单? 谢谢 一个示例cookie TX:981243-Detects classic SQL injection probings 2/2-OWASP_CRS/WEB_ATTACK/SQLI-REQUEST_COOKIES:wm_rx_123456eabcdef7890_0edb4989-1523-ff12-ccab-beddddaaffccc. [file "/etc/httpd/modsecurity.d/activated_rules/modsecurity_crs_49_inbound_blocking.conf"] [line "26"] [id "981176"] [msg "Inbound Anomaly Score Exceeded (Total Score: 41, SQLi=9, XSS=): Last Matched Message: 981243-Detects classic SQL injection probings 2/2"] [data "Last Matched Data: \\x22:61"] [hostname "Somefoowebsite.com"] [uri "/images/nyancat.jpg"] 我看到的另一个例子是: [30/Nov/2015:13:54:27 –0700] [bumblebeetune.com/sid#7fee134ee758][rid#7fee13b510d8][/nyancat.foo][2] Warning. Pattern […]
这是我第二次使用OWASP规则集configurationModSecurity。 以前我使用过规则集的版本2.2.5,现在在不同的服务器2.2.9上。 我试图configurationexception检测,所以我已经禁用error.loglogging非exception。 一切似乎正在工作,但是当超过exception阈值时,我收到了单个exception的许多日志条目。 以前这只是一个日志条目,多个似乎过多。 我触发了一个简单的XSS攻击, error.log显示如下: [Fri Jul 01 09:25:09.234394 2016] [:error] [pid 17771:tid 139978059269888] [client 81.102.141.69] ModSecurity: Warning. Pattern match "(?i)(<script[^>]*>[\\\\s\\\\S]*?<\\\\/script[^>]*>|<script[^>]*>[\\\\s\\\\S]*?<\\\\/script[[\\\\s\\\\S]]*[\\\\s\\\\S]|<script[^>]*>[\\\\s\\\\S]*?<\\\\/script[\\\\s]*[\\\\s]|<script[^>]*>[\\\\s\\\\S]*?<\\\\/script|<script[^>]*>[\\\\s\\\\S]*?)" at ARGS:p. [file "/etc/apache2/modsecurity-crs/activated_rules/modsecurity_crs_41_xss_attacks.conf"] [line "14"] [id "973336"] [rev "1"] [msg "XSS Filter – Category 1: Script Tag Vector"] [data "Matched Data: <script>alert('simple-xss-test')</script> found within ARGS:p: <script>alert('simple-xss-test')</script>"] [severity "CRITICAL"] [ver "OWASP_CRS/2.2.9"] [maturity […]
核心规则集有一个modsecurity。 我有3个参数的POST请求:Par1 =“base64编码的XML”&Par2 =“url”&Par3 =“hash”。 我想修改CRS规则base64Decode 仅 Par1和使用Par2&Par3“原样”。 我试图使用SecRuleUpdateActionById指令,但它需要为CRS中的每个规则编写指令。 SecDefaultAction指令不起作用,因为所有的CRS规则都有“t:none”来覆盖默认的动作。 我也发现multiMatch行动,但我认为这将导致base64string大量的误报。 有没有一些方法可以更新多个规则的操作,而不必重写这些规则?