Первый стабильный релиз NTPsec, защищённого форка NTPD
NTPsec 1.0 подвёл итог двух с половиной лет работы над проектом и позиционируется как первый выпуск, пригодный для промышленного внедрения. В ходе работы кодовая база была сокращена на 76% от состояния в момент форка - число строк кода уменьшилось со 178 тысяч до 55 тысяч, в основном за счёт чистки устаревших возможностей, неактуальных платформ и необязательных инструментов. Уменьшение кодовой базы позволило избавиться от кода, связанного с 75% из уязвимостей, выявленных в классическом NTPD. При этом проект остался полностью совместим с классическим пакетом NTP и использует те же алгоритмы.
Кроме чистки также проведена переработка внутренностей и внедрены передовые техники предотвращения атак. Совместно с организацией IETF ведётся работа по разработке нового стандарта NTS (Network Time Security) для безопасной синхронизации времени. Из улучшений отмечается работа по увеличению точности учёта времени, расширение средств мониторинга и статистики, модернизация синтаксиса файла конфигурации, сокращение времени запуска.
В выпуске NTPsec 1.0 также представлен режим автономной работы, при котором используются только локальные источники времени без обращения к внешним серверам и GPS. Новый режим позволяет создавать самодостаточные серверы для окружений повышенной защищённости, которые никак не контактируют в внешним миром и исключают проведение атаки в момент синхронизации с другими NTP-серверами.
Среди других особенностей проекта:
- Все функции работы с памятью и строками заменены на защищённые аналоги, не допускающие переполнения буфера.
- Поставляемые в комплекте экземпляры libevent2 заменены на внешние зависимости.
- Удалены неиспользуемые компоненты библиотек ISC.
- Осуществлён переход к манипуляции наносекундными отрезками времени вместо микросекунд.
- Исправлены ошибки, выявленные при использовании статических анализаторов.
- C целью унификации их имён изменены названия утилит: sntp переименован в ntpdig, ntp-keygen в ntpkeygen, ntp-wait в ntpwait, update-leap в ntpleapfetch;
- Из состава исключён демон ntpsnmpd, который не соответствует RFC 5907;
- Удалены утилиты ntpdc, вместо которых следует использовать ntpq;
- Прекращена поддержка устаревших типов эталонных часов;
- Добавлена новая утилита ntpfrob, предоставляющая средства для диагностики и тонкой настройки локального хронометра.
- Вместо программы ntpdate предложена shell-обвязка над утилитой ntpdig.
- Вывод часов приведён в соответствие с форматом ISO8601.
Источник: http://www.opennet.ru/opennews/art.shtml?num=47362
|
0 | Tweet | Нравится |
|