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

发布这个问题在stackoverflow,但后来得到指示,在这里发布:

我正在使用Rapid7的Nexpose扫描我们的一个Web服务器(Windows Server 2008),并得到了时间戳响应的漏洞。

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

到目前为止,我尝试了几件事情:

  1. 编辑registry,向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禁用(出现错误:Set-netTCPsetting:术语“Set-netTCPsetting”不被识别为cmdlet,函数,脚本文件或可操作程序的名称。的名称,或者如果包含path,请validationpath是否正确,然后重试。)上述任何一次尝试都没有成功,重新扫描后我们仍得到相同的警报。

Rapid7build议使用能够阻止它的防火墙,但我们想知道是否有窗口上的设置来实现它。

是通过特定的端口吗? 如果是,那么端口号是多less? 如果没有,你能build议一个第三方防火墙是否能够阻止它?

非常感谢你。

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

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

只是过滤时间戳请求数据包是不好的,因为它可能会中断连接。 解决这个问题的唯一方法就是操作TCP头文件来伪造合适的响应,或者确保在连接build立时不会协商RFC 1323扩展。 我不知道哪些产品这样做。

看来参数Tcp1323Opts已被弃用,不再被评估 。 Rapid7网站本身就是针对Windows Server 2008的:

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