如何禁用 Windows Server 2008 时间戳响应

如何禁用 Windows Server 2008 时间戳响应

在 stackoverflow 上发布了这个问题,但后来被指示将其发布在这里:

我正在使用 Rapid7 的 Nexpose 扫描我们的一台网络服务器(Windows Server 2008),并发现时间戳响应漏洞。

根据 Rapid7,时间戳响应应被禁用:http://www.rapid7.com/db/vulnerabilities/generic-tcp-timestamp

到目前为止我已经尝试了几件事:

  1. 编辑注册表,在HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters中添加“Tcp1323Opts”键,并将其设置为0。http://technet.microsoft.com/en-us/library/cc938205.aspx

  2. 使用此命令:netsh int tcp set global timestamps=disabled

  3. 尝试了 powershell 命令:Set-netTCPsetting -SettingName InternetCustom -Timestamps disabled(出现错误:Set-netTCPsetting:术语“Set-netTCPsetting”未被识别为 cmdlet、函数、脚本文件或可操作程序的名称。请检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。)以上尝试均未成功,重新扫描后我们仍然收到相同的警报。

Rapid7 建议使用能够阻止它的防火墙,但我们想知道 Windows 上是否有设置可以实现它。

它是通过特定端口进行的吗?如果是,端口号是多少?如果不是,您能推荐一款能够阻止它的第三方防火墙吗?

非常感谢。

答案1

我想你误解了这个建议。它没有说“禁用 TCP 时间戳响应”,它只是说“你可能想要禁用 TCP 时间戳响应”。除非你已将主机的正常运行时间声明为机密信息,否则你真的不应该费心。至于指纹识别,有很多其他来源提供比 TCP 时间戳更详细的信息。

但关于您的问题:不,时间戳响应不是通过 TCP 端口提供的服务,它是 TCP 本身提供的选项,并通过现有连接的 TCP 标头进行请求和回答。禁用 TCP 时间戳可能会破坏一些 TCP 优化

仅过滤时间戳请求数据包并不是一个好主意,因为它可能会中断连接。唯一明智的方法是操纵 TCP 标头以伪造适当的响应或确保在建立连接时不协商 RFC 1323 扩展。我不知道哪些产品会这样做。

看来参数Tcp1323Opts 已被弃用,不再评估Rapid7 网站本身针对 Windows Server 2008 声明如下:

无法在此操作系统上可靠地禁用 TCP 时间戳。

相关内容