След повече от година разработка е публикувано издание на сървъра за синхронизация на точно време 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.
Източник: opennet.ru
