文档
通过增加迪菲-赫尔曼参数的比特大小,改善TLS/SSL连接的安全性
迪菲-地狱人密钥交换 是键在初始 TLS/SSL连接时交换的安全方法;例如,在网页浏览器和网页服务器之间交换HTTPS连接。 最大限度地提高 转发密钥.
默认情况下, v16.0+ TurnKey Linux 服务器生成一个 Diffie - Hellman 参数文件, 其首启动时的位码为 1024 。 足够了 。 防范 多数 FREAK 密码 和/或 资源 逻辑jam 但是,正如在报告中提到的那样, RFC 8270 号:
[.]最低值为1024比特不足以防止国家赞助的行为者和任何拥有足够计算资源的组织[.]
TurnKey 默认为 1024 位; 建议 2048 + 位
因此,为了确保保护不受资源充足的攻击者(例如民族国家)的攻击,建议至少增加2048位. 生成一个2048(或更高)的DH组特别的CPU集聚,可以花费很长的时间;特别是在低谱云服务器,VPS或低谱硬件上. 因此,我们为何不使用1024位元(而不是建议2048位元)。
然而,一个新的迪菲-赫尔曼组合2048位元可以相当容易地生成(你只需要有点耐心). 如果你特别关心连接的安全 那么4096的尺寸会更好 但是如果低空运行 可能需要几个小时 甚至几天 光谱硬件.
重生成 dhparams 文件
您可以轻松地重生成 Diffie- Hellman 参数文件(默认为 /etc/ssl/private/dhparams.pem) ,用于自签 TLS/ SSL 证书,或 Let's Encrypt 证书 已经通过 Confconsole 密码 Let's Encrypt 密码 插件。 可以通过 Confconsole 完成 DH 参数再生 插件。 或者可以通过命令行完成 。
请注意,如果您正在使用其他方法包含或生成您的 SSL/TLS证书,那么希望您知道该做什么,该如何做! 如果你不确定,请随意问 论坛请记录您的 SSL/ TLS 证书的设置方式。
Confconsole插件默认在 dtach 会话中运行. 但如果您是通过命令行( 除非您正在通过物理终端连接) 来完成, 最好在 dtach( 或屏幕或 tmux) 会话内生成新文件 。如果这样做,那么即使您的 SSH 会话断开,进程也会完成。 例如; 要在 dtach 会话内生成一个新的 Diffie- Hellman 参数文件, 共 2048 位元 :
dtach -c /tmp/regen-dhparams turnkey-make-ssl-cert --dh-params-only --dh-bits 2048
默认情况下, 这将打开一个新的 dtach 会话并运行 turnkey- make- sl- cert 命令 。 如果您想要断开, 可以关闭 SSH 会话, 命令会继续运行 。 或者,您可以用 < Ctrl><\>> 退出 dtach 会话( 双关检查您的 SSH 客户端是否通过密钥组合 ) 。 如果你想重新加入会话(可能只是空白屏幕,除非它完成),那么就像这样:
dtach -a /tmp/regen-dhparams
重新启动服务
一旦完成,您还需要重新启动正在使用 DH 参数文件的网络服务。 例如, 为 Webmin 和 Webshell 重新启动 Apache 和 Stunnel :
systemctl restart apache2 systemctl restart stunnel4@webmin systemctl restart stunnel4@shellinabox
如果您不能100%确定您需要重启哪些服务, 并且想要安全地运行, 那么重启就是一个好选项 。