0

是否可以使用 Snort 检测有效的重复 HTTP GET 请求?例如。客户端机器正在发送 HTTP 请求以淹没服务器。

4

1 回答 1

2

仅供参考,您的 Web 服务器更有可能(并且更容易/更常见的攻击)在“HTTP GET 洪水”之前被同步淹没,因此您可能希望首先防止这种类型的攻击。

无论如何,您可以使用detection_filter选项和简单的内容匹配来完成此操作。假设您的 Web 服务器的 IP 地址是 192.168.1.5,并且仅通过端口 80,示例规则如下:

alert tcp any any -> 192.168.1.5 80 (msg:"GET Request flood attempt"; \
flow:to_server,established; content:"GET"; nocase; http_method; \
detection_filter:track by_src, count 30, seconds 30; metadata: service http;)

在前 30 个 GET 请求之后,在一个 30 秒的采样周期内,该规则将触发从单个 IP 地址到 192.168.1.5 的每个 GET 请求。

例子:

  • 1.2.3.4 向 192.168.1.5 发送 GET 请求,30 秒计数器将启动,计数为 1。
  • 1.2.3.4 在 10 秒内再发送 29 个 GET 请求,不会产生任何警报。计数器在 30 处,已经 10 秒。
  • 在接下来的 20 秒内,从 1.2.3.4 到 192.168.1.5 的任何 GET 请求都会生成警报。
于 2015-02-18T01:51:13.333 回答