Server 2012 R2 TCP 时间戳

Server 2012 R2 TCP 时间戳

我们将很快进行一些渗透测试,并希望清理一些东西。其中之一是 Windows 中的 TCP 时间戳。一个简单的 NMAP 扫描向我展示了一个 TCP 时间戳的猜测,实际上相当准确。我们运行 Sonicwall 防火墙,技术支持告诉我它无法在防火墙级别删除时间戳。查看 Windows 环境,似乎以下命令应该有效:

To set using netsh:

netsh int tcp set global timestamps=disabled

To set using PowerShell cmdlets:

Set-NetTCPSetting -SettingName InternetCustom -Timestamps Disabled

应用并重启服务器后,NMAP 似乎仍然显示时间戳。

有没有人成功过?或者我是唯一一个尝试这个的人 :) 似乎不推荐这样做,那么你如何处理这个问题?

谢谢。

答案1

TCP 时间戳用于提高性能,并防止延迟数据包扰乱您的数据流。如果您禁用 TCP 时间戳,则性能会下降,连接可靠性也会降低。无论使用何种方法禁用 TCP 时间戳,情况都是如此。

中间盒对数据包所做的任何修改都可能导致其他问题,因为 TCP 端点不需要考虑此类修改。

TCP 时间戳需要随时间单调增长。因此它们必然是可预测的。我还没有看到任何文档表明这种可预测性存在问题。

从技术上来说,可以改变初始偏移量和增长率,使得您发送到一个 IP 地址的时间戳不能用于预测您将发送到另一个 IP 地址的时间戳。

所以我的建议很明确。

  • 不要弄乱防火墙上的时间戳。
  • 向渗透测试人员请求更多信息,记录为什么可预测的时间戳会成为问题,以及端点的推荐配置。
  • 根据需要将配置设置应用到端点。

相关内容