我需要禁用Kubernetes的TCP时间戳吗?

6
我们已经聘请了一名安全顾问来对我们应用程序的公共IP(Kubernetes负载均衡器)进行渗透测试,并编写一份报告,列出我们的安全漏洞以及避免这些漏洞所需的措施。他们的报告警告我们启用了TCP时间戳,并且从我阅读的有关该问题的资料来看,它将允许攻击者预测机器的引导时间,从而能够控制它。
我还了解到,TCP时间戳对于TCP性能以及最重要的是防止序列号回绕攻击非常重要。
但由于我们在GKE上使用Kubernetes,并且其前面有Nginx Ingress Controller,我想知道在这种情况下,TCP时间戳是否真的很重要。我们是否需要担心?如果需要,是否缺少防止序列号回绕攻击的保护会使我的网络容易受攻击?
有关TCP时间戳的更多信息,请参考以下链接: TCP时间戳有什么好处?

你能提供链接或详细说明:“它将允许攻击者预测机器的启动时间,从而能够控制它。”吗? - Dawid Kruk
1个回答

4

根据RFC 1323(TCP高性能扩展),TCP时间戳用于两个主要机制:

  • PAWS(防止序列号环绕攻击)
  • RTT(往返时间)

PAWS - 用于识别和拒绝以其他封装顺序到达的数据包的防御机制(数据完整性)。

Round Trip Time - 数据包到达目的地并发送回原始设备的确认所需的时间。

禁用TCP时间戳可能会导致以下问题:

  • 关闭TCP时间戳可能会导致性能问题,因为RTT将停止工作。
  • 它将禁用PAWS
  • 正如McAfee网站所述,禁用时间戳可能会允许拒绝服务攻击。

如前所述,McAfee的网站:

基于这些原因,McAfee 强烈建议保持此功能启用,并将其视为低风险漏洞。-- McAfee 来自另一个网站的引用:
TCP 时间戳检索漏洞是一种低风险漏洞,在全球范围内的网络中最常见。这个问题至少存在自 1990 年以来,但被证明难以检测、难以解决或容易被完全忽视。-- Beyond Security 我鼓励你观看这个视频:HIP15-TALK:Exploiting TCP Timestamps
GKE 怎么样?
获取启动时间(在此情况下为正常运行时间)的信息可以了解群集中未应用的安全补丁。这可能导致对这些未修补漏洞的利用。
最好的方法是定期更新现有的群集。GKE实现了两种方法:
- 手动方式 - 自动方式 即使攻击者知道您机器的启动时间,也将无济于事,因为系统已经是最新的,并且已经应用了所有安全补丁。Kubernetes引擎安全公告有专门的网站:安全公告

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接