Синхронизировать время по сети что это

Настройка синхронизации времени с сервером

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

NTP-протокол синхронизации времени по сети даёт возможность настроить оборудование прямо через Интернет. Фактически процедура сводится в нескольким этапам: клиент запрашивает время на сервере и использует полученную информацию для часов на собственном оборудовании.

Особенности синхронизации времени с NTP-сервером

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

Серверы 1 уровня подключены непосредственно к атомным часам и обеспечивают максимально точную информацию. Серверы 2 и 3 уровней работают от серверов 1 уровня и могут выдавать информацию с небольшими погрешностями, которые неактуальны для обычных пользователей, но могут оказаться существенными для промышленных и специализированных систем.

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

Специальные сервисы по синхронизации времени постоянно контролируют точность хода часов на оборудовании и корректируют данные при необходимости. Работа таких сервисов не требует большой мощности процессора и не занимает много оперативной памяти.

Синхронизировать время по сети что это. Смотреть фото Синхронизировать время по сети что это. Смотреть картинку Синхронизировать время по сети что это. Картинка про Синхронизировать время по сети что это. Фото Синхронизировать время по сети что этоЧтобы синхронизировать время с NTP-сервером, необходимо выбрать источник. Процедура стандартной настройки синхронизации времени с сервером точного времени состоит из следующих действий:

Служба времени после вышеуказанных действий начнёт синхронизацию времени с указанным внешним источником. Установленный внешний сервер точного времени можно посмотреть с помощью записи в командной строке C:\>w32tm /query /configuration.

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

Источник

Как работает синхронизация времени в интернете

Можно ли синхронизировать свой комп по атомным часам

В прошлый раз мы рассказали, какие сложности могут ждать программистов, когда они пишут код для работы со временем. Сегодня перейдём на более сложный уровень: как компьютеры и другие устройства синхронизируют время между собой.

Зачем нужна синхронизация

От того, какое на компьютере установлено время, зависит многое:

В целом единственный случай, когда не нужна синхронизация, — когда компьютер работает независимо от сети, а результаты его вычислений не связаны со временем. В остальных случаях синхронизация полезна.

Как работает синхронизация

В общем виде синхронизация времени работает так:

Это всё повторяется с какой-то периодичностью — раз в час, раз в день или с любым другим интервалом.

Что такое NTP

NTP — это сокращение от Network Time Protocol, что переводится как «протокол сетевого времени».

Протокол спроектирован так, чтобы заниматься только синхронизацией времени. Для этого используются пакеты объёмом всего 48 байт, причём 24 из них заполняет устройство, а 24 — сервер. Это значит, что для точности в 0,01 секунды достаточно один раз получить и передать 48 символов. Если размер пакета сделать слишком большим, то задержки при передаче будут больше и может пострадать точность синхронизации.

Для работы NTP нужен сервер точного времени, который ответит на наш запрос. Сервер всегда знает, какое сейчас время, и моментально реагирует на каждый запрос.

Синхронизировать время по сети что это. Смотреть фото Синхронизировать время по сети что это. Смотреть картинку Синхронизировать время по сети что это. Картинка про Синхронизировать время по сети что это. Фото Синхронизировать время по сети что этоВ операционной системе Windows точное время берётся с сервера time.windows.com Синхронизировать время по сети что это. Смотреть фото Синхронизировать время по сети что это. Смотреть картинку Синхронизировать время по сети что это. Картинка про Синхронизировать время по сети что это. Фото Синхронизировать время по сети что этоУ компании Apple сервер точного времени — time.apple.com

Какие бывают серверы синхронизации

В протоколе NTP есть несколько классов серверов точного времени, в зависимости от точности. Эти классы называются Stratum, а цифра после названия показывает уровень сервера по отношению к самому точному времени.

Stratum 1 — самые точные серверы, которые могут учитывать время с точностью в одну триллионную долю секунды. Они получают время напрямую от атомных часов либо от сервисов GRS или «Глонасс». Для запуска и обслуживания такого сервера нужно сложное оборудование, поэтому серверов первого уровня в мире мало. Большинство из них не отвечает на запросы от обычных пользователей и обслуживает только другие серверы уровнем пониже.

Stratum 2 — серверы точного времени второго уровня. Они получают данные от серверов первого уровня и работают с погрешностью примерно 0,001 секунды. Такие серверы уже могут отвечать на большинство запросов и обслуживать серверы поменьше.

Stratum 3 получают данные от серверов второго уровня, и тут уже точность может падать до 0,05 секунды. Дальше идут уровни 4, 5 и так далее, ограничений снизу нет.

Синхронизировать время по сети что это. Смотреть фото Синхронизировать время по сети что это. Смотреть картинку Синхронизировать время по сети что это. Картинка про Синхронизировать время по сети что это. Фото Синхронизировать время по сети что это

Какая точность нужна для синхронизации

Если вам просто нужно «обычное» точное время с точностью до секунды (например, на телефоне или в часах), то подойдёт любой сервер синхронизации времени. Обычно это будут сервера Stratum 3, потому что их больше всего.

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

Если же вам нужна точность 0,001 секунды или выше — договаривайтесь с владельцем сервера первого уровня или создавайте свой сервер.

Источник

Синхронизация времени через Интернет

Синхронизировать время по сети что это. Смотреть фото Синхронизировать время по сети что это. Смотреть картинку Синхронизировать время по сети что это. Картинка про Синхронизировать время по сети что это. Фото Синхронизировать время по сети что этоБольшинство людей в своей жизни не задумываются над тем, насколько точны их часы. В быту точность времени не имеет значения, однако в некоторых ситуациях расхождение даже в 1 секунду может сильно повлиять на событие. Синхронизировать часы своего компьютера или другого устройства с источником точного времени можно через интернет.

Необходимость синхронизации

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

Как осуществляется

Синхронизация временных показателей через интернет осуществляется по особому сетевому протоколу NTP. Протокол включает набор директив и алгоритмов, позволяющих настроить часы с погрешностью в доли секунды. Технология трансляции временных показателей имеет многоступенчатую структуру, в которой каждый последующий уровень устройств сверяется с предыдущим. Первичный сигнал со спутника подаётся для синхронизации данных на сервер точного времени, который уже передаёт информацию клиентским устройствам через сеть. Примером такого сервера является разработка от «КОМСЕТ-сервис» – «ССВ-1Г».

Если вы хотите синхронизировать часы своего компьютера с сервером времени, нужно выполнить ряд простых шагов:

Источник

О точном времени

Синхронизировать время по сети что это. Смотреть фото Синхронизировать время по сети что это. Смотреть картинку Синхронизировать время по сети что это. Картинка про Синхронизировать время по сети что это. Фото Синхронизировать время по сети что этоК сервису синхронизации времени по протоколу NTP все уже привыкли — оно включено по умолчанию или легко включается для большинства популярных операционных систем. Однако какая точность при этом достигается? Какие бывают сервера точного времени, и с какими можно работать простым смертным? Какие есть подводные камни, и как выбрать «правильные» сервера времени?

Типы серверов

Сервера бывают Stratum 1 и 2, 3(выше редко).

«Простым» смертным обращаться к Stratum-1 серверам строго запрещено, т.к. нагрузка на них и так очень большая (а на многие Stratum-1 сервера вообще нет публичного доступа). Считается что вы можете подключаться к Stratum-1 серверам или просить доступ к ним, если вы держите NTP сервер, обслуживающий не менее 100 клиентов. Полный список серверов можно увидеть тут: support.ntp.org/bin/view/Servers/StratumOneTimeServers. Естественно, желательно подключатся к серверам в своей стране.

Stratum 2 — получают точное время от Stratum-1 серверов. При правильной настройке и выборе серверов-источников точного времени имеют погрешность менее 1мс. Подключатся обычно можно всем, но многие сервера регулярно умирают от нагрузки (например time.windows.com). www.pool.ntp.org поддерживает round-robin списки публичных Stratum-2 NTP серверов. Таким образом обеспечивается балансировка нагрузки, и они практически всегда доступны. Подключиться к этим серверам можно по адресам 0.ru.pool.ntp.org 1.ru.pool.ntp.org 2.ru.pool.ntp.org и 3.ru.pool.ntp.org (это для России, выбираются случайно из списка

Stratum 3 — получают время от Stratum-2 серверов, и т.д.

Практическая точность

Stratum-1
Это график разницы системного времени с временем полученным со Stratum-1 серверов (canonical.com — Stratum-2 сервер, для сравнения).
*.nist.gov — расположены в США, из-за «большого» пинга иногда случаются жуткие «выбросы». Ошибка с Российских Stratum-1 серверов обычно укладыватся в +- 1 мс.
Синхронизировать время по сети что это. Смотреть фото Синхронизировать время по сети что это. Смотреть картинку Синхронизировать время по сети что это. Картинка про Синхронизировать время по сети что это. Фото Синхронизировать время по сети что это

Stratum-2
Это — разница с Stratum-2 серверами: 4 из Российского пулла, 1 из европейского, дефолтный сервер времени убунты (europium.canonical.com), и те же *.nist.gov:
Синхронизировать время по сети что это. Смотреть фото Синхронизировать время по сети что это. Смотреть картинку Синхронизировать время по сети что это. Картинка про Синхронизировать время по сети что это. Фото Синхронизировать время по сети что это
Сразу бросаются в глаза сервера, имеющие постоянную ошибку до 20 мс.

Резюме

PS. Кстати, по умолчанию в Ubuntu синхронизация времени происходит один раз при загрузке системы. Если аптайм под полгода — время может сильно уехать. Устанавливаете ntpd — он корректирует время постоянно и «плавно» (без резких рывков, «размазывая» замедление/ускорение времени). В Windows синхронизация происходит раз в сутки неделю одним «скачком», что может вызвать сложности при обработке логов, если набежала большая разница.

Товарищи!

Даешь большое публичных NTP серверов в России! Особенно Stratum-1 (с ними вообще у нас напряженка, 2-3 штуки на весь exUSSR). Кстати, точное время можно брать и с Глонасс, кто возьмётся запустить первый Глонасс-powered сервер?

PPS. Не могу понять, в какой блог перенести, подскажите 🙂

Источник

Как синхронизация времени стала безопасной

Синхронизировать время по сети что это. Смотреть фото Синхронизировать время по сети что это. Смотреть картинку Синхронизировать время по сети что это. Картинка про Синхронизировать время по сети что это. Фото Синхронизировать время по сети что это

Как сделать так, чтобы время per se не врало, если у вас есть миллион больших и малых устройств, взаимодействующих по TCP/IP? Ведь на каждом из них есть часы, а время должно быть верным на всех. Эту проблему без ntp невозможно обойти.

Представим себе на одну минуту, что в одном сегменте промышленной ИТ инфраструктуры возникли трудности с синхронизацией сервисов по времени. Немедленно начинает сбоить кластерный стек Enterprise ПО, распадаются домены, мастера и Standby узлы безуспешно стремятся восстановить status quo.

Возможна также ситуация, когда злоумышленник намеренно старается сбить время через MiTM, или DDOS атаку. В такой ситуации может произойти все что угодно:

Сломать NTP за 25 минут

Сетевые протоколы — милленниалы имеют одну особенность, они давно устарели и никуда уже не годятся, но заменить их не так-то легко даже тогда, когда набирается критическая масса энтузиастов и финансирования.

Основная претензия к классическому NTP в отсутствии надежных механизмов защиты от атак злоумышленников. Предпринимались разнообразные попытки решить эту проблему. Для этого сначала внедрили механизм заранее установленных ключей (PSK) для обмена симметричными ключами.

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

Тогда придумали AutoKey, но сразу же в нем обнаружили ряд серьезных уязвимостей в самом дизайне алгоритма и от него пришлось отказаться. Все дело в том, что начальное число (seed) содержит всего лишь 32-бита, оно слишком мало и не содержит достаточно вычислительной сложности для лобовой атаки.

Где H() — криптографическая хэш функция.

Для расчета контрольной суммы пакеты используется та же функция.

Так получается, что вся целостность проверок пакетов держится на аутентичности кукис. Завладев ими, можно восстановить autokey и затем подделать MAC. Однако сервер NTP при их генерации использует начальное число (seed). Именно тут кроется подвох.

Функция MSB_32 отрезает от результата вычисления md5 хэша 32 старших бита. Клиентский куки не меняется до тех пор, пока параметры сервера неизменны. Дальше злоумышленнику остается лишь восстановить начальное число и получить возможность самостоятельно генерить куки.

Для начала следует подключиться к серверу NTP в качестве клиента и получить куки. После этого методом перебора злоумышленник восстанавливает начальное число следуя простому алгоритму.

Алгоритм атаки на вычисление начального числа методом перебора.

IP адреса известны, так что остается лишь создать 2^32 хэша до тех пор пока созданный куки не совпадет с тем, что получен от NTP сервера. На обычной домашней станции с Intel Core i5 на это уйдет 25 мин.

NTS — новый Autokey

Мириться с такими дырами в безопасности Autokey было невозможно и в 2012 г. появилась новая версия протокола. В целях скомпрометированного названия решили провести ребрендинг, так Autokey v.2 окрестили Network Time Security.

Протокол NTS является расширением безопасности NTP и в настоящее время поддерживает лишь одноадресный режим (unicast). Он дает надежную криптографическую защиту от манипуляций пакетами, предотвращает отслеживание, хорошо масштабируется, устойчив к потере сетевых пакетов и приводит к наименьшим потерям точности, возникающим в процессе защиты соединения.

NTS соединение состоит из двух этапов, в которых используются протоколы нижнего уровня. На первом этапе клиент и сервер договариваются о различных параметрах соединения и обмениваются куки, содержащими ключи со всем сопутствующим набором данных. На втором этапе происходит собственно защищенный NTS сеанс между клиентом и сервером NTP.

Синхронизировать время по сети что это. Смотреть фото Синхронизировать время по сети что это. Смотреть картинку Синхронизировать время по сети что это. Картинка про Синхронизировать время по сети что это. Фото Синхронизировать время по сети что это

NTS состоит из двух протоколов нижнего уровня: Network Time Security Key Exchange (NTS-KE), инициализация безопасного соединения поверх TLS, и NTPv4 — последней инкарнации протокола NTP. Чуть подробнее об этом ниже.

Первый этап — NTS KE

На данном этапе NTP клиент инициирует TLS 1.2/1.3 сеанс по отдельному TCP соединению с сервером NTS KE. Во время этой сессии происходит следующее.

Второй этап — NTP под защитой NTS

На втором этапе клиент безопасно синхронизирует время с NTP сервером. Для этой цели он передает четыре специальных расширения (extension field) в структуре NTPv4 пакета.

Получив запрос от клиента, сервер проверяет подлинность NTP пакета. Для этого он должен расшифровать куки, извлечь алгоритм AAED и ключи. После успешной проверки NTP пакета на валидность сервер отвечает клиенту в следующем формате.

NTPSec

В чем особенность NTP? Несмотря на то, что автор проекта Dave Mills старался как можно лучше документировать свой код, редкий программист сумеет разобраться в хитросплетениях алгоритмов синхронизации времени 35-детней давности. Часть кода написана до эпохи POSIX, а Unix API тогда сильно отличался от того, что используется в наши дни. Кроме того, нужны знания по статистике, чтобы очистить сигнала от помех на шумных линиях.

NTS была не первой попыткой починить NTP. После того, как злоумышленники научились использовать уязвимости NTP для усиления DDoS атак, стало ясно, что нужны радикальные перемены. И пока готовились и доводились до ума черновики NTS, National Science Foundation США в конце 2014 г. срочно выделил грант на модернизацию NTP.

Рабочую группу возглавил не абы кто, а Эрик Стивен Реймонд — один из основателей и столпов сообщества Open Source и автор книги Собор и Базар. Первым делом Эрик со товарищи попробовали перенести код NTP из платформы BitKeeper на git, но не тут-то было. Лидер проекта Harlan Stenn был против этого решения и переговоры зашли в тупик. Тогда было решено форкнуть код проекта, так возник NTPSec.

Солидный опыт, в том числе работа над GPSD, математический бэкграунд и магический навык чтения древнего кода — Эрик Реймонд был именно тем хакером, который мог вытащить такой проект. В команде нашелся специалист по миграции кода и всего за 10 недель NTP обосновалсяна GitLab-е. Работа закипела.

Команда Эрика Раймонда взялась за дело так же, как Огюст Роден при работе с глыбой камня. Удалив 175 KLOC старого кода, им удалось значительно сократить площадь атаки, закрыв множество дыр безопасности.

Вот неполный список попавших под раздачу:

Chrony

Была еще одна попытка заменить старый NTP более безопасный аналог. Chrony в отличие от NTPSec написан с нуля и предназначен для надежной работы в широком диапазоне условий, включая нестабильные сетевые соединения, частичная доступность или перегрузки сети и изменения температуры. Кроме того chrony обладает и другими преимуществами:

Для отключения функциональности сервера и NTP запросов к процессу chronyd достаточно прописать port 0 в файл chrony.conf. Это делается в тех случаях, когда нет нужды обслуживать время для NTP клиентов или одноранговых узлов. Начиная с версии 2.0, порт сервера NTP открыт только в тех случаях, когда доступ разрешен директивой allow или соответствующей командой, либо же настроен одноранговый узел NTP, или используется директива broadcast.

Программа состоит из двух модулей.

Как настроить собственный удаленный сервер chrony в интернете для синхронизации времени в офисной сети. Далее пример настройки на VPS.

Пример настройки Chrony на RHEL / CentOS на VPS

Давайте теперь немного потренируемся и поднимем свой собственный NTP сервер на VPS. Это очень просто, достаточно выбрать подходящий тариф на сайте RuVDS, получить готовый сервер и набрать с десяток несложных команд. Для наших целей вполне подойдет такой вариант.

Синхронизировать время по сети что это. Смотреть фото Синхронизировать время по сети что это. Смотреть картинку Синхронизировать время по сети что это. Картинка про Синхронизировать время по сети что это. Фото Синхронизировать время по сети что это

Переходим к настройке сервиса и первым делом ставим пакет chrony.

RHEL 8 / CentOS 8 используют другой пакетный менеджер.

После установки chrony нужно запустить и активировать сервис.

При желании можно внести правки в /etc/chrony.conf, заменив сервера NPT на ближайшие локальные для сокращения времени отклика.

Далее настраиваем синхронизацию NTP сервера с узлами из указанного пула.

Необходимо также открыть наружу NTP порт, иначе межсетевой экран будет блокировать входящие соединения от клиентских узлов.

На стороне клиента достаточно правильно выставить часовой пояс.

В файле /etc/chrony.conf указывает IP или название хоста нашего VPS сервера, на котором запущен NTP server chrony.

И наконец запуск синхронизации времени на клиенте.

В следующий раз расскажу, какие есть варианты синхронизации времени без интернета.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *