我们将很快进行一些渗透测试,并希望清理一些东西。其中之一是 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 地址的时间戳。
所以我的建议很明确。
- 不要弄乱防火墙上的时间戳。
- 向渗透测试人员请求更多信息,记录为什么可预测的时间戳会成为问题,以及端点的推荐配置。
- 根据需要将配置设置应用到端点。