testingmod_security是否实际工作

我第一次在登台服务器上运行这个程序,我认为我做了一切正确的事情。 当我运行nikto2时,我可以看到modsec_audit.log中的条目,但是对于我来说,我无法手动使mod_security阻塞任何东西。 我已经把SQL放到了URL,表单等等中,而我刚刚得到了我们典型的用户友好的HTML 404页面,而不是mod_security的一个块,它应该是一个403错误或者一个完全的块。

我担心它唯一的检测,而不是停止。 我已经检查过我的configuration,而且它的设置绝对不会阻止攻击。 关于如何validation这个事情的任何想法实际上是阻止攻击? 任何人都有一个testingurl或我可以做的事情,这将certificate其实际工作?

我find了答案。 只需访问您的网站如:example.com/etc/passwd

这将从mod_security调出一个即时403并将其logging在默认日志中。

默认情况下,引擎只会是检测模式:

SecRuleEngine DetectionOnly 

您需要调整SecRuleEngine On

 sed -ie 's/^\s*SecRuleEngine DetectionOnly/SecRuleEngine On/' /etc/modsecurity/modsecurity.conf 

并重新启动Apache。

您可以使用Google的某些在线“XSStesting”或“XSS扫描器”,让工具在您的临时网站上执行一些请求式攻击。 该工具还可能为您提供一份报告,详细说明“攻击”的结果。

然后,您可以对日志进行尾部处理,以查看条目是否与报告匹配,尤其是date,时间和IP地址(如果有的话)。

我有一个如下所示的支票

 $ curl -ks -o /dev/null -w '%{http_code}' "https://something.example.com/foo?username=1'%20or%20'1'%20=%20'" 

如果你得到一个403 ,那么ModSecurity按预期工作。