MySSL HTTPS 评级 B 升 A+

MySSL HTTPS 评级 B 升 A+,第1张

概述背景 "MySSL" 提供了免费的网站 HTTPS 安全评级服务,然后我用我的网站 "https://hellogithub.com" ,测试了一下。发现安全评 背景

MySSL 提供了免费的网站 httpS 安全评级服务,然后我用我的网站 https://hellogithub.com,测试了一下。发现安全评级为 B,最高为 A+。下面是记录我的网站从 B 升到 A+ 的 *** 作和设置。

tips: 我的网站免费 SSL/TLS 证书是这家的 Let's Encrypt

一、B 升 A1.1 现状

**评分提示:服务器支持弱 DH 密钥交换参数,降级为 B **

1.2 原因

前向安全性 Forward Secrecy 的概念很简单:客户端和服务器协商一个永不重用的密钥,并在会话结束时销毁它。服务器上的 RSA 私钥用于客户端和服务器之间的 DiffIE-Hellman 密钥交换签名。从 DiffIE-Hellman 握手中获取的预主密钥会用于之后的编码。因为预主密钥是特定于客户端和服务器之间建立的某个连接,并且只用在一个限定的时间内,所以称作短暂模式 Ephemeral。

使用了前向安全性,如果一个攻击者取得了一个服务器的私钥,他是不能解码之前的通讯信息的。这个私钥仅用于 DiffIE Hellman 握手签名,并不会泄露预主密钥。DiffIE Hellman 算法会确保预主密钥绝不会离开客户端和服务器,而且不能被中间人攻击所拦截。

所有版本的 Nginx(如1.4.4)都依赖于 OpenSSL 给 DiffIE-Hellman (DH)的输入参数。不幸的是,这意味着 DiffIE-Hellman Ephemeral(DHE)将使用 OpenSSL 的默认设置,包括一个用于密钥交换的1024位密钥。因为我们正在使用2048位证书,DHE 客户端就会使用一个要比非 DHE 客户端更弱的密钥交换。

MySSL 提示的因为:现在用的 DHE 参数小于 1024 位数。

1.3 解决办法/etc/letsencrypt 目录下查看是否有:ssl-dhparams.pem 文件如果有则直接设置 Nginx 配置:ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

如果没有,则需要自己生成,生成后配置 Nginx 注意路径:

cd /etc/ssl/certsopenssl dhparam -out dhparam.pem 4096

tips:生成该参数十分消耗 cpu 资源,在线上服务执行一定要注意!

1.4 结果

二、A 升 A+2.1 现状

**评分提示:开启HSTS后能够提升到A+,具体参考《XXXXX》 **

2.2 原因

HSTS(http Strict Transport Security)是国际互联网工程组织IETF发布的一种互联网安全策略机制。采用HSTS策略的网站将保证浏览器始终连接到该网站的httpS加密版本,不需要用户手动在URL地址栏中输入加密地址,以减少会话劫持风险。

MySSL 提示的因为:需要在开启 HSTS,保证浏览器连接该网站始终为 httpS 加密版本。

2.3 解决办法

修改 Nginx 配置:

server {    server_name hellogithub.com www.hellogithub.com;    add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";    .....}
2.4 结果

参考增强 nginx 的 SSL 安全性开启 HSTS 让浏览器强制跳转 HTTPS 访问 总结

以上是内存溢出为你收集整理的MySSL HTTPS 评级 B 升 A+全部内容,希望文章能够帮你解决MySSL HTTPS 评级 B 升 A+所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1015655.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存