Haveged (Русский)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Состояние перевода: На этой странице представлен перевод статьи Haveged. Дата последней синхронизации: 16 мая 2020. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

haveged — проект, разрабатывающий простой в использовании и непредсказуемый генератор случайных чисел (англ.), основанный на алгоритме HAVEGE. Haveged был создан для предотвращения низкого уровня энтропии в устройстве Linux для генерации случайных чисел, что может произойти при некоторых рабочих нагрузках, особенно на headless-серверах.

Важно: Качество сгенерированной энтропии не гарантируется и иногда оспаривается (см. статьи LCE: Do not play dice with random numbers (англ.) и Is it appropriate to use haveged as a source of entropy on virtual machines? (англ.)). Используйте haveged на свой риск или используйте его в паре с аппаратным генератором случайных чисел с помощью rng-tools (см. секцию #Альтернативы).

Установка

Установите пакет haveged.

Запустите и включите службу haveged.service.

Просмотр доступной энтропии

Если вы не уверены в необходимости haveged, запустите следующую команду:

# cat /proc/sys/kernel/random/entropy_avail

Эта команда покажет количество собранной на сервере энтропии. Если её довольно мало (<1000), то, вероятно, стоит установить haveged. Иначе криптографические приложения будут блокироваться (англ.) до тех пор, пока не появится достаточно энтропии. К примеру, может снизится скорость беспроводного соединения в случае, если сервер используется в качестве программной точки доступа.

Воспользуйтесь этой командой снова, чтобы проверить, насколько haveged увеличил пул энтропии после установки.

Альтернативы

Если у вас нет определённой причины не доверять каким-либо аппаратным генераторам случайных чисел в вашей системе, вы должны сначала попробовать использовать их с rng-tools и если этого окажется недостаточно (или у вас нет доступного аппаратного генератора случайных чисел), тогда используйте haveged.

Виртуальные машины

Как обсуждалось в Is it appropriate to use haveged as a source of entropy on virtual machines?(англ.), качество энтропии, генерируемой haveged, может быть спорным в виртуальной среде. Haveged полагается на инструкцию rdtsc, которая может быть виртуализирована, из-за чего понизится уровень энтропии. В некоторых гипервизорах есть возможность отключить виртуализацию rdtsc, что, в теории, позволит haveged более качественно генерировать энтропию.

Чтобы отключить виртуализацию инструкции rdtsc в VMware ESXi, добавьте параметр monitor_control.virtual_rdtsc = "FALSE" в конфигурационный файл .vmx виртуальной машины. VMware рекомендует использовать данный параметр в случаях измерений, для которых требуется надёжный источник реального времени в виртуальной машине. [1]

Смотрите также