检测Web应用程序攻击的最佳方法是什么?

时间:2008-09-26 09:18:01

标签: security web-applications exploit denial-of-service

在我的网络应用中调查和检测不良用户行为或拒绝服务或攻击等攻击的最佳方式是什么?

我知道服务器的统计信息(如Awstats)对于这种用途非常有用,特别是看到3XX,4XX和5XX错误(here's an Awstats example page),这些错误通常是机器人或恶意用户尝试众所周知的糟糕或格式错误的网址。

是否还有其他(并且更好)的方法来分析和检测这种类型的攻击?

注意:我说的是基于URL的攻击,而不是对服务器组件的攻击(如数据库或TCP / IP)。

5 个答案:

答案 0 :(得分:3)

记录所有内容。然后手动检查日志,找到不感兴趣的内容并编写一个丢弃这些日志条目的解析器。一旦你做完了,冲洗并重复,直到你只剩下有趣的东西。既然您只有有趣的日志条目可供阅读,请确定哪些是危险的,哪些是无害的但是很烦人,并在适当的时候进行修复。

答案 1 :(得分:2)

如果您有预算,请使用Web应用程序防火墙(WAF)。它们专为识别和阻止应用层攻击而构建。还有一些廉价的WAF,甚至是开源的一两个。

但请注意,您仍应练习安全编码等; WAF非常适合深度防御和临时虚拟补丁。

答案 2 :(得分:1)

我通常会编写自己的日志分析器,它会尝试跟踪通过shomething NOT 人类完成导航时经常发生的事件。喜欢:
直接访问包含URL或参数未知的页面 反馈表单加载,编译和发布的时间少于10秒 错误的推荐人序列 发布字段中的HTML或“关键”字符序列 等等...

答案 3 :(得分:1)

首先,您必须说明什么是潜在的利用或不是潜在的利用,有时网址可能是有效的请求,有时可能是XSS攻击。很多流量可能是DDoS,也可能是斜线文章中提到的结果。

接下来,您可以查看各种类型攻击的日志 - 例如DDoS,您需要使用IP工具进行检查(因为许多DDoS攻击是在非Web端口上进行的,例如SYN flood)。

然后你想安装mod_security并为它设置一些规则(你可以在网上找到很多预定义的规则集)。这将读取请求并解析它以查找常见或已知的攻击(例如包含sql或html类型文本的URL)。

答案 4 :(得分:0)

整个网络更多,但SATAN非常好

http://www.porcupine.org/satan/

SATAN是一款帮助系统管理员的工具。它识别了几个与网络相关的常见安全问题,并在没有实际利用它们的情况下报告问题。