在stackoverflow上发布了这个问题,但随后被指示在此处发布:
我正在使用 Rapid7 的 Nexpose 扫描我们的一个 Web 服务器(Windows Server 2008),并发现了时间戳响应漏洞。
根据 Rapid7,应禁用时间戳响应:http ://www.rapid7.com/db/vulnerabilities/generic-tcp-timestamp
到目前为止,我已经尝试了几件事:
编辑注册表,将“Tcp1323Opts”键添加到 HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters,并将其设置为 0。http://technet.microsoft.com/en-us/library/cc938205.aspx
使用这个命令:netsh int tcp set global timestamps=disabled
尝试过的 powershell 命令:Set-netTCPsetting -SettingName InternetCustom -Timestamps disabled(出现错误:Set-netTCPsetting:术语“Set-netTCPsetting”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查拼写名称,或者如果包含路径,请验证路径是否正确并重试。)以上尝试均未成功,重新扫描后我们仍然收到相同的警报。
Rapid7 建议使用能够阻止它的防火墙,但我们想知道 windows 上是否有设置来实现它。
是通过特定端口吗?如果是,端口号是多少?如果没有,您能否建议一个能够阻止它的第 3 方防火墙?
非常感谢。
我想你误解了这个建议。它没有说“禁用 TCP 时间戳响应”,它只是说“您可能想要禁用 TCP 时间戳响应”。除非您已将主机的正常运行时间声明为机密信息,否则您真的不应该打扰。至于指纹,还有很多其他来源提供比 TCP 时间戳更详细的信息。
但是关于您的问题:不,时间戳响应不是通过 TCP 端口提供的服务,它是 TCP 本身可用的选项,并通过现有连接的 TCP 标头请求和回答。禁用 TCP 时间戳可能会破坏一些 TCP 优化。
仅过滤时间戳请求数据包不是一个好主意,因为它可能会中断连接。唯一有助于解决此问题的明智方法是操纵 TCP 标头以伪造适当的响应或确保在连接设置时不协商 RFC 1323 扩展。我不知道哪些产品可以做到这一点。
似乎参数Tcp1323Opts 已被弃用并且不再被评估。Rapid7 站点本身针对 Windows Server 2008 进行了说明: