ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Andrey Savchenko <bircoph@altlinux.org>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] Q: trustworhtiness of chrony
Date: Tue, 14 Aug 2018 14:31:14 +0300
Message-ID: <20180814143114.365690229320119998d2889d@altlinux.org> (raw)
In-Reply-To: <20180813123243.GA20495@altlinux.org>

[-- Attachment #1: Type: text/plain, Size: 6917 bytes --]

On Mon, 13 Aug 2018 15:32:43 +0300 Dmitry V. Levin wrote:
> On Mon, Aug 13, 2018 at 03:25:33PM +0300, Andrey Savchenko wrote:
> > On Mon, 13 Aug 2018 14:59:04 +0300 Dmitry V. Levin wrote:
> > > On Mon, Aug 13, 2018 at 02:52:13PM +0300, Yuri Sedunov wrote:
> > > > У кого-то часы отстают?
> > > > 
> > > > ...
> > > > check OK
> > > > 2018-Aug-13 11:27:30 :: [x86_64-i586] plan: #4 +4 -4 =11420
> > > > arepo/x86_64-i586/rpms/i586-libappstream-glib-devel-0.7.12-alt1.i586.rpm: BUILDTIME in the future: Mon Aug 13 11:28:15 UTC 2018
> > > > sisyphus_check: check-buildtime ERROR: buildtime violation
> > > > arepo/x86_64-i586/rpms/i586-libappstream-glib-0.7.12-alt1.i586.rpm: BUILDTIME in the future: Mon Aug 13 11:28:13 UTC 2018
> > > > sisyphus_check: check-buildtime ERROR: buildtime violation
> > > > 2018-Aug-13 11:28:13 :: [x86_64-i586] sisyphus_check FAILED
> > > > 2018-Aug-13 11:28:13 :: [x86_64-i586] build FAILED
> > > > 2018-Aug-13 11:28:13 :: task #211319 for sisyphus FAILED
> > > 
> > > Да, один из сборочных узлов опять заресетился, время на нём сбилось,
> > > ntpd подправляет его каждые несколько минут на несколько секунд,
> > > процесс сходящийся.
> > 
> > А можно поставить chrony и плавно поправить через tike skew без
> > всяких скачков и прочего безобразия. Мало того, при запуске он сам
> > умеет использовать поправку на вычисленную на основе собранных
> > ранее данных систематическую погрешность системных часов. На
> 
> Кто-нибудь читал исходный код chrony,
> что этот исходный код представляет из себя по сравнению с openntpd,
> им вообще можно пользоваться там, где нужно минимизировать риск
> исполнения произвольного кода?

Для минимизации рисков в chrony предусмотрено использование
seccomp. Не знаю, есть ли в openntpd такая функциональность.
У chrony предусмотрено более десятка опций конфигурации, так что
можно собрать chrony-minimal, если очень хочется.

Что касается аудита кода. Чем конкретно вызвана эта необходимость?
chrony можно настроить для использования внутреннего ntp-сервера,
так что внешних векторов атаки не будет. Безусловно, анализ кода —
это хорошо, но тогда нужно анализировать все потенциально уязвимые
компоненты системы, т.к. нет смысла в одной безопасной при двух
опасных. 

Поэтому меня интересует: выполнялся ли аудит кода ядра и openssl,
которые применяются на нашей сборочнице? Если да, то где он?
Сообществу будет очень интересно. Если нет, то зачем тогда особо
придираться к серверу времени?

Следующий вопрос: зачем вообще наша сборочница настолько придирчива
к времени сборки, что сборка на 1 секунду в будущем приводит
к провалу всего процесса сборки пакета?

Что плохого может произойти, если сборочный узел на 1 секунду
быстрее сборочницы? Прошу привести конкретные примеры. На мой
взгляд это ограничение не обосновано. Почему именно 1 секунда? Ведь
опережение на 0.5 секунды сборочница пропустит (нынешний код
сравнивает посекундно). Что такого страшного может произойти за
1 секунду, чего гарантированно не произойдёт за полсекунды?

Субъективно, даже получасовая разница во времени для задачи работы
сборочницы ни на что особо не повлияет. Разница в несколько часов
уже будет неудобна разработчикам, может запутывать по
временным зонам, поэтому я и выбрал получасовой лимит.

Существующее и, на мой взгляд, чрезмерное и необоснованное
ограничение в 1 секунду сильно попортило нервы мне и коллегам,
работающим с e2k, т.к. пакеты могут собираться часами (а отдельные
и днями) и получать после этого случайный фейл — пустая трата
времени и нервов. Сейчас благодаря chrony наша проблема решена, но
я не понимаю, ради чего люди должны страдать на других сборочницах.

На мой взгляд сборочница — как и любой сложный механизм — должна
обладать функцией самокоррекции и отказоустойчивости хотя бы
в некоторых пределах. Если есть проблема, при которой можно
продолжить работу, нужно сообщить админу о проблему, по
необходимости её скорректировать и продолжить работу. Такой подход
позволит обеспечить жизнеспособность сборочницы в условиях
современного мира и мне очень хотелось бы, чтоб он был учтёт при
проектировании новой сборочницы. Иначе снова получим, что после
внеплановой перезагрузки нужно лезть в недра, вычищать временные
файлы и вручную менять статус тасков.

Best regards,
Andrew Savchenko

[-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --]

  parent reply	other threads:[~2018-08-14 11:31 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-13 11:52 ` [devel] [Fwd: [#211319] FAILED srpm=libappstream-glib-0.7.12-alt1.src.rpm] Yuri Sedunov
2018-08-13 11:59   ` Dmitry V. Levin
2018-08-13 12:14     ` Yuri Sedunov
2018-08-13 12:25     ` Andrey Savchenko
2018-08-13 12:32       ` [devel] Q: trustworhtiness of chrony Dmitry V. Levin
2018-08-13 12:40         ` Anton Farygin
2018-08-13 12:44           ` Alexey V. Vissarionov
2018-08-13 12:46             ` Anton Farygin
2018-08-14 11:31         ` Andrey Savchenko [this message]
2018-08-14 11:56           ` Anton Farygin
2018-08-16  2:57             ` Alexei Takaseev
2018-08-16  4:55               ` Anton Farygin
2018-08-16  4:58                 ` Alexei Takaseev
2018-08-16 16:33                   ` Michael Shigorin
2018-08-14 12:12           ` Dmitry V. Levin
2018-08-14 12:25             ` Andrey Savchenko
2018-08-14 13:35         ` Vitaly Kuznetsov
2018-08-14 21:56           ` Leonid Krivoshein
2018-08-15  8:52             ` Vitaly Kuznetsov
2018-08-16  0:58               ` Leonid Krivoshein

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180814143114.365690229320119998d2889d@altlinux.org \
    --to=bircoph@altlinux.org \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git