Pau*_*nan 44 security networking tcp
我有一个安全扫描发现指示我禁用TCP时间戳.我理解推荐的原因:时间戳可用于计算服务器正常运行时间,这对攻击者有帮助(http://www.silby.com/eurobsdcon05/eurobsdcon_silbersack.pdf标题下的"TCP时间戳"下的详细说明)).
但是,我的理解是TCP时间戳旨在增强TCP性能.当然,在成本/效益分析中,性能下降是一个很大的,可能是太大的成本.我很难理解可能会有多少(如果有的话)性能成本.hivemind中的任何节点都在关心吗?
Mik*_*ton 24
答案在RFC 1323中最简洁地表达- 往返测量 ...... 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.
Run Code Online (Sandbox Code Playgroud)
通过禁用时间戳而产生的特定性能损失将取决于您的特定服务器操作系统以及如何执行此操作(例如,请参阅此PSC文档了解性能调整).某些操作系统要求您同时启用或禁用所有RFC1323选项...其他操作系统允许您有选择地启用RFC 1323选项.
如果您的数据传输以某种方式被您的虚拟服务器限制(也许您只购买了便宜的虚拟计划),那么也许您无论如何也不可能使用更高的性能...也许值得关闭它们尝试.如果您这样做,请确保在可能的情况下从几个不同的位置对您的演出前后进行基准测试.
pso*_*za4 14
致丹尼尔和任何其他想要澄清的人:
http://www.forensicswiki.org/wiki/TCP_timestamps
"TCP时间戳用于提供针对包装的序列号保护.可以通过分析TCP时间戳(见下文)来计算系统的正常运行时间(和引导时间).这些计算出的正常运行时间(和启动时间)可以在检测启用网络的隐藏帮助操作系统(参见TrueCrypt),将欺骗性IP和MAC地址链接在一起,将IP地址与Ad-Hoc无线AP连接起来等."
这是PCI合规性中表示的低风险漏洞.
小智 12
为什么安全人员会要求您禁用时间戳?时间戳可能代表什么样的威胁?我打赌NTP工作人员对此不满意; ^)
启用TCP时间戳将允许您猜测目标系统的正常运行时间(nmap v -O.了解系统启动的时间将使您能够确定是否已应用需要重新启动的安全修补程序.
小智 10
我不会这样做.
如果没有时间戳,TCP保护免受包装序列号(PAWS)机制将无法正常工作.它使用timestamp选项来确定突发和随机序列号更改是换行(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
Run Code Online (Sandbox Code Playgroud)
采用45Mbps(在802.11n速度范围内),然后我们每隔约380秒就会发生一次打嗝.不可怕,但很烦人.
为什么安全人员会要求您禁用时间戳?时间戳可能代表什么样的威胁?我打赌NTP工作人员对此不满意; ^)
嗯,我读过一些关于使用TCP时间戳来猜测发送者的时钟频率的事情?也许这是他们害怕的?我不知道; ^)
时间戳对RTT估计的重要性不如您想象的那么重要.我碰巧喜欢它们,因为它们可用于确定接收器或中间盒的RTT.但是,根据TCP的大炮,只有发送者需要这样的禁止知识; ^)
发送方不需要时间戳来计算RTT.t1 =发送数据包时的时间戳,t2 =收到ACK时的时间戳.RTT = t2-t1.做一点平滑,你很高兴!
丹尼尔...
小智 8
今天我被问到关于这个话题的类似问题.我的看法如下:
未修补的系统是漏洞,而不是攻击者是否可以轻松找到它.因此,解决方案是定期修补您的系统.禁用TCP时间戳不会使您的系统不那么容易受到攻击 - 它只是通过默默无闻的安全性,这根本不是安全措施.
转而回答这个问题,考虑编写一个使用TCP时间戳来识别网络上运行时间最长的主机的解决方案.这些通常是您最容易受到攻击的系统.使用此信息确定修补的优先级,以确保您的网络保持受保护.
不要忘了,像正常运行时间的信息也可以是有用的您的系统管理员.:)