
OpenLiteSpeed 调教 A+ 跑分

OpenLiteSpeed 在默认情况下,对于 SSL/TLS 的支持比较保守,这就导致了我们的网站跑不出 A+ 的跑分,只能拿到 A、B 一类的分数。比如我刚刚测试出的跑分是 A:
有两个东西需要我们修改,一个是 SSL/TLS 版本,还有一个是加密套件(Cipher Suites)。
修改 SSL/TLS 版本
OpenLiteSpeed 默认情况下支持 TLS 1.0+,不支持 SSL 协议。这会导致我们的跑分降到 B。
想要上 A+,那就必须把 TLS 1.0 和 TLS 1.1 关闭。
关闭的方法也很简单,打开 OpenLiteSpeed WebAdmin,转到监听器,选中负责 HTTPS 的那个监听器:
然后打开 SSL 页,修改“SSL 协议”:
把 TLS v1.0 和 TLS v1.1 前面的钩取消,然后点击保存。
保存完不要忘记平滑重启 OLS。
修改加密套件
还是在刚刚那个位置,修改“加密器”为下面的内容:
TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256:TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
嫌麻烦也可以设置成下面的内容,但是这个配置似乎不包含 TLS 1.3 要用到的套件,我没有测试过,请慎用。
EECDH+ECDSA+AESGCM
这会把 OLS 默认支持的不太安全的 CBC 套件关闭,否则跑分会卡在 A。
配置 HSTS
调教 A+ 的最后一步是启用 HSTS,这样可以使网页强制使用 HTTPS 传输。重定向是在浏览器端执行的,这样可以最大限度减小中间人攻击的可能性。
这一步需要在虚拟主机进行。转到虚拟主机,编辑你要添加 HSTS 的虚拟主机,然后打开资源集。
新增一个资源集,类型为“Static”。
URI 设置为“/”,也就是对所有路径生效。
重点在头部操作这里,把值设置为:
set Strict-Transport-Security max-age=31536000; includeSubDomains; preload
其中 max-age
指定 HSTS 过期时间,单位是秒。includeSubDomains
代表 HSTS 策略也要应用到子域名,请根据实际情况选择。preload
是一个特殊的标记,如果你希望申请让你的网站进入 HSTS 预加载清单的话就需要设置这个。(预加载的好处在于,浏览器不需要至少访问过一次网站就可以强制执行 HTTPS 连接。否则在用户第一次访问网站之前,还是存在着一个允许中间人攻击的缺口,因为此时浏览器还没有收到过 HSTS 头。)
像这样:
老规矩,保存,重启 OLS。
后面想继续调教 A+ 跑分的话就需要配置 DNS CAA 记录,这个和 OLS 就没关系了,因此这里不做介绍。
检验
拿 Qualys SSL Lab 再次做个检查(可能需要点击一下 Clear Cache):
可以看到调教成功,那么恭喜你,可以收工了!