测试结果显示是支持SSL3.0的并且不支持TLS 1.2。证书使用SHA1签名算法不够强。这点比较容易接受,因为Windows服务器默认并没有开启TLS1.2。
之前看到一个安全测评网站: SSL 服务器测试 ,就测了一下,然后发现才 A 级,“强迫症”病发的我想提升到最高级 A+ ,经过一番折腾最后评级如下:今天晚上闲来无事把资料整理一下,发出来,如果你有兴趣就折腾一下吧~
这是一篇把普通网站升级到 TLS1.2 + HSTS + HTTP/2 的文章,至于什么是 HSTS 之类的自己百度。
TLS1.2 和 HTTP/2 相信大家都熟悉,但是 HSTS 相对来说比较少听到。
HSTS 是 “HTTP Strict Transport Security”(HTTP 严格安全传输)的缩写,开启了这项设置以后,主流浏览器会强制性地使用 HTTPS 来请求资源,能够更加有效地保护你网站和用户的数据安全。
一般情况(未启用 HSTS),浏览器会允许用户在了解了安全风险之后继续使用不安全的连接来访问,但如果启用了 HSTS,则不允许这样做,所以你得有一定要长期使用 HTTPS 的打算,才能启动 HSTS。
首先我的站点负载工具是 Nginx,SSL 证书从 Certbot 申请,先克隆仓库,然后生成证书:
域名改你自己的,然后选择第二个模式,安装一些东西,等一会就好了(先关掉占用80端口和443端口的程序,避免冲突,申请结束后再恢复即可):
生成下面文字即为成功:
为了确保证书更新正常,执行下面这句验证一下:
然后用 openssl 生成一个中间证书,后面的 2048 你可以自己根据服务器性能修改,比如改成 4096 之类的,数值越大加密程度越高:
前面生成的文件不用移动,后面会一步搞定处理这些,那么接下来就好办了,首先新建一个 Nginx 配置文件:
sudo vim ~/nginx/nginx.conf
保存退出,你已经完成了全部准备工作,剩下只需要启动即可。
为什么使用 Docker 来启动 Nginx?因为我懒得重新编译 Nginx 更新 OpenSSL,使用官方的 nginx:alpine 可以马上拥有最新版本的 Nginx 和最新版的 OpenSSL 啊。
如果没有安装 Docker,就先安装吧:
sudo curl -sSL https://get.docker.com/ | sh
然后再安装 Docker-Compose:
新建一个文件叫做 docker-compose.yml:
sudo vim ~/nginx/docker-compose.yml
然后复制粘贴下面内容,修改域名即可。
搞定之后执行 dokcer-compose up -d 就可以跑起来了,现在打开你网站,已经同时启用 TLS1.2 + HSTS + HTTP/2 了!
设置自动更新证书:
HSTS 必须要在浏览器访问过你的网站一次以后才会生效,如果希望提前生效,需要申请 HSTS Preloading List。
目前这个 Preload List 由 Google Chrome 维护,Chrome、Firefox、Safari、IE 11 和 Microsoft Edge 都在使用。如果要想把自己的域名加进这个列表,首先需要满足以下条件:
觉得妥了就去 HSTS Preload List (hstspreload.appspot.com) 这个页面申请。
在唯一一个文本框输入你的网站即可,这个列表是人工审核,因此可能需要一段时间。申请成功之后查询会显示:“Status: example.com is currently preloaded.”
经过将近两个月的时间,域名已经进入正式版 HSTS 列表。
最后提醒一句,如果不能保证你所有域名都使用HTTPS的话请不要使用HSTS,不然浏览器会拒绝打开你的网站。
服务器:Windows IIS。
ios9之后,苹果要求所有的TLS(安全传输层协议)版本不低于1.2。
下面如果有 TLS 1.2 节点,表示安装了TLSv1.2。
上面在新建的时候就已经赋值1了,不需要再去手动更改,如果需要关闭相应的版本,直接修改Enable值为0即可。
然后就可以看到下图了,心情真好,小程序也通了。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)