From: Alexey Shabalin <a.shabalin@gmail.com>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] [sisyphus] Не переключается в графический режим
Date: Fri, 9 Nov 2018 01:38:27 +0300
Message-ID: <CAEdvWkTk2NTCuoKfdr2L09_BOtMGb0366AFH7CpO55a0uU5iwg@mail.gmail.com> (raw)
In-Reply-To: <20181108222236.fc478963155ac1b10130f0e5@altlinux.org>
чт, 8 нояб. 2018 г. в 22:22, Andrey Savchenko <bircoph@altlinux.org>:
>
> On Thu, 8 Nov 2018 18:58:34 +0300 Andrey Savchenko wrote:
> > On Thu, 8 Nov 2018 01:19:27 +0300 Leonid Krivoshein wrote:
> > >
> > > 07.11.2018 22:41, Paul Wolneykien пишет:
> > > > 07.11.2018 21:38, Leonid Krivoshein пишет:
> > > >> 4. надо находить и устранять причины раннего опустошения энтропии,
> > > >> приводящие к блокировкам.
> > > > Я правильно понимаю, что скоро ОС перестанет загружаться на обычном
> > > > железе, поскольку для загрузки внезапно понадобились случайные числа?
> > >
> > > Пока что поймать железо (в отладочных целях), где подобное проявляется
> > > именно с дистрибутивами Альт, нам удалось лишь единожды. По ссылкам из
> > > этого обсуждения видно, что проблема есть на новых ядрах в других
> > > дистрибутивах, так что может быть до нас просто ещё эхо не докатилось. И
> > > видно, что глобального решения пока не предложено. Частным порядком все
> > > обходятся вкорячиванием haveged/rngd, но как мы уже определились, этого
> > > делать не надо. Раз так, мы должны предложить альтернативу, и что-то
> > > подсказывает, что RND-ключик, как у Алексея, в качестве такой
> > > альтернативы подойдёт далеко не всем. И не просто предложить, а сделать
> > > автоматически применяемым в дистрибутивах решением, чтобы не было
> > > блокировок на старте, даже в очень редких случаях.
> > >
> > > Однако тема имеет много практических целей. Одной уже достигли,
> > > определившись с haveged и rngd. Предлагаю ещё вспомнить назначение файла
> > > и одноимённой службы:
> > > https://www.freedesktop.org/software/systemd/man/systemd-random-seed.html
> > > . Тут ещё выяснилось, что для улучшения безопасности systemd не просто
> > > так собирается с libgcrypt -- он может использовать случайные числа для
> > > цифровой подписи каждой записи журнала. Отсюда столько интересных
> > > патчей, связанных с FIPS, портированных в свободную FC из RHEL. Полагаю,
> > > цель на раннем старте задействовать по-возможности более кошерный
> > > getrandom(2), на случай доступности "более естественной случайности". Но
> > > вот что я сейчас вижу в сизифном логе:
> > >
> > >
> > > [ 5.112227] systemd[1]: systemd 239 running in system mode. (+PAM
> > > +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP
> > > +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN
> > > +PCRE2 default-hierarchy=hybrid)
> > > [ 5.124337] systemd[1]: Detected architecture x86-64.
> > > [ 5.223381] random: systemd: uninitialized urandom read (16 bytes read)
> > > [ 5.223456] systemd[1]: Listening on Journal Audit Socket.
> > > [ 5.223521] random: systemd: uninitialized urandom read (16 bytes read)
> > > [ 5.223592] systemd[1]: Listening on udev Control Socket.
> > > [ 5.223656] random: systemd: uninitialized urandom read (16 bytes read)
> > > ...
> > > [ 32.283736] random: crng init done
> > > [ 32.283746] random: 7 urandom warning(s) missed due to ratelimiting
> > >
> > >
> > > То есть, на самом раннем старте (большая часть железа здесь
> > > инициализируется за 5-й секундой!) журнал systemd уже нужен, но даже для
> > > его инициализации средствами кошерного /dev/urandom нет энтропии либо
> > > почему-то (!) он к этому времени всё ещё не проинициализирован. То есть,
> > > по логике Андрея, мы на сертифицировнных дистрах при большом желании
> > > сможем подделывать записи (подменять журнал) systemd, верно? Для
> > > гражданских-то не столь актуально. 384-бит на 5-й секунде -- не жирно так?
> >
> > Суть последних изменений в ядре в том, что urandom теперь тоже
> > может блокироваться, пока не набрана энтропия для первичного
> > наполнения пула. Я всячески приветствую это изменение, т.к. оно
> > защищает от генерации слабых ключей, на которые есть реально
> > осуществляемая атака. Есть научное исследование и публикация на эту
> > тему:
> > https://factorable.net/paper.html
> > https://factorable.net/weakkeys12.extended.pdf
> >
> > В статье рассказывается как недостаточно случайные числа можно
> > использовать для атаки на RSA и DSA полученные с их использованием
> > и проводится общемировой анализ и статистика использования подобных
> > ключей.
> >
> > Советую почитать разделы 5.1 Weak entropy and the Linux RNG
> > и 6.2 /dev/(u)random as a usability failure. Да, начиная с 4.17 это
> > должно быть исправлено в ядрах, но сколько ещё всплывёт проблем?
> > Для долгосрочных ключей пригоден только /dev/random: см. раздел 7
> > Defenses and Lessons.
> >
> > Да, заметь, что это научная статья со всеми надлежащими ссылками на
> > литературы и рецензированием, а не рандомная публикация в инете.
>
> Кстати, а на проблемных системах /etc/init.d/random (или
> аналогичный unit-файл для systemd) стартует? По идее, он должен
> дать достаточно энтропии для запуска системы (если это не загрузка
> заранее подготовленного образа по сети, конечно). Ещё нужно следить
> за тем, чтоб файл /var/run/random-seed существовал, а то есть
> любители /var/run в tmpfs класть (в таком случае файлик нужно
> переложить в другое место).
Пакет startup с измененным местоположением (на
/var/lib/random/random-seed) ждёт апрува.
--
Alexey Shabalin
next prev parent reply other threads:[~2018-11-08 22:38 UTC|newest]
Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-02 16:20 ` Leonid Krivoshein
2018-11-02 17:05 ` Leonid Krivoshein
2018-11-02 17:20 ` Michael Shigorin
2018-11-02 17:23 ` Leonid Krivoshein
2018-11-02 20:23 ` Paul Wolneykien
2018-11-02 22:35 ` Leonid Krivoshein
2018-11-03 1:05 ` Leonid Krivoshein
2018-11-03 4:01 ` Denis Medvedev
2018-11-03 11:43 ` Leonid Krivoshein
2018-11-04 11:17 ` Leonid Krivoshein
2018-11-05 8:23 ` Alexey V. Vissarionov
2018-11-05 16:42 ` Leonid Krivoshein
2018-11-05 17:05 ` Andrey Savchenko
2018-11-05 17:25 ` Andrey Savchenko
2018-11-05 17:29 ` Andrey Savchenko
2018-11-05 17:32 ` Michael Shigorin
2018-11-05 17:48 ` Leonid Krivoshein
2018-11-05 18:43 ` Vladislav Zavjalov
2018-11-05 18:54 ` [devel] " Dmitry V. Levin
2018-11-05 20:57 ` Leonid Krivoshein
2018-11-05 21:19 ` Andrey Savchenko
2018-11-05 21:42 ` Leonid Krivoshein
2018-11-05 22:04 ` Dmitry V. Levin
2018-11-06 3:12 ` Andrey Savchenko
2018-11-05 21:32 ` Dmitry V. Levin
2018-11-05 18:58 ` [devel] [sisyphus] " Leonid Krivoshein
2018-11-05 19:46 ` Andrey Savchenko
2018-11-05 22:12 ` Leonid Krivoshein
2018-11-06 2:59 ` Andrey Savchenko
2018-11-06 8:09 ` Alexey V. Vissarionov
2018-11-05 20:06 ` Andrey Savchenko
2018-11-05 7:37 ` Alexey V. Vissarionov
2018-11-05 16:25 ` Leonid Krivoshein
2018-11-05 16:37 ` Dmitry V. Levin
2018-11-05 16:45 ` Leonid Krivoshein
2018-11-06 11:02 ` Alexey V. Vissarionov
2018-11-06 17:36 ` Leonid Krivoshein
2018-11-05 17:06 ` Leonid Krivoshein
2018-11-06 21:00 ` Sergey Y. Afonin
2018-11-06 22:04 ` Andrey Savchenko
2018-11-06 22:10 ` Sergey Y. Afonin
2018-11-06 22:15 ` Andrey Savchenko
2018-11-06 22:17 ` Sergey Y. Afonin
2018-11-06 22:29 ` Andrey Savchenko
2018-11-06 23:27 ` Dmitry V. Levin
2018-11-07 5:42 ` Sergey Afonin
2018-11-07 13:12 ` Andrey Savchenko
2018-11-07 18:38 ` Leonid Krivoshein
2018-11-07 19:41 ` Paul Wolneykien
2018-11-07 19:53 ` Alexey V. Vissarionov
2018-11-07 22:19 ` Leonid Krivoshein
2018-11-08 15:58 ` Andrey Savchenko
2018-11-08 19:22 ` Andrey Savchenko
2018-11-08 22:29 ` Leonid Krivoshein
2018-11-08 22:34 ` Alexey Shabalin
2018-11-08 22:47 ` Leonid Krivoshein
2018-11-09 9:54 ` Paul Wolneykien
2018-11-08 22:38 ` Alexey Shabalin [this message]
2018-11-08 22:39 ` Alexey V. Vissarionov
2018-11-08 16:33 ` Andrey Savchenko
2018-11-08 16:35 ` Denis Medvedev
2018-11-08 17:15 ` Andrey Savchenko
2018-11-08 18:11 ` Denis Medvedev
2018-11-08 22:40 ` Leonid Krivoshein
2018-11-08 22:49 ` Andrey Savchenko
2018-11-08 22:52 ` Leonid Krivoshein
2018-11-08 22:59 ` Andrey Savchenko
2018-11-08 23:49 ` Leonid Krivoshein
2018-11-09 0:39 ` Andrey Savchenko
2018-11-08 23:21 ` Alexey V. Vissarionov
2018-11-09 9:44 ` Paul Wolneykien
2018-11-09 10:10 ` Andrey Savchenko
2018-11-09 10:40 ` Leonid Krivoshein
2018-11-09 12:52 ` Alexey Shabalin
2018-11-09 13:14 ` Andrey Savchenko
2018-11-09 13:42 ` Антон Мидюков
2018-11-10 9:05 ` Sergey Y. Afonin
2018-11-08 17:06 ` Andrey Savchenko
2018-11-08 23:07 ` Alexey V. Vissarionov
2018-11-09 0:30 ` Andrey Savchenko
2018-11-09 1:33 ` Leonid Krivoshein
2018-11-09 1:54 ` Leonid Krivoshein
2018-11-09 7:39 ` Andrey Savchenko
2018-11-09 6:58 ` Alexey V. Vissarionov
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=CAEdvWkTk2NTCuoKfdr2L09_BOtMGb0366AFH7CpO55a0uU5iwg@mail.gmail.com \
--to=a.shabalin@gmail.com \
--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