Представлен релиз переносимой редакции системы синхронизации точного времени OpenNTPD 6.1p1, развиваемой проектом OpenBSD. Версия OpenNTPD 6.1 позиционируется как стабильная и входит в состав релиза OpenBSD 6.1. Одновременно сформирован выпуск OpenNTPD 6.2p1, который рассматривается как экспериментальная база для развития новых возможностей для OpenBSD 6.2.
OpenNTPD обеспечивает поддержку протокола NTP в соответствии с RFC 1305 (NTP, Network Time Protocol) и RFC 5905 (SNTP, Simple Network Time Protocol). Поддерживается как синхронизация локального времени с удалённым NTP-сервером, так и работа в роли NTP-сервера, который в том числе может получать точное время от специального оборудования через sensorsd(8). Настройка осуществляется через файл конфигурации
ntpd.conf. Работа OpenNTPD проверена в Linux, FreeBSD, Solaris и macOS.
В отличие от остальных реализаций, OpenNTPD развивается с первичной оглядкой на обеспечение безопасности и обладает только самым необходимым набором возможностей (простой и понятный для аудита код). Для дополнительной защиты в OpenNTPD применяется механизм разделения привилегий, разделяющий работу непривилегированного кода обработки сетевых соединений от привилегированного кода установки времени. Демон ntpd запускается в отдельном изолированном chroot-окружении. Реализация кода определения имён через DNS работает в асинхронном режиме, т.е. определение имени будет выполнено даже если демон стартовал в момент, когда не было доступно сетевое соединение.
Основные изменения в OpenNTPD 6.1:
- Для запуска дочерних процессов ntpd задействован fork+exec;
- Добавлены предупреждения об ограничении попыток подключения;
- Устранены проблемы с надёжностью межпроцессного взаимодействия через imsg;
- Устранены утечки памяти и сокращено потребление памяти из кучи;
- Улучшена система ведения лога;
- Для платформы macOS 10.12 задействован вызов getentropy;
- Переработан чёрный список систем, не поддерживающих вызов arc4random. По возвожности теперь используются штатные системные реализации arc4random;
- В OpenNTPD 6.2 в ntpd.conf добавлена опция "query from {ip}", через которую можно задать локальный IP-адрес для отправки исходящих NTP-запросов.
|