Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Протокол сетевого времени ( NTP ) - это сетевой протокол для синхронизации часов между компьютерными системами через сети передачи данных с коммутацией пакетов и переменной задержкой . Действующий с 1985 года, NTP является одним из старейших Интернет-протоколов, используемых в настоящее время. NTP был разработан Дэвидом Л. Миллсом из Университета Делавэра .

NTP предназначен для синхронизации всех участвующих компьютеров с точностью до нескольких миллисекунд по всемирному координированному времени (UTC). [1] : 3 Он использует алгоритм пересечения , модифицированную версию алгоритма Марзулло , для выбора серверов точного времени и предназначен для смягчения эффектов переменной задержки в сети . NTP обычно может поддерживать время с точностью до десятков миллисекунд в общедоступном Интернете и может достигать точности выше одной миллисекунды в локальных сетях в идеальных условиях. Асимметричные маршруты иперегрузка сети может вызвать ошибки 100 мс и более. [2] [3]

Протокол обычно описывается в терминах модели клиент-сервер , но с такой же легкостью может использоваться в одноранговых отношениях, когда оба узла рассматривают друг друга как потенциальный источник времени. [1] : 20 реализаций отправляют и получают отметки времени с помощью протокола пользовательских дейтаграмм (UDP) на порт номер 123. [4] [5] Они также могут использовать широковещательную или многоадресную рассылку , когда клиенты пассивно прослушивают обновления времени после первоначального приема- передачи. калибровочный обмен. [3] NTP выдает предупреждение о приближающейся дополнительной секунде.настройка, но информация о местных часовых поясах или переходе на летнее время не передается. [2] [3]

Текущий протокол - это версия 4 (NTPv4), которая является предлагаемым стандартом, как описано в RFC  5905 . Он обратно совместим с версией 3, указанной в RFC 1305 . 

История [ править ]

NTP был разработан Дэвидом Л. Миллсом .

[ требуется обновление ]

Эволюция RFC для NTP
1980 -
-
1985 -
-
1990 -
-
1995 -
-
2000 -
-
2005 -
-
2010 -
-
2015 -
-
2020 -
RFC 958 [6]
RFC 1059 [7]
RFC 1119 [8]
RFC 1305 [9]
RFC 5905 [10]
RFC 7822 [11]
RFC 1361 [12]
RFC 1769 [13]
RFC 2030 [14]
RFC 4330 [15]
Служба Интернет-часов DCNET [16]
SNTP

В 1979 году технология сетевой синхронизации времени была использована в, возможно, первой публичной демонстрации Интернет- сервисов, работающих через трансатлантическую спутниковую сеть, на Национальной компьютерной конференции в Нью-Йорке. Позднее эта технология была описана в Инженерном примечании к Интернету (IEN) 173 [17] за 1981 г., и на ее основе был разработан общедоступный протокол, который был задокументирован в RFC 778 . Технология была впервые развернута в локальной сети как часть протокола маршрутизации Hello и реализована в маршрутизаторе Fuzzball , экспериментальной операционной системе, используемой для создания прототипов сети, где она работала в течение многих лет. 

Другие связанные сетевые инструменты были доступны и тогда, и сейчас. Они включают дневные и временные протоколы для записи времени событий, а также сообщения ICMP Timestamp и опцию IP Timestamp ( RFC 781 ). Более полные системы синхронизации, хотя и не имеют алгоритмов анализа данных и контроля часов NTP, включают в себя демон Unix timed , который использует алгоритм выбора для назначения сервера для всех клиентов; [18] и служба цифровой синхронизации времени (DTSS), которая использует иерархию серверов, аналогичную модели слоя NTP. 

В 1985 году версия NTP 0 (NTPv0) была реализована как в Fuzzball, так и в Unix, а заголовок пакета NTP, а также вычисления задержки и смещения туда и обратно, которые сохранились в NTPv4, были задокументированы в RFC 958 . Несмотря на относительно медленные компьютеры и сети, доступные в то время, точность более 100 миллисекунд обычно достигалась на переходных каналах Атлантики с точностью до десятков миллисекунд в сетях Ethernet . 

В 1988 году гораздо более полная спецификация протокола NTPv1 с соответствующими алгоритмами была опубликована в RFC 1059 . Он основывался на результатах экспериментов и алгоритме тактовой фильтрации, описанном в RFC 956, и был первой версией, описывающей режимы клиент-сервер и одноранговые сети . В 1991 году архитектура, протокол и алгоритмы NTPv1 были представлены вниманию более широкого инженерного сообщества после публикации статьи Дэвида Л. Миллса в IEEE Transactions on Communications . [19]  

В 1989 году был опубликован RFC 1119, определяющий NTPv2 с помощью конечного автомата с псевдокодом для описания его работы. Он представил протокол управления и схему криптографической аутентификации , которые пережили NTPv4 вместе с основной частью алгоритма. Однако дизайн NTPv2 подвергся критике со стороны сообщества DTSS за отсутствие формальной корректности , и процедура выбора часов была изменена, чтобы включить алгоритм Марзулло для NTPv3 и далее. [20] 

В 1992 году RFC 1305 определил NTPv3. RFC включал анализ всех источников ошибок, от эталонных часов до конечного клиента, что позволило вычислить метрику, помогающую выбрать лучший сервер, на котором несколько кандидатов не согласны. Введен широковещательный режим. 

В последующие годы, когда были добавлены новые функции и улучшены алгоритмы, стало очевидно, что требуется новая версия протокола. [21] В 2010 году был опубликован RFC 5905, содержащий предложенную спецификацию для NTPv4. С тех пор протокол значительно продвинулся вперед, и по состоянию на 2014 год обновленный RFC еще не опубликован. [22] После выхода на пенсию Миллса из Университета Делавэра эталонная реализация в настоящее время поддерживается как проект с открытым исходным кодом, возглавляемый Харланом Стенном. [23] [24] 

Слои часов [ править ]

Морская обсерватория США Alternate Master Clock на Schriever AFB (штат Колорадо) является толща 0 источником для NTP
Желтые стрелки указывают на прямое соединение; красные стрелки указывают на сетевое соединение.

NTP использует иерархическую полууровневую систему источников времени. Каждый уровень этой иерархии называется стратой, и наверху ему присваивается номер, начинающийся с нуля для эталонных часов. Сервер, синхронизированный с сервером уровня n, работает на уровне n + 1. Число представляет собой расстояние от эталонных часов и используется для предотвращения циклических зависимостей в иерархии. Stratum не всегда является показателем качества или надежности; часто находят источники времени слоя 3, которые более высокого качества, чем другие источники времени слоя 2. [a] Краткое описание слоев 0, 1, 2 и 3 приводится ниже.

Уровень 0
Это высокоточные устройства для измерения времени, такие как атомные часы , GPS или другие радиочасы . Они генерируют очень точный импульсный сигнал в секунду, который запускает прерывание и временную метку на подключенном компьютере. Устройства Stratum 0 также известны как эталонные часы. Серверы NTP не могут объявлять себя слоем 0. Поле страты, установленное в 0 в пакете NTP, указывает на неопределенный слой. [25]
Уровень 1
Это компьютеры, системное время которых синхронизируется с точностью до нескольких микросекунд от подключенных к ним устройств уровня 0. Серверы уровня 1 могут взаимодействовать с другими серверами уровня 1 для проверки работоспособности и резервного копирования. [26] Их также называют первичными серверами времени. [2] [3]
Уровень 2
Это компьютеры, которые синхронизируются по сети с серверами уровня 1. Часто компьютер уровня 2 запрашивает несколько серверов уровня 1. Компьютеры уровня 2 могут также взаимодействовать с другими компьютерами уровня 2, чтобы обеспечить более стабильное и надежное время для всех устройств в группе одноранговых устройств.
Уровень 3
Это компьютеры, которые синхронизируются с серверами уровня 2. Они используют те же алгоритмы для пиринга и выборки данных, что и для уровня 2, и сами могут выступать в качестве серверов для компьютеров уровня 4 и т. Д.

Верхний предел для страты - 15; stratum 16 используется, чтобы указать, что устройство не синхронизировано. Алгоритмы NTP на каждом компьютере взаимодействуют, чтобы построить связующее дерево кратчайшего пути Беллмана-Форда , чтобы минимизировать накопленную задержку приема-передачи к серверам страты 1 для всех клиентов. [1] : 20

Помимо страты, протокол может идентифицировать источник синхронизации для каждого сервера с помощью ссылочного идентификатора (refid).

Отметки времени [ править ]

64-битные временные метки, используемые NTP, состоят из 32-битной части для секунд и 32-битной части для дробной секунды, что дает шкалу времени, которая перемещается каждые 2 32 секунды (136 лет) и теоретическое разрешение 2-32 секунды (233 пикосекунды). NTP использует эпоху 1 января 1900 года. Таким образом, первое обновление происходит 7 февраля 2036 года. [28] [29]

NTPv4 вводит 128-битный формат даты: 64 бита для второй и 64 бита для дробной секунды. Наиболее важные 32 бита этого формата - это номер эры, который в большинстве случаев устраняет неоднозначность при опрокидывании. [30] [31] Согласно Миллсу, «64-битного значения дроби достаточно, чтобы определить количество времени, которое требуется фотону, чтобы пройти электрон со скоростью света. 64-битного второго значения достаточно, чтобы обеспечить однозначное представление времени до тех пор, пока Вселенная не потускнеет ". [32] [b]

Алгоритм синхронизации часов [ править ]

Время задержки туда и обратно δ

Типичный клиент NTP регулярно опрашивает один или несколько серверов NTP. Клиент должен вычислить свое временное смещение и задержку приема-передачи . Смещение времени θ, разница в абсолютном времени между двумя часами, определяется как

,

и задержку приема -передачи δ на

,

куда

t 0 - метка времени клиента передачи пакета запроса,
t 1 - временная метка сервера приема пакета запроса,
t 2 - временная метка сервера передачи пакета ответа и
t 3 - метка времени клиентом получения пакета ответа. [1] : 19

Чтобы получить выражение для смещения, обратите внимание, что для пакета запроса

а для ответного пакета

Решение для θ дает определение смещения по времени.

Значения θ и δ пропускаются через фильтры и подвергаются статистическому анализу. Выбросы отбрасываются, и оценка временного сдвига получается из трех лучших оставшихся кандидатов. Затем тактовая частота регулируется для постепенного уменьшения смещения, создавая петлю обратной связи . [1] : 20

Точная синхронизация достигается, когда и входящий, и исходящий маршруты между клиентом и сервером имеют симметричную номинальную задержку. Если маршруты не имеют общей номинальной задержки, существует систематическая погрешность, равная половине разницы между временами движения вперед и назад. [33]

Программные реализации [ править ]

Утилита протокола управления NTP ntpq используется для запроса состояния сервера уровня 2.

Эталонная реализация [ править ]

Эталонная реализация NTP вместе с протоколом непрерывно разрабатывалась более 20 лет. Обратная совместимость поддерживается по мере добавления новых функций. Он содержит несколько чувствительных алгоритмов, особенно для дисциплины часов, которые могут работать некорректно при синхронизации с серверами, использующими другие алгоритмы. Программное обеспечение было перенесено практически на все вычислительные платформы, включая персональные компьютеры. Он работает как демон под названием ntpd под Unix или как служба под Windows. Поддерживаются эталонные часы, а их смещения фильтруются и анализируются так же, как и удаленные серверы, хотя обычно они опрашиваются чаще. [1] :15–19 Эта реализация была проверена в 2017 году, и было обнаружено множество потенциальных проблем безопасности. [34]

SNTP [ править ]

Простой протокол сетевого времени ( SNTP ) - это менее сложная реализация NTP, использующая тот же протокол, но не требующая хранения состояния в течение продолжительных периодов времени. [35] Он используется в некоторых встроенных системах и в приложениях, где полная поддержка NTP не требуется. [36]

Windows Time [ править ]

Все версии Microsoft Windows, начиная с Windows 2000, включают службу времени Windows (W32Time) [37], которая может синхронизировать часы компьютера с сервером NTP.

W32Time изначально был реализован для протокола проверки подлинности Kerberos версии 5, который требовал, чтобы время находилось в пределах 5 минут от правильного значения для предотвращения атак повторного воспроизведения . Версия для Windows 2000 и Windows XP реализует только SNTP и нарушает некоторые аспекты стандарта NTP версии 3. [38]

Начиная с Windows Server 2003 и Windows Vista , включена соответствующая реализация NTP. [39] Microsoft заявляет, что W32Time не может надежно поддерживать синхронизацию времени с точностью до одной секунды. [40] Если требуется более высокая точность, Microsoft рекомендует использовать более новую версию Windows или другую реализацию NTP. [41]

Windows 10 и Windows Server 2016 поддерживают точность времени 1 мс при определенных условиях эксплуатации. [42] [40]

OpenNTPD [ править ]

В 2004 году Хеннинг Брауэр представил OpenNTPD , реализацию NTP с упором на безопасность и охватывающую дизайн с разделением привилегий. Хотя он нацелен на более простые общие потребности пользователей OpenBSD , он также включает некоторые улучшения безопасности протокола, при этом оставаясь совместимым с существующими серверами NTP. Переносимая версия доступна в репозиториях пакетов Linux.

Нтимед [ править ]

Новый клиент NTP, ntimed , был запущен Полом-Хеннингом Кампом в 2014 году. [43] Новая реализация спонсируется Linux Foundation в качестве замены эталонной реализации, поскольку было решено, что с нее будет проще написать новую реализацию. нуля, чем уменьшить размер эталонной реализации. Хотя он не был официально выпущен, ntimed может надежно синхронизировать часы. [44]

NTPsec [ править ]

NTPsec является вилка эталонной реализации , которая была систематически безопасности закаленные . Точка разветвления пришлась на июнь 2015 года и возникла в ответ на серию компромиссов в 2014 году. [ Указать ] Первый производственный выпуск был отправлен в октябре 2017 года. [45] Между удалением небезопасных функций, прекращением поддержки устаревшего оборудования и удалением устаревшего оборудования. Поддерживая устаревшие варианты Unix, NTPsec смог сократить 75% исходной кодовой базы, сделав оставшуюся более доступной для аудита. [46] Аудит кода 2017 года показал восемь проблем безопасности, в том числе две, которых не было в исходной эталонной реализации, но NTPsec не пострадал от восьми других проблем, которые остались в эталонной реализации. [47]

хрони [ править ]

chronyc, пользовательская лицензия и справка из командной строки. Окно терминала в Ubuntu 16.04.

Chrony поставляется по умолчанию в Red Hat распределений [48] и доступен в Ubuntu репозиториев. [49] chrony нацелен на обычные компьютеры, которые нестабильны, переходят в спящий режим или имеют прерывистое подключение к Интернету. [50] chrony также разработан для виртуальных машин, гораздо более нестабильной среды. Он отличается низким потреблением ресурсов (стоимостью) и поддерживает оборудование протокола точного времени для большей точности временных меток. [51]Он состоит из двух основных компонентов: chronyd, демона, который запускается при запуске компьютера, и chronyc, интерфейса командной строки для пользователя для его настройки. Он был оценен как очень безопасный и с несколькими инцидентами [52], его преимуществом является универсальность кода, написанного с нуля, чтобы избежать ненужной сложности. [53] chrony доступен под лицензией GNU General Public License версии 2 , был создан Ричардом Керноу в 1997 году и в настоящее время поддерживается Мирославом Личваром . [54]

Високосные секунды [ править ]

В день события секунды координации ntpd получает уведомление либо от файла конфигурации, либо от прикрепленных эталонных часов, либо от удаленного сервера. Хотя часы NTP фактически останавливаются во время события, из-за требования о том, что время должно казаться монотонно увеличивающимся , любые процессы , запрашивающие системное время, вызывают его небольшое увеличение, сохраняя порядок событий. Если когда-либо возникнет необходимость в отрицательной дополнительной секунде, она будет удалена с последовательностью 23:59:58, 00:00:00, пропуская 23:59:59. [55]

Альтернативная реализация, называемая сглаживанием скачка, заключается во введении дополнительной секунды постепенно в течение 24 часов, с полудня до полудня по всемирному координированному времени. Эта реализация используется Google (как внутри компании, так и на своих общедоступных серверах NTP) и Amazon AWS. [56]

Проблемы безопасности [ править ]

В эталонной реализации кодовой базы NTP было выявлено лишь несколько других проблем безопасности, но те, которые появились в 2009 году, вызвали серьезное беспокойство. [57] [58] Протокол пересматривался и пересматривался на протяжении всей своей истории. Кодовая база для эталонной реализации в течение нескольких лет подвергалась аудитам безопасности из нескольких источников. [59]

Переполнение стек эксплуатирует было обнаружено и исправлено в 2014 г. [60] Apple , был обеспокоено достаточно об этом vulerability , что он использовал свои возможности автоматического обновления в первый раз. [61] Некоторые ошибки реализации являются базовыми, например, отсутствие оператора return в подпрограмме, что может привести к неограниченному доступу к системам, в которых запущены некоторые версии NTP в корневом демоне. Системы, в которых не используется корневой демон, например BSD, не подвержены этому недостатку. [62]

Аудит безопасности трех реализаций NTP в 2017 году, проведенный от имени Linux Foundation Core Infrastructure Initiative, показал, что и NTP [63] [64], и NTPsec [65] были более проблематичными, чем Chrony [66] с точки зрения безопасности. [67]

Серверы NTP могут быть уязвимы для атак типа « злоумышленник в середине», если пакеты не подписаны криптографически для аутентификации. [68] Затраты на вычисления могут сделать это непрактичным на загруженных серверах, особенно во время атак типа «отказ в обслуживании» . [69] Подмена сообщений NTP в результате атаки «злоумышленник-посередине» может использоваться для перемещения часов на клиентских компьютерах и обеспечения ряда атак, основанных на обходе истечения срока действия криптографического ключа. [70] Некоторые из служб, на которые влияют выявленные поддельные сообщения NTP, - это TLS , DNSSEC , различные схемы кэширования (например, кеш DNS), BGP, биткойн и ряд постоянных схем входа в систему. [71] [72]

NTP использовался в распределенных атаках типа «отказ в обслуживании» . [73] [74] Небольшой запрос отправляется на сервер NTP с подмененным адресом возврата, который является целевым адресом. Подобно атаке с усилением DNS , сервер отвечает гораздо большим ответом, который позволяет злоумышленнику существенно увеличить объем данных, отправляемых цели. Чтобы избежать участия в атаке, можно обновить программное обеспечение сервера NTP или настроить серверы на игнорирование внешних запросов. [75]

См. Также [ править ]

  • Вариация Аллана
  • Сеть часов
  • Международное атомное время
  • Таймкод IRIG
  • NITZ
  • Пул NTP
  • Ntpdate

Заметки [ править ]

  1. ^ В телекоммуникационных системах используется другое определение страт часов .
  2. ^ 2 −64 секунды составляет около 54 зептосекунд (свет прошел бы 16,26 пикометра, или приблизительно 0,31 × радиус Бора ), а 2 64 секунды - это около 585 миллиардов лет .

Ссылки [ править ]

  1. ^ a b c d e f Дэвид Л. Миллс (12 декабря 2010 г.). Синхронизация времени компьютерной сети: сетевой протокол времени . Тейлор и Фрэнсис. стр. 12–. ISBN 978-0-8493-5805-0. Архивировано 18 июля 2014 года . Проверено 16 октября +2016 .
  2. ^ a b c "Краткое содержание: Синхронизация времени компьютерной сети" . Архивировано 2 ноября 2011 года . Проверено 21 ноября 2011 .
  3. ^ a b c d "NTP FAQ" . Проект NTP. Архивировано 06 сентября 2011 года . Проверено 27 августа 2011 .
  4. ^ "Номера портов" . Управление по распределению номеров в Интернете (IANA). Архивировано 4 июня 2001 года . Проверено 19 января 2011 .
  5. ^ "Страница 16" . Архивировано 01 января 2018 года . Проверено 26 сентября 2011 .
  6. RFC 958 Network Time Protocol (NTP) , сентябрь 1985 г.
  7. ^ Спецификация и реализация протокола сетевого времени RFC 1059 (версия 1) , июль 1988 г.
  8. ^ RFC 1119 Network Time Protocol (версия 2), спецификация и реализация , сентябрь 1989 г.
  9. ^ RFC 1305 Network Time Protocol (Version 3) Specification, Implementation and Analysis , March 1992.
  10. ^ RFC 5905 Network Time Protocol Version 4: Protocol and Algorithms Specification , июнь 2010 г.
  11. ^ RFC 7822 Network Time Protocol Version 4 (NTPv4) Extension Fields , March 2016.
  12. ^ RFC 1361 Simple Network Time Protocol (SNTP) , август 1992 г.
  13. ^ RFC 1769 Simple Network Time Protocol (SNTP) , март 1995 г.
  14. ^ RFC 2030 Simple Network Time Protocol (SNTP) Version 4 for IPv4, IPv6 and OSI , October 1996.
  15. ^ RFC 4330 Простой протокол сетевого времени (SNTP) версии 4 для IPv4, IPv6 и OSI , январь 2006 г.
  16. ^ RFC 778 DCNET Internet Clock Service , апрель 1981 г.
  17. DL Mills (25 февраля 1981 г.), Синхронизация времени в хостах DCNET , заархивировано из оригинала 30 декабря 1996 г.
  18. ^ "TIMED (8)" , Руководство администратора системы UNIX , заархивировано из оригинала 22 июля 2011 г. , извлечено 12 сентября 2017 г.
  19. Дэвид Л. Миллс (октябрь 1991 г.). «Синхронизация времени в Интернете: сетевой протокол времени» (PDF) . Транзакции IEEE по коммуникациям . 39 (10): 1482–1493. DOI : 10.1109 / 26.103043 . Архивировано (PDF) из оригинала 10.06.2016 . Проверено 6 ноября 2017 .
  20. ^ "RFC 1305" . IETF: Инженерная группа Интернета . IETF. Архивировано 11 декабря 2019 года . Проверено 6 декабря 2019 . Процедура выбора часов была изменена, чтобы удалить первый из двух этапов сортировки / отбрасывания и заменить его алгоритмом, впервые предложенным Марзулло, а затем включенным в Цифровую службу времени. Эти изменения существенно не влияют на обычную работу или совместимость с различными версиями NTP, но они обеспечивают основу для формальных заявлений о правильности.
  21. Дэвид Л. Миллс (15 ноября 2010 г.). Синхронизация времени компьютерной сети: сетевой протокол времени на Земле и в космосе, второе издание . CRC Press. п. 377. ISBN. 978-1-4398-1464-2.
  22. ^ «Планы на будущее», Исследовательский проект по синхронизации времени в сети , заархивировано из оригинала 23 декабря 2014 г. , извлечено 24 декабря 2014 г.
  23. ^ "NTP нужны деньги: фонд - ответ?" . Информационная неделя . 23 марта 2015 года. Архивировано 10 апреля 2015 года . Проверено 4 апреля 2015 года .
  24. ^ «Судьба NTP зависит от« времени отца » » . Информационная неделя . 11 марта 2015 года. Архивировано 10 апреля 2015 года . Проверено 4 апреля 2015 года .
  25. ^ RFC 5905 , стр. 21 год
  26. ^ «Протокол сетевого времени: передовой технический документ» . Архивировано 1 октября 2013 года . Проверено 15 октября 2013 года .
  27. ^ " ' ntpq -p' вывод" . NLUG.ML1.co.uk . Архивировано 12 ноября 2018 года . Проверено 12 ноября 2018 .
  28. Дэвид Л. Миллс (12 мая 2012 г.). «Эпоха НПТ и нумерация эпох» . Архивировано 26 октября 2016 года . Проверено 24 сентября 2016 года .
  29. ^ В. Ричард Стивенс; Билл Феннер; Эндрю М. Рудофф (2004). Сетевое программирование UNIX . Эддисон-Уэсли Профессионал. С. 582–. ISBN 978-0-13-141155-5. Архивировано 30 марта 2019 года . Проверено 16 октября 2016 .
  30. ^ «Как NTP представляет время (синхронизация времени компьютерной сети)» . Архивировано 15 июня 2017 года . Проверено 20 июля 2018 .
  31. ^ "Взгляд на проблемы 2036/2038 года и устойчивость времени в различных системах" . Архивировано 21 июля 2018 года . Проверено 20 июля 2018 .
  32. ^ Презентация семинара по цифровым системам Университета Делавэра Дэвида Миллса, 2006-04-26
  33. ^ Gotoh, T .; Имамура, К .; Канеко, А. (2002). Улучшение смещения времени NTP в асимметричной сети методом двойных пакетов . Конференция по прецизионным электромагнитным измерениям. С. 448–449. DOI : 10,1109 / CPEM.2002.1034915 . ISBN 0-7803-7242-5.
  34. ^ "Pentest-Report NTP 01.2017" (PDF) . Вылечить53. 2017. Архивировано (PDF) из оригинала на 2018-12-01 . Проверено 3 июля 2019 .
  35. ^ "Протокол сетевого времени Версия 4: Спецификация протокола и алгоритмов" . Июнь 2010. с. 54. Архивировано 10 сентября 2012 года . Проверено 26 августа 2012 . Первичные серверы и клиенты, соответствующие подмножеству NTP, называемому Simple Network Time Protocol (SNTPv4) [...], не нуждаются в реализации алгоритмов смягчения [...] Полностью разработанная реализация NTPv4 предназначена для [.. .] серверы с несколькими серверами восходящего потока и несколькими серверами нисходящего потока [...] Помимо этих соображений, серверы и клиенты NTP и SNTP полностью совместимы и могут смешиваться [...]
  36. ^ Простой протокол сетевого времени (SNTP) версии 4 для IPv4, IPv6 и OSI . DOI : 10,17487 / RFC4330 . RFC 4330 .
  37. ^ «Технический справочник службы времени Windows» . technet.microsoft.com. 2011-08-17. Архивировано 06 сентября 2011 года . Проверено 19 сентября 2011 .
  38. ^ "Страница службы времени Windows на NTP.org" . Support.NTP.org . 2008-02-25. Архивировано 14 мая 2017 года . Проверено 1 мая 2017 .
  39. ^ «Как работает служба времени Windows» . technet.microsoft.com. 12 марта 2010 г. Архивировано 24 сентября 2011 года . Проверено 19 сентября 2011 .
  40. ^ a b «Граница поддержки для настройки службы времени Windows для сред с высокой точностью» . Microsoft . 2011-10-19. Архивировано 12 января 2009 года . Проверено 10 декабря 2008 .
  41. ^ Нед Пайл (2007-10-23). «Требования к высокой точности W32time» . Microsoft . Архивировано 17 октября 2012 года . Проверено 26 августа 2012 .
  42. ^ «Windows Server 2016 Точное время» . technet.microsoft.com . Архивировано 2 декабря 2016 года . Проверено 7 декабря 2016 .
  43. ^ Поул-Хеннинг, Камп. «20140926 - Игра со временем снова» . Велосипедный шатер PHK . Архивировано 20 декабря 2019 года . Дата обращения 4 июня 2015 .
  44. ^ Поул-Хеннинг, Камп. «Программа сетевой синхронизации времени, замена NTPD» . Файл README репозитория ntimed git . Github. Архивировано 2 августа 2015 года . Дата обращения 4 июня 2015 .
  45. ^ "Распространение протокола безопасного сетевого времени (NTPsec)" . Архивировано 13 января 2019 года . Проверено 12 января 2019 .
  46. Рианна Лиска, Аллан (10 декабря 2016 г.). Безопасность NTP: Краткое руководство . Апресс. С. 80–. ISBN 978-1-4842-2412-0.
  47. ^ "Pentest-Report NTPsec 01.2017" (PDF) . Вылечить53. 2017. Архивировано (PDF) из оригинала 2019-07-04 . Проверено 3 июля 2019 .
  48. ^ Lichvar, Miroslav (20 июля 2016). «Объединение PTP с NTP, чтобы получить лучшее из обоих миров» . Блог Red Hat Enterprise Linux . Красная шляпа . Архивировано из оригинала на 30 июля 2016 года . Проверено 19 ноября 2017 года . Начиная с Red Hat Enterprise Linux 7.0 (а теперь и в Red Hat Enterprise Linux 6.8), более универсальная реализация NTP также предоставляется через пакет chrony.
  49. ^ Лихтенхельд, Франк. «Пакет: хрони (2.1.1-1) [вселенная]» . Пакет Ubuntu . Пакет Ubuntu. Архивировано из оригинального 19 ноября 2017 года . Проверено 19 ноября 2017 года . Универсальная реализация протокола сетевого времени
  50. Оба, Дэвид. «Управляйте NTP с помощью Chrony» . Opensource.com . Архивировано 29 июня 2019 года . Проверено 29 июня 2019 .
  51. ^ Lichvar, Miroslav (18 сентября 2018). "chrony - chrony.conf (5)" . Хроний проект . Хроний проект . Дата обращения 2 августа 2020 . Эта директива включает аппаратную временную метку пакетов NTP, отправленных и полученных от указанного сетевого интерфейса.
  52. ^ Heiderich, Марио (август 2017). «Пентест-Отчет Хроны 08.2017» (PDF) . Команда Cure53.de . wiki.mozilla.org, также известный как MozillaWiki или WikiMO. Архивировано 5 октября 2017 года из оригинального (PDF) . Проверено 19 ноября 2017 года . Выдержка одиннадцати полных дней удаленного тестирования в августе 2017 года означает, что Chrony надежен, надежен и разработан с учетом требований безопасности.
  53. ^ «Обеспечение безопасности сетевого времени» . Инициатива по базовой инфраструктуре, совместный проект Linux Foundation . Инициатива по базовой инфраструктуре. 27 сентября 2017. Архивировано из оригинала 28 октября 2017 года . Проверено 19 ноября 2017 года . В общем, программное обеспечение Chrony NTP надежно и заслуживает доверия.
  54. ^ "хроны введение" . TuxFamily, некоммерческая организация . хрония. Архивировано из оригинала 9 декабря 2009 года . Проверено 19 ноября 2017 года . Программное обеспечение поддерживается в Linux, FreeBSD, NetBSD, macOS и Solaris.
  55. ^ Дэвид Миллс. «Шкала времени NTP и дополнительные секунды» . Архивировано 7 сентября 2013 года . Проверено 15 октября 2013 года .
  56. ^ "Google Developers Leap Smear" . Архивировано 4 апреля 2019 года . Проверено 4 апреля 2019 года .
  57. ^ «Уведомление о безопасности» . Support.NTP.org . 2009-12-10 . Проверено 12 января 2011 .
  58. ^ "Уязвимость пакета протокола сетевого времени программного обеспечения Cisco IOS" . Cisco Systems . 23 сентября 2009 года архивация с оригинала на 11 июня 2020 . Проверено 11 июня 2020 .
  59. ^ «Аудит кода» . Support.NTP.org . 2009-06-13 . Проверено 12 января 2011 .
  60. ^ "Уязвимости протокола сетевого времени (Обновление C) | ICS-CERT" . Ics-cert.us-cert.gov. Архивировано 20 декабря 2014 года . Проверено 15 апреля 2015 .
  61. Каннингем, Эндрю (23 декабря 2014 г.). «Apple автоматически исправляет Mac, чтобы исправить серьезную брешь в безопасности NTP» . arstechnica. Архивировано 15 апреля 2015 года . Проверено 29 апреля 2015 года .
  62. ^ Fairhead, Гарри (23 декабря 2014). «NTP - последняя проблема безопасности с открытым исходным кодом» . Я программист. Архивировано из оригинального 24 декабря 2014 года . Проверено 24 декабря 2014 .
  63. ^ Страница NTP SecurityNotice, заархивированная 19 февраля 2014 г. на Wayback Machine
  64. ^ Поиск продукта NVD NIST NTP
  65. ^ NVD NIST Поиск продукта NTPsec, архивирование 2020-06-26 на Wayback Machine
  66. ^ NVD NIST Product Search Chrony, архивировано 26 июня 2020 г. в Wayback Machine
  67. ^ «Аудит CII определяет наиболее безопасную реализацию NTP» . Фонд Linux. 28 сентября, 2017. Архивировано из оригинала на 2018-02-03 . Проверено 3 июля 2019 .
  68. ^ Протокол сетевого времени версии 4: Спецификация автоключей . IETF. Июнь 2010 г. doi : 10.17487 / RFC5906 . RFC 5906 .
  69. ^ «Анализ безопасности NTP» . Архивировано из оригинала 7 сентября 2013 года . Проверено 11 октября 2013 года .
  70. ^ Хосе Селви (2014-10-16). «Обход строгой транспортной безопасности HTTP» (PDF) . Архивировано из оригинального (PDF) 18 октября 2014 года . Проверено 16 октября 2014 .
  71. ^ Aanchal Малхотра; Исаак Э. Коэн; Эрик Бракке и Шэрон Голдберг (20 октября 2015 г.). «Атака на сетевой протокол времени» (PDF) . NDSS . Архивировано из оригинального (PDF) 22 октября 2015 года . Проверено 27 октября 2015 года .
  72. ^ «Атака сетевого протокола времени» . www.cs.bu.edu . Архивировано из оригинала на 2015-10-24 . Проверено 27 октября 2015 .
  73. ^ Goodin, Дэн (2014-01-13). «Новые DoS-атаки, разрушающие игровые сайты, вызывают наводнения на 100 Гбит / с» . Ars Technica . Архивировано 24 января 2014 года . Проверено 25 января 2014 .
  74. ^ Ли, Дэйв (2014-02-11). «Огромный взлом« Уродливое предзнаменование будущего »от интернет-угроз» . BBC. Архивировано 11 февраля 2014 года . Проверено 12 февраля 2014 .
  75. ^ «DRDoS / Amplification Attack с использованием команды ntpdc monlist» . support.NTP.org . 2010-04-24. Архивировано 30 марта 2014 года . Проверено 13 апреля 2014 .

Дальнейшее чтение [ править ]

  • Определения управляемых объектов для протокола сетевого времени версии 4 (NTPv4) . DOI : 10,17487 / RFC5907 . RFC 5907 .
  • Опция сервера протокола сетевого времени (NTP) для DHCPv6 . DOI : 10,17487 / RFC5908 . RFC 5908 .

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Официальный список одноразовых серверов Stratum
  • Рабочая группа IETF NTP
  • Руководство по точному времени Microsft для Windows и многое другое
  • Бумага времени и NTP
  • Обзор NTP 2005 г.
  • Текущий файл дополнительных секунд NIST, совместимый с ntpd
  • Дэвид Л. Миллс, Краткая история времени NTP: Признания интернет-хронометриста (PDF) , получено 2021-02-07.