The OpenNET Project / Index page

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

19.11.2015 10:09  В рамках проекта NTPsec создан защищённый форк NTPD

Эрик Реймонд (Eric S. Raymond), один из основателей организации OSI (Open Source Initiative), стоявший у истоков движения открытого ПО и написавший в свое время известное эссе "Собор и Базар", представил бета-выпуск проекта NTPsec, в рамках которого предпринята попытка проведения рефакторинга эталонной реализации протокола NTPv4. Исходные тексты NTPsec размещены в репозитории на GitLab. NTPsec развивается как форк NTP Classic 4.3.34. Кроме Реймонда к работе над NTPsec привлечены разработчики оригинального NTP Classic, инженеры из компаний Hewlett Packard и Akamai Technologies, а также участники проектов GPSD и RTEMS.

Первый бета-выпуск 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-сервер с нуля).

  1. Главная ссылка к новости (http://esr.ibiblio.org/?p=6924...)
  2. OpenNews: Новая атака на NTP позволяет воспользоваться просроченными сертификатами
  3. OpenNews: Проект OpenBSD выпустил NTP-сервер OpenNTPD 5.7p4
  4. OpenNews: Представлен NTP-сервер Ntimed, который будет развиваться параллельно с NTPD
  5. OpenNews: В ntpd выявлена уязвимость, которая может привести к удалённому выполнению кода
  6. OpenNews: Подстановка лишней секунды через NTP была использована для атаки на Linux-системы
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: ntp, ntpsec
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Аноним (-), 12:08, 19/11/2015 [ответить] [показать ветку] [···]     [к модератору]
  • +/
    Уж кого, а Реймонда к связанным с безопасностью проектам допускать нельзя До по... весь текст скрыт [показать]
     
     
  • 2.3, Аноним (-), 12:19, 19/11/2015 [^] [ответить]     [к модератору]  
  • –1 +/
    Ещё забавно без лишней скромности написано про Реймондовский GPSD в https www ... весь текст скрыт [показать]
     
     
  • 3.9, Andrey Mitrofanov (?), 13:10, 19/11/2015 [^] [ответить]     [к модератору]  
  • +2 +/
    27 Jan 2005 06 39 22 -0800 Формально всё верно же over a decade, 10 лет и 10 ... весь текст скрыт [показать]
     
  • 2.4, DmA (??), 12:21, 19/11/2015 [^] [ответить]    [к модератору]  
  • +/
    Он уже это понял и исправляется :)
     
     
  • 3.5, Аноним (-), 12:30, 19/11/2015 [^] [ответить]    [к модератору]  
  • +1 +/
    Сомнительно, если участь, что его GPSD обязательно требует запуска с правами root.
    http://www.catb.org/gpsd/gpsd.html
     
     
  • 4.13, Аноним (-), 13:15, 19/11/2015 [^] [ответить]     [к модератору]  
  • +3 +/
    Читать не умеете gpsd must start up as root in order to open the NTPD shared-m... весь текст скрыт [показать]
     
     
  • 5.18, тоже Аноним (ok), 14:15, 19/11/2015 [^] [ответить]     [к модератору]  
  • –6 +/
    Я, конечно, не разработчик ядра, но подозреваю, что за программы, которым нужно ... весь текст скрыт [показать]
     
     
  • 6.20, Forth (ok), 15:50, 19/11/2015 [^] [ответить]    [к модератору]  
  • +/
    Ну так оно наверно и есть.
    Открытие требующих рутовых прав файлов/сокетов, затем exec.
     
     
  • 7.21, тоже Аноним (ok), 16:14, 19/11/2015 [^] [ответить]    [к модератору]  
  • –2 +/
    "it tries to drop root privileges" как бы намекает, что это не так.
    Особенно "tries" наводит на мысль, что в случае чего демон продолжит работу под рутом.
     
     
  • 8.22, Forth (ok), 16:33, 19/11/2015 [^] [ответить]     [к модератору]  
  • +1 +/
    Посмотрел исходники, да, так оно и есть Пытается сменить права, но если не полу... весь текст скрыт [показать]
     
  • 6.24, XXasd (?), 17:10, 19/11/2015 [^] [ответить]     [к модератору]  
  • +/
    Линукс-вэй вроде как предполагает в таких случаях дробить программу на отдельную... весь текст скрыт [показать]
     
  • 6.25, XXasd (?), 17:11, 19/11/2015 [^] [ответить]     [к модератору]  
  • +/
    запуситься о root , инициализировать файловые дискрипторы сокеты и т п , а зате... весь текст скрыт [показать]
     
     
  • 7.28, тоже Аноним (ok), 18:00, 19/11/2015 [^] [ответить]     [к модератору]  
  • –1 +/
    Ладно, тогда вопрос дилетанта 8470 2 Если в процессе работы этот самый демон... весь текст скрыт [показать]
     
     
  • 8.29, Forth (ok), 18:04, 19/11/2015 [^] [ответить]     [к модератору]  
  • +/
    Что значит захочет man 2 wantrootprivileges No entry for wantrootprivileges... весь текст скрыт [показать]
     
     
  • 9.30, тоже Аноним (ok), 18:11, 19/11/2015 [^] [ответить]     [к модератору]  
  • +/
    Я где-то читал слова переполнение, приводящее к выполнению произвольного кода ... весь текст скрыт [показать]
     
     
  • 10.32, Forth (ok), 20:17, 19/11/2015 [^] [ответить]     [к модератору]  
  • +/
    Наверно, не знаю Мне непонятно как приложение, сделавшее setuid на не 0 может о... весь текст скрыт [показать]
     
  • 8.33, анонимус вульгарис (?), 22:54, 19/11/2015 [^] [ответить]     [к модератору]  
  • +/
    Нет, не так root-привилегии можно сбросить насовсем, безвозвратно, и обычно оно... весь текст скрыт [показать]
     
  • 1.8, eRIC (ok), 12:44, 19/11/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    ни в коем случае не форкать старый облезлый код ntpd где там несколько сот тысяч строк кода. пишите с нуля как это делают OpenNTPD и Ntimed(http://phk.freebsd.dk/time/20140926.html) с учетом безопасности и простоты.
     
     
  • 2.10, Аноним (-), 13:10, 19/11/2015 [^] [ответить]    [к модератору]  
  • +3 +/
    openntpd - простое и безопасное нерабочее г.вно.
     
     
  • 3.26, www2 (??), 17:17, 19/11/2015 [^] [ответить]    [к модератору]  
  • +2 +/
    А что там не рабочего?

    Использую на везде вместо ntpd - везде со своей функцией клиента справляется на отлично и никакие порты на прослушивание не открывает.

     
     
  • 4.31, Andrey Mitrofanov (?), 18:21, 19/11/2015 [^] [ответить]     [к модератору]  
  • +/
    Аналогично, но вот мне указали на первое же предложение на их оф сайте И там де... весь текст скрыт [показать]
     
     
  • 5.47, Аноним (-), 16:26, 28/11/2015 [^] [ответить]     [к модератору]  
  • +/
    О, пришёл Андрюша-слышу-звон-да-не-знаю-где-он Хоть почитали бы, зачем были при... весь текст скрыт [показать]
     
  • 4.39, Аноним (-), 09:32, 20/11/2015 [^] [ответить]    [к модератору]  
  • –2 +/
    Эпически обсирается если время на сервере и клиенте сильно различается.
    И да обычный ntpd в этой ситуации работает.
     
     
  • 5.46, Аноним (-), 16:25, 28/11/2015 [^] [ответить]    [к модератору]  
  • +/
    > Эпически обсирается если время на сервере и клиенте сильно различается.
    > И да обычный ntpd в этой ситуации работает.

    Читать документацию (hint: ключик -s) - не, не слышали.

     
  • 3.34, forsam (?), 23:47, 19/11/2015 [^] [ответить]    [к модератору]  
  • +/
    > openntpd - простое и безопасное нерабочее г.вно.

    Дядя маны иногда курить надо, запускаешь # openntpd -s и всё работает

     
     
  • 4.40, Аноним (-), 09:33, 20/11/2015 [^] [ответить]    [к модератору]  
  • +/
    > Дядя маны иногда курить надо, запускаешь # openntpd -s и всё работает

    Я тоже так думал. А вот хрен.

     
     
  • 5.48, Аноним (-), 16:26, 28/11/2015 [^] [ответить]    [к модератору]  
  • +/
    >> Дядя маны иногда курить надо, запускаешь # openntpd -s и всё работает
    > Я тоже так думал. А вот хрен.

    А конкретнее?

     
  • 3.38, eRIC (ok), 07:56, 20/11/2015 [^] [ответить]     [к модератору]  
  • +1 +/
    вам на заметку что это в гxвно добавили опцию дополнительной проверки ограниче... весь текст скрыт [показать]
     
     
  • 4.41, Аноним (-), 09:34, 20/11/2015 [^] [ответить]    [к модератору]  
  • –1 +/
    Еще не хватало чтобы ntp-клиент не пойми куда в интернет лазил.
     
     
  • 5.43, eRIC (ok), 09:45, 20/11/2015 [^] [ответить]    [к модератору]  
  • +2 +/
    > Еще не хватало чтобы ntp-клиент не пойми куда в интернет лазил.

    а он и не будет пока ты явно не укажешь

     
  • 2.14, Andrey Mitrofanov (?), 13:28, 19/11/2015 [^] [ответить]    [к модератору]  
  • +/
    > ни в коем случае не форкать старый облезлый код ntpd где там
    > несколько сот тысяч строк кода. пишите с нуля как это делают
    > OpenNTPD и Ntimed
    >с учетом безопасности и простоты.

    Первый - не сервер, а клиент, cron+ntpdate практически.
    Второй - таки форк/патч/"на поиграться devel" оригинального ntpd.

    Не наблюдаю никакого "как это делают".  Вам, наверное, виднее.

     
     
  • 3.17, Аноним (-), 14:09, 19/11/2015 [^] [ответить]     [к модератору]  
  • +/
    С сайта OpenNTPD It provides the ability to sync the local clock to remote NTP... весь текст скрыт [показать]
     
     
  • 4.19, Andrey Mitrofanov (?), 14:24, 19/11/2015 [^] [ответить]    [к модератору]  
  • +2 +/
    >> Первый - не сервер, а клиент, cron+ntpdate практически.
    >[b] can act as NTP server
    > itself[/b], redistributing the local clock.

    Был не прав, признаю безобразной ошибкой.

     
  • 3.35, Аноним (-), 03:27, 20/11/2015 [^] [ответить]     [к модератору]  
  • +/
    ntimed интереснее а про форк на поиграться так это больше для сабжа криворук... весь текст скрыт [показать]
     
     
  • 4.42, Andrey Mitrofanov (?), 09:39, 20/11/2015 [^] [ответить]    [к модератору]  
  • +/
    > криворукий реймонд, впрочем ничего консистентного за десятилетия и юзабельное - так и
    > не создал.

    Ну, почему ж, reposurgeon на питончике. В руках одного пользователя оно точно работает. Автора.

    С другой стороны, gpsd есть, собор-базар и ко есть. За созданием новенького чаще чем в десятилетие -- на freedesktop.org, к празднослоняющемуся-в-одиночестве, в комм.сущности типа Мозилы и Хатта. Мало ли "прогрессивных" мест.

     
  • 3.37, eRIC (ok), 07:33, 20/11/2015 [^] [ответить]    [к модератору]  
  • +/
    > Второй - таки форк/патч/"на поиграться devel" оригинального ntpd.

    Ntimed не форк, а разрабатываемое с чистого листа замена ntpd от автора Varnish и core разработчика FreeBSD. Доработки конечно требуются, но он в полной мере работоспособный продукт.

     
     
  • 4.45, Аноним (-), 09:08, 21/11/2015 [^] [ответить]    [к модератору]  
  • +/
    о чем и речь.
    человеческая синхронизация и автоподстройка - в обоих альтернативах - еще появится не скоро и не факт, к примеру.
     
  • 1.16, Аноним (-), 14:01, 19/11/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    >> ...но базовая функциональность по синхронизации времени работает вполне стабильно...

    Неужели? ))

     
  • 1.36, Аноним (-), 05:01, 20/11/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    Ну прям сказка о потерянном времени
     
  • 1.44, Аноним (-), 18:15, 20/11/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    Ленарту намекните что пора бы в systemd встроить сервер ntp
     
     
  • 2.49, Вареник (?), 06:19, 04/05/2016 [^] [ответить]    [к модератору]  
  • +/
    А также написанные с нуля httpd, ftpd, smtpd, ldapd, etc.
     
  • 2.50, Аноним (-), 19:21, 07/05/2016 [^] [ответить]     [к модератору]  
  • +/
    Клиент кстати уже есть, systemd-timesyncd Настраивается через timedatectl, как ... весь текст скрыт [показать]
     
  • 2.51, Аноним (-), 19:22, 07/05/2016 [^] [ответить]    [к модератору]  
  • +/
    й домашней аппаратуры должно хватить.
     

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


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