1

调查和检测不良用户行为或攻击(例如拒绝服务或对我的 Web 应用程序进行攻击)的最佳方法是什么?

我知道服务器的统计数据(如Awstats)对于这种目的非常有用,特别是查看 3XX、4XX 和 5XX 错误(这里是 Awstats 示例页面),这些错误通常是机器人或恶意用户尝试众所周知的错误或格式错误的 URL .

是否有其他(和更好的)方法来分析和检测这种尝试性攻击?

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

4

5 回答 5

3

记录一切。然后手动检查日志,找到不感兴趣的内容并编写一个解析器来丢弃这些日志条目。完成后,冲洗并重复,直到只剩下有趣的东西。现在您只有有趣的日志条目要阅读,决定哪些是危险的,哪些是无害但令人讨厌的,并根据需要进行修复。

于 2008-09-26T09:30:02.180 回答
2

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

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

于 2008-09-26T13:11:02.560 回答
1

我通常会编写自己的日志分析器,它会尝试跟踪通常在导航由人类完成时发生的事件。喜欢:
直接访问 URL 或参数未知的页面
反馈表单在不到 10 秒内加载、编译和发布
错误的引荐来源序列 HTML 或发布字段中的“关键”字符序列等等......

于 2008-09-26T09:36:55.703 回答
1

首先,您必须说明什么是或不是潜在的漏洞利用,有时 url 可能是有效请求,有时可能是 XSS 攻击。大量流量可能是 DDoS,也可能是在 slashdot 文章中提及的结果。

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

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

于 2008-09-26T09:44:23.003 回答
0

整体网络较多,但 SATAN 非常好

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

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

于 2008-09-26T09:31:52.673 回答