The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск NTP-сервера NTPsec 1.2.4

19.04.2025 09:30

После более года разработки опубликован выпуск сервера синхронизации точного времени 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.


  1. Главная ссылка к новости (https://blog.ntpsec.org/2025/0...)
  2. OpenNews: Доступен NTP-сервер NTPsec 1.2.3
  3. OpenNews: Let's Encrypt перешёл на NTP-сервер ntpd-rs, написанный на языке Rust
  4. OpenNews: Проект OpenBSD опубликовал NTP-сервер OpenNTPD 6.8p1
  5. OpenNews: Выпуск ntpd 4.2.8p9 с устранением уязвимостей
  6. OpenNews: Представлен NTP-сервер Ntimed, который будет развиваться параллельно с NTPD
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/63103-ntpsec
Ключевые слова: ntpsec, ntp
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (36) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, YetAnotherOnanym (ok), 09:45, 19/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    C - 71.6%, Python - 26.4%. Что может заставлять писать на питоне людей, умеющих писать на Си?
     
     
  • 2.3, Аноним (3), 10:19, 19/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну не на расте же писать. А простой и понятный большинству язык программирования.
    А это уже не тысяча глаз, а миллион глаз.
     
  • 2.5, jTzzzz (ok), 10:56, 19/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Лаконичный синтаксис. Хотя это спорно, у всех вкусы разные. Богатый выбор библиотек. В итоге скорость разработки существенно повышается. Особенно хорошо это работает для прототипирования, когда нужно быстро проверить идею, чтобы понять, рабочая она или нет. И затем уже усложнять, если да и если это нужно. Буквально 5 минут назад как раз была похожая дилемма. Написать на си или на питоне? Ну думаю, если я напишу на си, то оно будет работать раз в 10 быстрее. А нужна мне такая скорость в рамках задачи ценой нескольких часов переписывания модуля на си? Нет. Если только медальку на грудь повесить и гордиться ею. И так для большинства задач. А так бы с радостью побайто*бил :D
     
     
  • 3.6, YetAnotherOnanym (ok), 11:40, 19/04/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > для прототипирования, когда нужно быстро

    DNF - хороший пример того, как быстрое написание прототипа на питоне привязало продукт к питону больше чем на десятилетие. Одно дело - решить здесь и сейчас задачку, которая в будущем или совсем больше не понадобится, или будет востребована изредка. И совсем другое - софт, который будет использоваться широко и постоянно, такой как NTPsec.

     
     
  • 4.7, jTzzzz (ok), 11:51, 19/04/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да, но это уже вопрос понимания отдельными разработчиками контекста. Вопрос того, насколько они могут и хотят смотреть далеко в будущее. Ты свой вопрос поставил в общей форме, я тебе в общей форме и отвечаю. А что там какой-то конкретный разработчик где-то что-то недодумал или забил на что-то болт, это уже не проблема питона как языка или экосистемы. С таким же успехом прототип мог бы быть написан на пхп, ноде или руби.
     
  • 4.15, Аноним (15), 13:44, 19/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, вот, вроде 5-ка уже на Си переписана? И в 41-й Федоре выкатили... Стало работать ощутимо быстрее? Нет, не почувствовал. Все равно там в ИО все упирается. Зато табличка перед подтверждением изменений стала трешовой... Читаемость в разы упала. И плагины не все перенесли из 4-ки. Нужного не оказалось. Лучше бы оно на Питоне оставалось.
     
     
  • 5.25, Аноним (25), 15:56, 19/04/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    подозреваю , что на питоне, где совместимость легко ломают в минорной версии, сопровождать стало весьма трудно
     
  • 3.18, OpenEcho (?), 14:35, 19/04/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > В итоге скорость разработки существенно повышается.

    Всё верно, только один маленький нюанс, - питон это интерпритатор, со всеми его болезнями, - в ходе развития языка, вносятся обратно не совместимые изменения и привет програме написанной на чудо языке. Извращения с PyInstaller, Cpython, Nuitka, cx_Freeze, PyOxidizer... оставим в стороне, т.к. это классический воркэраунд

    В итоге получается что сопровождение завязанно на женитьбу с тем языком и тогда либо мyдoxаться с uv, с админами на удаленных хостах и мучительно вспоминать на каждой сломанной програме - "а чиво енто мы там изобретали..."

     
     
  • 4.22, jTzzzz (ok), 15:04, 19/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это аргумент. Хотя мне не удалось застать времена перехода со 2 на 3 версию, так что мне незнакома та боль, породившая столько холиваров в своё время. Но всё, что было после, обычно решалось косметическими правками. Порой только бывало, что нет какой-то библиотеки, которая была в прошлой версии. Или она тоже сломалась. Тогда можно было просто подождать, если не горит. Или отдельно скомпилить старую версию и залочить под неё код, если в нём нет желания разбираться. Но да, наверное если у вас серъёзный масштабный проект, для которого важна железобетонная надёжность, то тогда питон возможно не лучший вариант. Но идеальных языков не существует. Беря что-то в приоритет, зачастую в остальном приходится мириться с компромиссами.
     
  • 2.8, Аноним (8), 12:00, 19/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Какие-то скрипты для сборки и, видимо, кодогенерации (*.y файлики похожи на какие-то шаблоны).
     
     
  • 3.24, OpenEcho (?), 15:50, 19/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не угадали. Они перенесли кучку утилит под питон:

    ntpdig.py  ntpkeygen.py  ntploggps.py
    ntplogtemp.py  ntpmon.py  ntpq.py
    ntpsnmpd.py  ntpsweep.py  ntptrace.py
    ntpviz.py  ntpwait.py

     
  • 2.9, Аноним (9), 12:07, 19/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нежелание писать на Си, когда этого можно избежать?
     
  • 2.10, Аноним (10), 12:40, 19/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Нафига для лёгкого ntp протокола, где скорость сишки  вообще не нужна, тащить туда сишку? Чтобы что? А в питоне исключаются знаменитые эти ваши сишные хаки, вроде выхода за пределы, повтороное зануление, и т.д и т.п.?
     
     
  • 3.11, Аноним (11), 12:49, 19/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну если ты админишь свой локалхост, то да, наверно тебе скорость не нужна.
     
     
  • 4.19, Аноним (10), 14:44, 19/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А тебе скорость нужна? Чтобы что? Или ты считаешь, что разрабы ntpsec ещё не проводили сравнение язычков для своего проекта, и они выбрали питон от балды?
     
     
  • 5.26, YetAnotherOnanym (ok), 17:28, 19/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > выбрали питон от балды

    Это адекватный эпитет для контрибутора, который знает только один-единственный простой в изучении и лёгкий в написании ЯП.

     
  • 3.35, _ (??), 00:09, 20/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Нафига для лёгкого ntp протокола, где скорость сишки  вообще не нужна, тащить туда сишку? Чтобы что?

    Чтобы "Отлито из бетона для плотин ГЭС в 15мм стальную легированную арматуру, за одну заливку. Гарантия - 800 лет."(С)
    Софт же на пистоне работает до очередного его обновления...

    Ну как то так!(С) :)

     
  • 2.13, Аноним (13), 12:52, 19/04/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    У людей, не знающих ни питона, ни Си, есть впечатление, что Си - это какой-то очень филигранный инструмент хакера. Что, конечно же, навеяно массовой культурой, фильмами про хакиров и тп. Си действительно очень сложный инструмент, но это не комплимент, поскольку сложность математическая (то есть неортогональность), а не интеллектуальная ("сложно значит он умный"). Сложные языки в плане интеллектуальном - это ML, clean, ocaml, haskell. То, где нужны солидные знания математики, теории категорий и CS, а не зубрежка лайфхаков.
    Короче говоря, всё это наносное и попсовое понимание инженерного дела. Питон ничем не хуже Си, а во многом конечно лучше, потому что ортогональнее.
     
     
  • 3.14, YetAnotherOnanym (ok), 13:38, 19/04/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Питон ничем не хуже Си, а во многом конечно лучше

    Ты сделал мой день.

     
     
  • 4.36, _ (??), 00:13, 20/04/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.20, Аноним (9), 14:47, 19/04/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >haskell
    >где нужны солидные знания математики, теории категорий

    Нет, это миф.

     
  • 3.21, OpenEcho (?), 15:01, 19/04/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Си действительно очень сложный инструмент

    Си на самом деле совсем не сложный инструмент, он в той же области где и ассемблер, просто намного удобнее ассемблера. Сложность Си только в том, что програмист должен, ОБЯЗАН понимать аппаратную структуру, как оно там все под капотом работает и тогда приходит понимание что железо и иструмент управления им - это слияние тел для создания чего то уникально нового. А вот когда понимание у водителя нет как оно там в моторе все работает, получаются казусы, ну и плюс человеческий фактор.
    Тренд на вовлечение в индустрию жадных, не особо любящих професию людей привел к тому, что они без понимания начали косячить и пришлось придумывать абстракции, лишь бы увеличить скорость разработок и ограничить "програмистов" от ошибок, в итоге имеем массу языков специального приложения и даже имеем раст, который вроде бы может как и Си, но в итоге куча сложных абстракций, которые просто про банальное - "вы идиоты, вы все равно делаете ошибки, поэтому будете писать, по безопасным правилам языка", но в итоге то ничего не поменялось, на абстракцию железа добавили кучу механизмов не существующих в реальности, усложнив и без того сложное. А сложное, оно это против правил природы, все гениальное - простое

     
     
  • 4.23, Аноним (9), 15:11, 19/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Всё не правда, но как концепция — красиво 👍
     
  • 4.28, Аноним (28), 17:29, 19/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > А сложное, оно это против правил природы, все гениальное - простое

    1. Процессор -- не природа, это искусственное изделие.
    2. Если сложное против правил природы, то весь современный IT против правил природы, сложность минимально приемлимой для пользователя программы превосходит всё, что в состоянии понять отдельно-взятый человек.
    3. Сложность природы, на деле, ещё выше. Я почитываю статейки биологов, о том как клетки работают, и я заверяю тебя, всё что создаёт человек в подмётки не годится. Когда осьминог, следуя инструкциям ДНК собирает белок, а потом следуя другим инструкциям создаёт другой белок, который редактирует первый, чтобы повысить морозоустойчивость... и это вместо того, чтобы в ДНК сразу вписать правильный код белка... Или ихние каскады фосфориляции, эпигенетика, и прочая-прочая, там всё настолько сложно, что я удивляюсь как биологи ещё не двинулись кукухой все.

     
     
  • 5.32, OpenEcho (?), 21:06, 19/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Процессор -- не природа, это искусственное изделие.

    Что значит искуственное? С чего бы это супер пупер человеки - природа, а проц - нет?  Раз проц создан продуктами природы, из тех же компонентов что и человеки, на той же земле, значит процессор это тоже часть природы, естесвенное так сказать развитие (которое судя по всему заменит в будующем медленные протеиновые организмы)

    > весь современный IT против правил природы

    Ну это вы зря, если вы посмотрите внимательно, эпоха развития компютеризации очень даже напоминает то как это натурально в природе, много проб и раз получилось, потом из этих маленьких "получилось" слепили как юниксах из много маленьких команд что-то нужное и так далее по восходящей. Где то что-то отвергли а где-то развили дальше и так из маленьких веточек в уже довольно приличное дерево преобразились. Вы посмотрите карту сетевых роутов, не напоминает спины нейронов?


    > Когда осьминог, следуя инструкциям ДНК собирает белок

    Вот прям сидит осминог на коралле, и манипулирует там щупальцами, собирает новое ДНК :)))

    а люди блин косолапые, только только CRISPR-ом разве что научились пользоваться :)


    Я смотрю вы серьёзно так начитались :)

    Значит осьминогу можно собирать там свои процессоры на ДНК, а человеками сделанный процессор из песка, фиг, - не природа?

    Нечестно как то и обидно...


    > я удивляюсь как биологи ещё не двинулись кукухой все.

    Так у них так же как и в И.Т., работают в конкретном узком направлении, ни один АЙТИ-шик не может знать всего, так и у них. Но в биологии там очень много имперического, т.к. до конца нет понятия как оно там под капотом всё работает

     
  • 4.31, Аноним (31), 20:59, 19/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Сказки для зумеров про безглютеновый особо близкий к аппаратуре Си. Что в нем аппаратного? PEEK/POKE на указателях сделать можно? Вот это поддержка железа, вот это инструмент!
     
     
  • 5.33, OpenEcho (?), 21:14, 19/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Что в нем аппаратного?

    А с кем он там по вашему там разговаривает? Не с процом, не с памятью, не с регистрами ?

    > Вот это поддержка железа, вот это инструмент!

    Вот с это места можно по-подробнее, а что же тогда в вашем понятии другие, "правильные" языки делают?

     
     
  • 6.34, Аноним (9), 23:08, 19/04/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 6.37, _ (??), 00:19, 20/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да выдыхай OpenEcho :)

    многабукфф вида "PEEK/POKE" - видел?
    Перед тобой - штудент 1973 г кафедры больших желез :)
    Правда походу он еЯ не окончил, но вот что даёт BASIC возможность писать хоть какой то системный софт - помнит :) Наверно за это и выгнали :)

    PS: А Си там лет на 7 позже преподавать начали :)

     
  • 2.16, eugener (ok), 14:28, 19/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Такой вопрос может возникнуть только у человека, который никогда не писал на си проектов крупнее чем хелловорлд.
    Так-то нормальный программист конечно стремится по возможности чем-нибудь заменять язык, в котором крайне легко случайно прострелить себе ногу.
     
     
  • 3.17, Аноним (-), 14:35, 19/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >нормальный программист конечно стремится по возможности чем-нибудь заменять язык, в котором крайне легко случайно прострелить себе ногу.

    Толсто.

     
  • 3.27, YetAnotherOnanym (ok), 17:29, 19/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > только у человека, который никогда не писал на си проектов крупнее чем хелловорлд

    Не угадал.

     
  • 2.29, Аноним (29), 17:33, 19/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Что может заставлять писать на питоне людей, умеющих писать на Си?

    Отсутствие ООП (не закатом солнца вручную) в Си?

     
     
  • 3.38, _ (??), 00:23, 20/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Есть мнение(С) что классы нужны только гуйне ;-)
     

  • 1.12, Ivan_83 (ok), 12:52, 19/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    После всех приключений с ntpd от одного названия не по себе, даже пресвятая приставка sec не поможет.
    chrony рулит!


    > Система сборки Waf

    Неадекваты.
    Лучше бы сборочную систему на lua использовали если хочется быть нитакимикакфсе.
    А если фонатам хочется питона - то meson.


     
     
  • 2.30, OpenEcho (?), 20:27, 19/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > chrony рулит!

    100%

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру