Проект OpenBSD выпустил NTP-сервер OpenNTPD 5.7p4
Представлен релиз переносимой редакции системы синхронизации точного времени OpenNTPD 5.7p4, развиваемой проектом OpenBSD. OpenNTPD обеспечивает поддержку протокола NTP в соответствии с RFC 1305 (NTP, Network Time Protocol) и RFC 5905 (SNTP, Simple Network Time Protocol). Поддерживается как синхронизация локального времени с удалённым NTP-сервером, так и работа в роли NTP-сервера, который в том числе может получать точное время от специального оборудования через sensorsd (8). Настройка осуществляется через файл конфигурации ntpd.conf. Работа OpenNTPD 5.7p4 проверена в Linux, FreeBSD, Solaris и OS X. В отличие от остальных реализаций, OpenNTPD развивается с первичной оглядкой на обеспечение безопасности и обладает только самым необходимым набором возможностей (простой и понятный для аудита код). Для дополнительной защиты в OpenNTPD применяется механизм разделения привилегий, разделяющий работу непривилегированного кода обработки сетевых соединений от привилегированного кода установки времени. Демон ntpd запускается в отдельном изолированном chroot-окружении. Реализация кода определения имён через DNS работает в асинхронном режиме, т.е. определение имени будет выполнено даже если демон стартовал в момент, когда не было доступно сетевое соединение.
Новый выпуск примечателен возможностью косвенной аутентификации серверов NTP путём проверки ответов от NTP-сервера через обращение к заслуживающим доверия HTTPS-серверам, время на которых синхронизировано со временем проверяемого NTP-сервера. Суть метода сводится к отправке дополнительного запроса к HTTPS-серверу и использовании значения HTTP-заголовка Date в качестве приблизительного времени, которое заслуживает доверия. Если фиксируется аномальное отклонение от значения, полученного при обращении к NTP-серверу, то синхронизация времени может быть отклонена в подозрении подмены NTP-сервера в результате MITM-атаки. Из-за сетевых задержек точности передачи времени через заголовок Date недостаточно для использования в качестве источника для синхронизации времени, но данное время вполне пригодно для оценки степени отклонения от параметров, выдаваемых по NTP.
Кроме того в новом выпуске добавлен обходной путь решения проблем с наводнением лога сообщениями о ресинхронизации в Solaris и реализована защита от переполнения 32-разрядных счётчиков с типом time_t в случае ошибочной установки системных часов на дату позднее 2036 года.
© OpenNet