近期使用SSL/TLS 安全评估报告查询网站 SSL 安全性的时候网站安全性总是 B,现在通过下面的方式可以升级到 A 或者 A+。当然我们也提供了 nginx 不使用 CDN 的情况下的配置方案。
使用了 Fikker CDN 系统
Fikker 是一个非常好的反向代理系统, 但是他们的 SSL 默认配置文件有点问题, 导致 SSL 评级会比较差, 主要提示是:
服务器易受到 POODLE 漏洞攻击,降级为 C
因为使用 RC4 密码套件,降级为 B
其实 Fikker 已经提供解决方案了, 只需要修改一下 Fikker 的 SSL 配置文件就可以了.
进入 Fikker 的 ssl 配置目录, 如
cd /root/fikkerd-3.7.5-linux-x86-64/config/ssl
先备份原来的配置文件
mv ssl.ini ssl.ini.bk #备份原来的 ssl 配置 mv ssl.ini.HIGH\! ssl.ini #生成新的 ssl 配置
再重启 fikkerd 服务就好了
cd /root/fikkerd-版本号-linux-x86-64/ ./fikkerd.sh restart
再来测试一下
但是要注意, 如果这样设置 Windows XP 系统的 IE 6 和 IE 8 浏览器(不包括其他浏览器)是无法打开 HTTPS 网站, 详情请看这里:
HTTPS 安全与兼容性配置指南
只使用了 nginx 没有使用 CDN 的情况下的配置方案
在网站的配置文件中修改为以下内容即可(宝塔页面,lnmp 请前往主机的 vhost.conf 修改):
#HTTP_TO_HTTPS_END *** ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; #就只需要修改这两行内容就可以了 *** #SSL-END
要让修改结果生效,请重启 nginx。
其他网页服务器软件请自行百度。
到这里,检查结果只会在 A 不会到 A+,要到 A+需要打开 HSTS,接下来说说设置 HSTS。
设置 HSTS
HSTS 只支持打开了 ssl 的网站,并且打开了 HSTS 就表示这个域名要一直提供 ssl 服务,中断 ssl 服务可能让域名无法正常访问,请谨慎设置。
在网站的配置的网站 Server_name 下添加add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
即可打开 HSTS。
server
{ listen 80; listen 443 ssl http2; server_name 你的域名; add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"; #添加这一行代码就可以了,63072000 表示 63072000 秒即一年。 index index.php index.html index.htm default.php default.htm default.html; root /www/wwwroot/你的域名;
设置完 HSTS 后需要重启 Nginx 服务方可生效,由于缓存问题,可能无法及时生效,需要等一段时间再去测试,这样就可以达到 A+了。