Какую выгоду дает метка времени TCP? - PullRequest
43 голосов
/ 24 октября 2011

У меня обнаружена проверка безопасности, указывающая мне отключить временные метки TCP.Я понимаю причины рекомендации: временная метка может использоваться для расчета времени безотказной работы сервера, что может быть полезно злоумышленнику (хорошее объяснение под заголовком «TCP Timestamps» на http://www.silby.com/eurobsdcon05/eurobsdcon_silbersack.pdf).

Однако, насколько я понимаю,Временные метки TCP предназначены для повышения производительности TCP. Естественно, что при анализе затрат и выгод снижение производительности - это большие, возможно, слишком большие затраты. Мне трудно понять, насколько высока, если вообще существует, производительность, которая может привести к снижению производительности.быть. Любые узлы в уходе за улей, чтобы помочь?

Ответы [ 5 ]

24 голосов
/ 25 октября 2011

Ответ наиболее кратко выражен в 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.

конкретное снижение производительности, которое вы понесете, отключив временные метки, будет зависеть от вашей конкретной серверной операционной системы и от того, как вы это делаете (примеры см. в этом документе PSC по настройке производительности ).Некоторые ОС требуют, чтобы вы включили или отключили все опции RFC1323 одновременно ... другие позволяют вам выборочно включать опции RFC 1323.

Если передача данных каким-либо образом ограничена вашим виртуальным сервером (возможно, вы купили толькодешевый виртуальный план), тогда, возможно, вы не сможете использовать более высокую производительность в любом случае ... возможно, стоит их отключить, чтобы попробовать.Если вы это сделаете, обязательно сравните свои результаты до и после выступления в нескольких разных местах, если это возможно.

14 голосов
/ 17 сентября 2012

Даниилу и всем, кто хочет разъяснений:

http://www.forensicswiki.org/wiki/TCP_timestamps

"Временные метки TCP используются для обеспечения защиты от свернутых порядковых номеров. Можно рассчитать время работы системы (и время загрузки), анализируя временные метки TCP (см. Ниже). Эти рассчитанные значения времени безотказной работы (и время загрузки) могут помочь в обнаружении скрытых сетевых операционных систем (см. TrueCrypt), связывании поддельных IP-адресов и MAC-адресов, связывании IP-адресов с беспроводными точками доступа Ad-Hoc и т. Д. "

Это уязвимость с низким уровнем риска, обозначенная как совместимая с PCI.

12 голосов
/ 06 сентября 2014

Почему сотрудники службы безопасности хотят, чтобы вы отключали метки времени? Какую возможную угрозу может представлять временная метка? Могу поспорить, что команда NTP будет недовольна этим; ^)

Отметка времени TCP при включении позволит вам угадать время работы целевой системы (nmap v -O. Зная, как долго работала система, вы сможете определить, были ли применены исправления безопасности, требующие перезагрузки, или нет.

10 голосов
/ 14 июля 2012

Я бы этого не делал.

Без метки времени механизм защиты 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

Возьмите 45 Мбит / с (хорошо в пределах скоростей 802.11n), тогда у нас будет отрывок каждые ~ 380 секунд. Не ужасно, но раздражает.

Почему сотрудники службы безопасности хотят, чтобы вы отключали метки времени? Какую возможную угрозу может представлять временная метка? Могу поспорить, что команда NTP будет недовольна этим; ^)

Хммм, я что-то читал об использовании временных меток TCP, чтобы угадать тактовую частоту отправителя? Может быть, это то, чего они боятся? Я не знаю; ^)

Временные метки менее важны для оценки RTT, чем вы думаете. Мне они нравятся, потому что они полезны при определении RTT в приемнике или промежуточной коробке. Однако, согласно пушке TCP, такие запрещенные знания нужны только отправителю; ^)

Отправителю не нужны временные метки для расчета RTT. t1 = отметка времени, когда я отправил пакет, t2 = отметка времени, когда я получил ACK. RTT = t2 - t1. Сделайте немного сглаживания, и вы готовы!

... Daniel

7 голосов
/ 12 мая 2016

Сегодня мне задали аналогичный вопрос по этой теме. Мое мнение следующее:

Незащищенная система - это уязвимость, а не то, легко ли ее могут найти злоумышленники. Поэтому решение состоит в том, чтобы регулярно исправлять ваши системы. Отключение временных меток TCP ничего не сделает для того, чтобы сделать ваши системы менее уязвимыми, - это просто безопасность через неизвестность, которая вовсе не является безопасностью.

Рассматривая вопрос с ног на голову, рассмотрите возможность создания сценариев для решения, которое использует временные метки TCP для определения хостов в вашей сети, которые имеют самые длительные периоды бездействия. Обычно это ваши самые уязвимые системы. Используйте эту информацию для определения приоритетов исправлений, чтобы обеспечить защиту вашей сети.

Не забывайте, что такая информация, как uptime, также может быть полезна для ваших системных администраторов. :)

...