У нас очень низкий уровень энтропии (HTTPS-сервер Apache, Ubuntu 12.04, не виртуальная машина, оборудование: Lenovo ThinkCentre M58):
root@server:~# cat /proc/sys/kernel/random/entropy_avail
417
root@server:~#
Нам нужно больше случайности, поэтому:
root@server:~# apt-get install rng-tools
... ok!
но при запуске:
root@server:~# service rng-tools start
Starting Hardware RNG entropy gatherer daemon: (failed).
root@server:~#
Конфигурация по умолчанию:
root@server:~# egrep -v '^$|^#' /etc/default/rng-tools
root@server:~#
пробую рукой:
root@server:~# /usr/sbin/rngd
can't open /dev/hwrng: No such device
root@server:~#
В 11:29 мы установили rng-tools:
root@server:~# ls -lah /dev/hwrng
crw------- 1 root root 10, 183 jan 6 11:29 /dev/hwrng
root@server:~#
Попытка трассировки:
root@server:# strace /usr/sbin/rngd 2>&1 | grep hwrng
open("/dev/hwrng", O_RDONLY|O_LARGEFILE) = -1 ENODEV (No such device)
write(2, "can't open /dev/hwrng: No such d"..., 37can't open /dev/hwrng: No such device) = 37
root@server:#
Вопрос: как заставить "/dev/hwrng" работать с rngd? Или наше оборудование плохое? Или отсутствуют некоторые настройки BIOS? Как решить/проверить это без простоя?
решение1
apt-get install haveged
и:
user@server:~$ cat /proc/sys/kernel/random/entropy_avail
2417
user@server:~$