设置服务器时,我需要进行哪些配置更改以确保所有软件都使用/dev/urandom
而不是/dev/random
?
一些服务器在熵池中没有太多的熵(例如,VPS)。如果软件组件使用/dev/random
,那么它可能会阻塞并导致服务器变得异常缓慢。/dev/random
有没有默认使用的开箱即用的软件?如果是这样,我该如何配置它以强制它使用/dev/urandom
?在设置新的 VPS 环境时,最好有一个要设置的配置设置清单。
设置服务器时,我需要进行哪些配置更改以确保所有软件都使用/dev/urandom
而不是/dev/random
?
一些服务器在熵池中没有太多的熵(例如,VPS)。如果软件组件使用/dev/random
,那么它可能会阻塞并导致服务器变得异常缓慢。/dev/random
有没有默认使用的开箱即用的软件?如果是这样,我该如何配置它以强制它使用/dev/urandom
?在设置新的 VPS 环境时,最好有一个要设置的配置设置清单。
添加
-Djava.security.egd=file:///dev/urandom switch
或者
-Djava.security.egd=file:/dev/./urandom
用于启动 Java 进程的命令行调用。(如果没有这个,Java 会使用它/dev/random
来播种它SecureRandom class
,这可能会导致 Java 代码意外阻塞。)
或者,在$JAVA_HOME/jre/lib/security/java.security
配置文件中,添加该行
securerandom.source=file:/dev/./urandom
脚注:在上面的示例中,您需要看起来很疯狂的文件名,例如 extra /./
,以欺骗 Java 接受您的文件名。如果您只是使用/dev/urandom
,Java 会认为您不是认真的,并将您编写的内容替换为/dev/random
. 疯狂!
如果您在 chroot 环境中启动某些服务,请不要忘记/dev/urandom
在 chroot 目录中创建设备。
利用
SSLRandomSeed startup file:/dev/urandom 512
SSLRandomSeed connect file:/dev/urandom 512
在 mod_ssl 配置文件中。避免使用file:/dev/random
with SSLRandomSeed
。
使用配置标志编译 Cyrus SASL (libsasl) --with-devrandom=/dev/urandom
。
默认情况下,Cyrus POP3 从/dev/random
. 除了重新编译之外,我找不到任何配置设置来更改它。
添加
TLSRandFile /dev/urandom
到slapd.conf
配置文件。(希望这应该是默认设置,但一些指南误导性地建议使用/dev/random
,因此您可能需要仔细检查。)
利用
tls_random_source = dev:/dev/urandom
在main.cf
配置文件中,或
sudo postconf -e 'tls_random_source = dev:/dev/urandom'
从命令行。
一切:
作为root
,只需这样做:
rm /dev/random
mknod /dev/random c 1 9
现在/dev/random
实际上将访问与/dev/urandom
.
在此更改之后,两者都/dev/random
将从/dev/urandom
非阻塞池中提取。非阻塞池将从阻塞池中提取,系统仍将填充该池。