慢速拒绝和解决方案.md

HTTP慢速拒绝服务防御方案

一、背景与问题描述
慢速拒绝服务攻击(LDOS)区别于传统的DDOS或CC攻击。它通过以极低的速度发送数据,旨在耗尽服务器资源。现有的安全插件(如WAF、Anti-CC、流量限速等)主要针对高频次攻击,但对于低频次的慢速拒绝服务攻击防御能力不足。这些插件工作在应用层(L7),处理由envoy解析后的HTTP消息,因此缺少一些关键的“元数据”,如连接时间、请求发起时间等,这使得它们难以有效防御慢速拒绝服务攻击。

二、HTTP慢速拒绝服务攻击方式
攻击者在与HTTP服务器建立连接后,尽可能长时间保持该连接,以占用服务器的socket资源和内存资源。例如,对于一个696字节的HTTP请求,攻击者可能每秒只发送一个字符,导致服务器需要696秒才能接收完整个请求,从而耗尽服务器资源。

三、防御手段
针对HTTP慢速拒绝服务攻击,防御措施包括:

  • 限制HTTP请求头超时
  • HTTP请求超时
  • 流空闲超时
  • 连接超时

四、envoy字段介绍

  1. stream_idle_timeout: 流空闲超时,收到HTTP起始行后开始计时,无数据时发送408回复并关闭连接。默认30秒,范围1-3600秒。
  2. request_timeout: 请求超时,收到HTTP起始行后开始计时,整个请求(请求头、请求体)未在设定时间内接收完毕时发送408回复并关闭连接。默认60秒,范围1-300秒。
  3. request_headers_timeout: 请求头超时,收到HTTP起始行后开始计时,请求头未在设定时间内接收完毕时发送408回复并关闭连接。默认5秒,范围1-60秒。
  4. common_http_protocol_options.idle_timeout: 连接空闲超时,建立TCP连接后无数据时断开连接。默认30秒,范围1-3600秒。
  5. common_http_protocol_options.max_connection_duration: 连接超时,建立TCP连接后的最大持续时间,超时则断开连接。默认值不受限,范围1秒-365天。

总结
本文档提供了对HTTP慢速拒绝服务攻击的基本理解以及使用envoy配置来防御这类攻击的方法。然而,需要注意的是,实施这些防御措施时应考虑到攻击检测、误报处理、多层防御策略、性能考量、环境适应性以及定期更新和维护策略,以确保既有效地防御攻击,又不影响正常用户的体验。

HTTP慢速拒绝攻击抵御 石犀方案

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

缺乏具体实施细节:
文档提供了防御手段的概述,但缺少具体的实施步骤或配置示例。在实际应用中,详细的配置指导和最佳实践是非常重要的。

缺少攻击检测和响应策略:
文档主要集中在防御措施上,但没有提到如何检测慢速攻击的发生。在网络安全中,及时检测攻击同样重要,这有助于快速响应和调整防御策略。

未考虑误报和合法流量的影响:
在设置超时参数时,需要考虑到正常用户的行为。过于严格的超时设置可能会导致误报,影响正常用户的体验。

缺少多层防御策略:
仅依赖于应用层(L7)的防御可能不足以应对所有类型的慢速攻击。结合网络层(L3/L4)的防御措施可能会更有效。

性能考量未提及:
实施这些防御措施可能会对服务器性能产生影响。文档中没有提及如何平衡安全性和性能,特别是在高流量环境下。

缺乏上下文和环境适应性讨论:
不同的服务器环境和应用场景可能需要不同的配置。文档没有讨论如何根据具体环境调整这些设置。

更新和维护策略未提及:
网络安全是一个不断发展的领域,攻击手段也在不断进化。文档中没有提及如何定期更新和维护防御措施以应对新的威胁。

多层防御策略

针对“缺少多层防御策略”的缺陷,可以通过以下几个方面来补充和完善设计:

1. 网络层(L3/L4)防御

  • 流量监控与异常检测:

    • 实施持续的流量监控,使用机器学习或基于规则的系统来识别异常流量模式。
    • 部署入侵检测系统(IDS)和入侵防御系统(IPS)来识别和阻止可疑流量。
  • 速率限制和流量整形:

    • 在网络边界实施速率限制,以减少到达应用层的恶意流量。
    • 使用流量整形技术来控制流量的速率和量,确保关键服务的可用性。
  • 黑名单/白名单:

    • 基于IP地址或地理位置实施黑名单或白名单策略,阻止已知的恶意来源。
  • 分布式防御:

    • 使用内容分发网络(CDN)或其他分布式解决方案来分散流量,减轻单点压力。

2. 应用层(L7)防御

  • 会话管理:

    • 实施严格的会话管理,例如会话超时和限制并发连接数,以防止资源被过度占用。
  • 自定义规则:

    • 根据应用的特定需求和行为模式,定制WAF(Web应用防火墙)规则。
  • 行为分析:

    • 对用户行为进行分析,识别出与正常用户行为显著不同的模式。

3. 系统级防御

  • 资源分配和限制:

    • 在操作系统层面限制进程资源使用,例如CPU和内存使用限制,防止单个进程耗尽系统资源。
  • 高可用性和冗余:

    • 设计高可用性架构,包括负载均衡和故障转移机制,以确保服务的连续性。

4. 响应和恢复计划

  • 紧急响应计划:

    • 制定并测试紧急响应计划,以便在攻击发生时迅速采取行动。
  • 备份和恢复:

    • 定期备份关键数据和配置,确保在攻击后能够快速恢复服务。

5. 持续监控和评估

  • 安全审计和日志分析:

    • 定期进行安全审计,分析日志以识别潜在的安全漏洞或攻击迹象。
  • 性能和安全测试:

    • 定期进行性能和安全测试,以评估防御措施的有效性。

慢速拒绝和解决方案.md
https://abrance.github.io/2023/11/30/mdstorage/domain/network/慢速拒绝和解决方案/
Author
xiaoy
Posted on
November 30, 2023
Licensed under