Networking TCP时间戳有什么好处?

Networking TCP时间戳有什么好处?,networking,tcp,security,Networking,Tcp,Security,我有一个安全扫描发现,指示我禁用TCP时间戳。我理解推荐的原因:时间戳可用于计算服务器正常运行时间,这对攻击者很有帮助(在“TCP时间戳”标题下有很好的解释) 然而,据我所知,TCP时间戳旨在提高TCP性能。当然,在成本/效益分析中,性能下降是一个很大的成本,可能太大了。我很难理解性能成本可能有多大(如果有的话)。hivemind care中是否有节点需要帮助?答案最简洁地表达为。。。RFC的介绍也提供了一些相关的历史背景 Introduction The introduction

我有一个安全扫描发现,指示我禁用TCP时间戳。我理解推荐的原因:时间戳可用于计算服务器正常运行时间,这对攻击者很有帮助(在“TCP时间戳”标题下有很好的解释)


然而,据我所知,TCP时间戳旨在提高TCP性能。当然,在成本/效益分析中,性能下降是一个很大的成本,可能太大了。我很难理解性能成本可能有多大(如果有的话)。hivemind care中是否有节点需要帮助?

答案最简洁地表达为。。。RFC的介绍也提供了一些相关的历史背景

   Introduction

   The introduction of fiber optics is resulting in ever-higher
   transmission speeds, and the fastest paths are moving out of the
   domain for which TCP was originally engineered.  This memo defines a
   set of modest extensions to TCP to extend the domain of its
   application to match this increasing network capability.  It is based
   upon and obsoletes RFC-1072 [Jacobson88b] and RFC-1185 [Jacobson90b].


  (3)  Round-Trip Measurement

       TCP implements reliable data delivery by retransmitting
       segments that are not acknowledged within some retransmission
       timeout (RTO) interval.  Accurate dynamic determination of an
       appropriate RTO is essential to TCP performance.  RTO is
       determined by estimating the mean and variance of the
       measured round-trip time (RTT), i.e., the time interval
       between sending a segment and receiving an acknowledgment for
       it [Jacobson88a].

       Section 4 introduces a new TCP option, "Timestamps", and then
       defines a mechanism using this option that allows nearly
       every segment, including retransmissions, to be timed at
       negligible computational cost.  We use the mnemonic RTTM
       (Round Trip Time Measurement) for this mechanism, to
       distinguish it from other uses of the Timestamps option.
禁用时间戳导致的特定性能损失将取决于您的特定服务器操作系统以及您的操作方式(例如,请参见此)。有些操作系统要求您一次启用或禁用所有RFC1323选项。。。其他选项允许您有选择地启用RFC 1323选项

如果您的虚拟服务器(可能您只购买了便宜的vhost计划)以某种方式限制了您的数据传输,那么您可能无法使用更高的性能。。。也许把它们关掉试试是值得的。如果您这样做了,请确保在可能的情况下,从几个不同的位置对您的前后性能进行基准测试

我不会这么做

如果没有时间戳,TCP对包裹序列号(PAWS)的保护机制将无法工作。它使用时间戳选项来确定突然的随机序列号更改是一个包裹(16位序列号),而不是来自另一个流的疯狂数据包

如果您没有这个功能,那么您的TCP会话将根据其使用序列号空间的速度每隔一段时间打嗝一次

来自RFC 1185:

ARPANET       56kbps       7KBps    3*10**5 (~3.6 days)
DS1          1.5Mbps     190KBps    10**4 (~3 hours)
Ethernet      10Mbps    1.25MBps    1700 (~30 mins)
DS3           45Mbps     5.6MBps    380
FDDI         100Mbps    12.5MBps    170
Gigabit        1Gbps     125MBps    17
以45Mbps(在802.11n的速度范围内),我们将每380秒打嗝一次。不可怕,但令人讨厌

为什么安全人员要你禁用时间戳?时间戳可能代表什么样的威胁?我打赌NTP的工作人员会对此不满意;^)

嗯,我读过一些关于使用TCP时间戳来猜测发送方的时钟频率的文章?也许这就是他们害怕的?我不知道;^)

时间戳对RTT估计的重要性不如您想象的那么重要。我碰巧喜欢它们,因为它们在确定接收器或中间盒的RTT时很有用。然而,根据TCP的大炮,只有发送方需要这种被禁止的知识;^)

发送方不需要时间戳来计算RTT。t1=我发送数据包时的时间戳,t2=我收到ACK时的时间戳。RTT=t2-t1。在上面做一点平滑处理,你就可以开始了


…Daniel

致Daniel和任何其他需要澄清的人:

“TCP时间戳用于针对包装序列号提供保护。通过分析TCP时间戳(见下文),可以计算系统正常运行时间(和启动时间)。 这些计算出的正常运行时间(和启动时间)有助于检测隐藏的启用网络的操作系统(请参阅TrueCrypt)、将伪造的IP和MAC地址链接在一起、将IP地址链接到临时无线AP等。”

这是PCI合规性中表示的低风险漏洞

为什么安全人员要你禁用时间戳?时间戳可能代表什么样的威胁?我打赌NTP的工作人员会对此不满意;^)


启用TCP时间戳后,您可以猜测目标系统(nmap v-O)的正常运行时间。了解系统已运行多长时间后,您可以确定是否应用了需要重新启动的安全修补程序。

今天,我在这个主题上被问到了类似的问题。我的看法如下:

未修补的系统是漏洞,而不是攻击者是否能够轻松找到它。因此,解决方案是定期修补您的系统。禁用TCP时间戳不会降低您的系统的易受攻击性—它只是通过模糊性实现安全性,根本不安全

将问题转向其头部,考虑编写一个解决方案,使用TCP时间戳来标识网络中拥有最长的上行时间的主机。这些通常是您最脆弱的系统。使用此信息优先修补,确保您的网络保持受保护。


不要忘记,正常运行时间等信息对系统管理员也很有用。:)

谢谢。这正是我更好地理解这个问题所需要的摘要。补充说明:启用时间戳会增加流量开销,因为9字节不是有效负载数据,所以“有用”。@Astar,TCP时间戳选项是10字节而不是9字节。你说TCP burp是什么意思,TCP连接将被中断,或者只是一些性能损失?@misteryes:我猜它需要重新建立,因为如果超出2^16范围,序列号对接收器没有意义。也就是说,在32位地址空间中换行是可以的,但是如果它前进超过2^16,则连接将断开。@misteryes:实际上,仔细想想,由于最大TCP数据包大小为65535字节(2^16-1),下一个数据包将落在该范围内,它只是在它之外的后续数据包,只需要重新传输(在几分钟内与我自相矛盾)。“发送方不需要时间戳来计算RTT。”-当它重新传输时会这样做。如果没有TCP时间戳,发送方接收到的ACK就无法知道来自原始传输或重新传输。因此,当发生重传时,在没有重传的情况下接收到ACK之前,无法确定RTT。这可能会导致病理行为时,许多重传正在发生,如