我与客户进行了长时间的对话,他们执行Rapid7 安全扫描,然后警告端口 80 上缺少 TCP MD5 校验和。这是我认为我知道的:
- RFC 2385旨在保护BGP,并通过扩展 BGP 类型的协议(即长时间运行的 TCP 连接)。
- BGP 使用长时间运行的 TCP 连接,而 HTTP 不使用。
- 加密/IPSec 已取代RFC 2385以保护 BGP。
- TCP RST 攻击针对长时间运行的 TCP 连接,因为该攻击依赖于概率。
- 对重置 HTTP 保持活动连接的影响是下一个请求将重新启动它。
- 大多数连接以毫秒为单位传输数据,攻击窗口太小,HTTP 无法有效定位。攻击取决于攻击者针对服务器的窗口大小和带宽,即使在良好的条件下,根据窗口滑动:TCP 重置攻击的第 25 页,似乎也需要几秒钟的时间)
- Web 视图通常由每个连接的客户端的多个连接组成,使得这种类型的拒绝服务与替代方案相比没有吸引力。
- Linux(特别是 RHEL 或 Debian)支持 rfc2385,但无法全局启用。
- NGINX 和 Apache 都没有配置选项来打开启用了 tcp-md5-checksums 的套接字。
- 即使 rfc2385 对 HTTP 有效,它也不能解决问题,但会增加服务器的负载。这只是一个次要的方面。
我试图解释 rfc2385 与 Web 服务器无关,但他们说这是 TCP 的问题,虽然这是真的,但简化了它是针对TCP 连接的特定性质的攻击。
我已经解释过 Apache 和 nginx 都无法启用他们所要求的功能。他们不断向我发送提及 Windows、Cisco、NetBSD、BGP 的知识库文档,但从来没有与 apache 或 nginx 相关的任何内容。
除了链接文件之外,我还向他们发送了LWN解释它:
使用这种技术来关闭 Web 服务器会很困难;HTTP 连接一开始往往是短暂的。
Windows上有一个补丁可以修复他们作为建议发送的警告,但它显然对linux没有任何作用。
我在胡说八道吗?对于让具有安全合规性的客户担心与我在同一页面上,您有什么建议?