Выпуск NTP-сервера NTPsec 1.2.4
После более года разработки опубликован выпуск сервера синхронизации точного времени NTPsec 1.2.4. Проект был создан как форк эталонной реализации протокола NTPv4 (NTP Classic 4.3.34), сфокусированный на переработке кодовой базы с целью повышения безопасности. Исходный код NTPsec распространяется под лицензиями BSD, MIT и NTP.
NTPsec развивается под руководством Эрика Реймонда (Eric S. Raymond) при участии некоторых разработчиков оригинального NTP Classic, инженеров из компаний Hewlett Packard и Akamai Technologies, а также проектов GPSD и RTEMS. Из отличий от NTP Classic выделяется добавление поддержки протокола NTS (Network Time Security), сокращение размера кодовой базы более чем в два раза (удалены устаревшие возможности и неактуальные платформы), реализация режима автономной работы, задействование методов предотвращения атак (например, фильтрация системных вызовов), переход на защищённые функции для работы с памятью и строками.
В новой версии:
- Добавлена настройка "extra port xxxx" для приёма запросов на дополнительном сетевом порту, помимо основного порта, настраиваемого через "nts port xxxx". Дополнительный порт может быть полезен для обхода блокировок обращения к внешним NTP-серверам, выставленных на межсетевых экранах.
- Добавлена поддержка сборки на Linux-системах с архитектурой armhf.
- Обеспечена поддержка работы ntpd на системах в режиме FIPS.
- Система сборки Waf обновлена до версии 2.1.4. В Debian установка утилит, написанных на Python, таких как ntpq и ntpmon, теперь осуществляется в каталог "/usr/local/lib/python3.xx/site-packages", а не в "/usr/local/lib/python3.xx/dist-packages". В команде "waf install" включено тестирование устанавливаемых исполняемых файлов, а через команду "waf configure --enable-Werror" теперь можно включить обработку предупреждений компилятора как ошибок.
- В качестве минимальной версии Python заявлен выпуск 2.7. Поддержку Python 2 планируют прекратить в следующей версии.
- По умолчанию применена опция "--disable-fuzz", отключающая механизм "Clock fuzzing" (внесение миллисекундных случайных смещений в отдаваемое клиентам время, не влияющих на общую точность, но не позволяющих злоумышленникам предсказать фактическое значение времени).
- Удалены остатки кода, связанного с работой в режимах broadcast и multicast.
- В ntpdig добавлена опция для привязки к указанному IP-адресу.
- В конфигурацию NTS-KE добавлена опция для настройки списка предпочтительных алгоритмов шифрования для TLS.
- Вместо ntp_adjtime задействован вызов ntp_gettime.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63103