В рамках проекта NTPsec создан защищённый форк NTPD
Первый бета-выпуск NTPsec пока содержит не все задуманные возможности, а поддерживаемые платформы ограничены Linux и FreeBSD, но базовая функциональность по синхронизации времени работает вполне стабильно, проект полностью совместим с классическим пакетом NTP и использует те же алгоритмы. Изменения в NTPsec в основном касаются переработки внутренностей с внедрением передовых техник предотвращения проведения атак. Например, все функции работы с памятью и строками заменены на защищённые аналоги, не допускающие переполнения буфера. Поставляемые в комплекте экземпляры libevent2 заменены на внешние зависимости. Удалены неиспользуемые компоненты библиотек ISC. Осуществлён переход к манипуляции наносекундными отрезками времени вместо микросекунд. Исправлены ошибки, выявленные при тестировании в системе Coverity.
Из изменений, заметных пользователю, отмечается переименование утилит с целью унификации их имён (sntp переименован в ntpdig, ntp-keygen в ntpkeygen, ntp-wait в ntpwait, update-leap в ntpleapfetch), удаление демона ntpsnmpd (не соответствует RFC 5907) и утилиты ntpdc (следует использовать ntpq), прекращение поддержки устаревших типов эталонных часов. Добавлена новая утилита ntpfrob, предоставляющая средства для диагностики и тонкой настройки локального хронометра. Вместо программы ntpdate предложена shell-обвязка над утилитой ntpdig. Вывод часов приведён в соответствие с форматом ISO8601.
Из планов на будущее отмечается подготовка полнофункционального тестового набора, чистка кодовой базы от устаревших возможностей, полная поддержка IPv6, переход к модульной системе с выделением подсистемы управления часами в компонент refclockd, который будет отделён от алгоритмов синхронизации времени.
Напомним, что для разрешения ситуации с плачевным уровнем безопасности эталонного NTPD уже предпринято несколько инициатив - OpenNTPD от проекта OpenBSD и Ntimed от организации Network Time Foundation, так же курирующей основной проект NTPD. В обоих проектах переработка NTPD с целью повышения безопасности была признана затруднительной из-за большой раздутости кодовой базы (более 300 тысяч строк), что затрудняет проведение полного аудита и переработку (проще оказалось написать новый NTP-сервер с нуля).
Источник: http://www.opennet.ru/opennews/art.shtml?num=43350
|
0 | Tweet | Нравится |
|