我第一次在登台服务器上运行这个程序,我认为我做了一切正确的事情。 当我运行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按预期工作。