Какая выгода присуждается меткой времени TCP?
У меня есть проверка проверки безопасности, которая позволяет мне отключать метки времени TCP. Я понимаю причины рекомендации: временная метка может использоваться для расчета времени безотказной работы сервера, что может быть полезно для злоумышленника (хорошее объяснение под заголовком "Временные метки TCP" на http://www.silby.com/eurobsdcon05/eurobsdcon_silbersack.pdf).
Однако я понимаю, что временные метки TCP предназначены для повышения производительности TCP. Естественно, что в анализе затрат и результатов ухудшение производительности - большая, возможно, слишком большая стоимость. Мне трудно понять, насколько, если таковые имеются, стоимость исполнения, вероятно, будет. Любые узлы в hivemind должны помочь?
Ответы
Ответ 1
Ответ наиболее кратко выражен в 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.
Если ваша передача данных каким-то образом затуманивается вашим виртуальным сервером (возможно, вы только купили дешевый план vhost), то, возможно, вы не могли бы использовать более высокую производительность в любом случае... возможно, стоит попробовать их попробовать. Если вы это сделаете, убедитесь, что вы сравниваете свои показатели до и после работы в нескольких разных местах, если это возможно.
Ответ 2
Даниилу и всем, кто хочет разъяснения:
http://www.forensicswiki.org/wiki/TCP_timestamps
"Временные метки TCP используются для обеспечения защиты от завернутых порядковых номеров. Можно вычислить время безотказной работы системы (и время загрузки) путем анализа временных меток TCP (см. ниже).
Эти расчетные периоды (и время загрузки) могут помочь в обнаружении скрытых сетевых операционных систем (см. TrueCrypt), связывании паролей с обманом и MAC-адресами вместе, связывании IP-адресов с беспроводными точками доступа Ad-Hoc и т.д. "
Это уязвимость с низким уровнем риска, обозначаемая в соответствии с требованиями PCI.
Ответ 3
Почему люди безопасности хотят, чтобы вы отключили отметки времени? Какая возможная угроза может представлять собой временную метку? Бьюсь об заклад, команда NTP будет недовольна этим; ^)
Временная метка TCP при ее включении позволит угадать время безотказной работы целевой системы (nmap v -O). Знать, как долго система будет работать, позволит вам определить, были ли исправления безопасности, требующие перезагрузки, или нет.
Ответ 4
Я бы этого не сделал.
Без отметки времени механизм TCP Protection Against Wrapped Sequence (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
Ответ 5
Сегодня меня задали аналогичный вопрос по этой теме. Мой прием выглядит следующим образом:
Неотложная система - это уязвимость, а не то, могут ли ее атаковать злоумышленники. Поэтому решение состоит в том, чтобы регулярно исправлять ваши системы. Отключение временных меток TCP не сделает ничего, что сделает ваши системы менее уязвимыми - это просто безопасность через неясность, которая вообще не является безопасностью.
Перевернув вопрос на своей голове, рассмотрите сценарий решения, использующего временные метки TCP, для определения узлов в вашей сети, которые имеют самый продолжительный период времени. Обычно это ваши наиболее уязвимые системы. Используйте эту информацию, чтобы определить приоритеты исправления, чтобы ваша сеть оставалась защищенной.
Не забывайте, что такая информация, как время безотказной работы, также может быть полезна для ваших системных администраторов.:)