Что произойдет, если в вашем Linux закончится энтропия
Ядро Linux предоставляет прикладным программам энтропийный пул, из которого программы могут извлекать случайные числа. Что произойдет, если случайные данные в этом пуле закончатся?
Низкая энтропия ядра Linux
Произойдет достаточно неприятная вещь: вместо случайных чисел будут генерироваться псевдослучайные числа. А это значит, что сгенерированные пароли, сертификаты, криптографические ключи и т.п. могут быть ослаблены. Так как же посмотреть, как обстоят дела с накоплением энтропии именно в вашей системе?
Работа с энтропийным пулом
# cat /proc/sys/kernel/random/poolsize
Команда покажет размер энтропийного пула в битах. Значение по умолчанию — 4096 бит.
#cat /proc/sys/kernel/random/entropy_avail
Покажет накопленную энтропию в битах. Если ноль, то пора предпринимать дополнительные шаги. Кстати, существуют трояны и руткиты, которые специально опорожняют энтропийный буфер, чтобы повлиять на генерацию паролей и ослабить защиту. Если entropy_avail показывает ноль — это повод напрячь булки.
Дополнительные шаги
Установите демон haveged. Он постоянно висит в памяти и пополняет энтропийный пул, собирая случайные аппаратные события и обрабатывая их по алгоритму Hardware Volatile Entropy Gathering and Expansion.
После установки пакета не забудьте сделать службу haveged активной по умолчанию:
systemctl enable haveged
systemctl start haveged
Интерфейс ядра Linux для получения случайных и псевдослучайных чисел
- /dev/random — блокирующий интерфейс. Если случайные числа закончились, чтение из этого файла будет приостановлено до тех пор, пока энтропийный пул не пополнится.
- /dev/urandom — неблокирующий интерфейс. Данные можно читать вечно, однако после опустошения энтропийного пула пользователю подсунут не случайные, а псевдослучайные числа. Их тоже можно использовать для разных нужд, но только не для криптографии.
Комментарии
Чингачгук
3 февраля, 2018 - 20:34
В чём заключается практическая польза от информации полученной в данной статье?
pomodor
3 февраля, 2018 - 21:23
Для виндузятника — никакой. Это про Linux.
MRTN
3 февраля, 2018 - 21:37
В треде задетекчены любители понюхать чужие трусы. =))
pomodor
3 февраля, 2018 - 21:47
Бан за офтоп и словоблудие.
delpher
4 февраля, 2018 - 19:37
:) похоже на банный геноцид анонимных виндузятников
pomodor
4 февраля, 2018 - 20:30
Вовсе нет. Никто не банит за выбор ОС, что было бы очень глупо. Школьник забанен за нарушение пунктов 3 и 6 статьи 2 правил Либератума.
gundenaf
4 февраля, 2018 - 21:35
СЗОТ, а зачем вы решили использовать вики-движок для глоссария сайта? Рейтинг и experds сами писали неплохо же.
pomodor
4 февраля, 2018 - 21:39
Благодарю! :) Хотелось просто создать документопомойку без значительных затрат времени. Решил не изобретать велосипед.
pomodor
4 февраля, 2018 - 21:42
Ну и идея в том, чтобы дать возможность пользователям (в том числе и анонимным) дописывать некоторые статьи. Например, о дистрибутивах. Если делать на фреймворке, то много времени уйдет на проверку полномочий, систему версионирования и т.п. Это скучно.
Чингачгук
6 апреля, 2019 - 14:59
Польза этого материала велика при разборе падения коннекта к Oracle из java-приложения. Когда всё падает на таймауте, то как один из вариантов - это исчерпание случайных чисел из пула энтропии.
Чингачгук
3 февраля, 2018 - 22:35
Оно сбрасывается при рестарте?
pomodor
3 февраля, 2018 - 22:41
Сбрасывается на диск и используется после перезагрузки. Энтропия — это слишком ценный материал, чтобы им разбрасываться.
Чингачгук
8 марта, 2018 - 11:38
стану грудью на защиту виндузятника, возможно он потенциальный линуксоид с андроидом в кармане.
там энтропию никто не отменял, даже Seeder в помощь
Комментировать