在Ubuntu 16和Nginx中禁用Diffie-Hellman(DH)密钥

nis*_*n97 3 ssl nginx ssl-certificate diffie-hellman ubuntu-16.04

对于使用Nginx在Ubuntu 16中托管的网站,SSL测试始终显示B级。下面是显示的原因。另请参阅附件图像。当前的SSL密码设置如下。我注意到在使用ubuntu 16和Nginx的大约8到10台服务器中有同样的事情。

ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
ssl_ciphers 'AES256+EECDH:AES256+EDH::!EECDH+aRSA+RC4:!RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS';
ssl_session_cache shared:SSL:10m;
Run Code Online (Sandbox Code Playgroud)

Diffie-Hellman(DH)密钥交换参数。等级上限为B

Qualys SSL Labs-SSL服务器测试

nis*_*n97 5

终于我找到了解决方案。默认情况下,Linux使用openssl提供的内置DH。这使用弱键。解决方案是产生我们自己的。使用以下内容生成新的。我使用2048,也可以尝试4096。

openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048

然后将其添加到nginx main conf并重新加载。开始了。我们现在有A级。

ssl_dhparam /etc/nginx/ssl/dhparam.pem;

在此处输入图片说明

参考网址:

https://michael.lustfield.net/nginx/getting-a-perfect-ssl-labs-score

https://geekflare.com/nginx-webserver-security-hardening-guide/


Cha*_*ase -2

Mozilla SSL 配置生成器是正确配置 TLS 设置的最佳方法。