网站部署与维护中,HTTPS的安全配置与兼容性平衡是核心环节。接下来本文将从SSL协议选择、密码套件配置、合规要求等维度,详细讲解HTTPS的安全与兼容性配置方法。
一、SSL协议选择
SSL协议版本直接影响HTTPS的安全性,需根据网站受众的设备情况选择合适的协议范围,避免因协议过旧导致安全漏洞,或因协议过新导致部分设备无法访问。
若网站主要面向主流设备,建议仅启用TLSv1.1 和 TLSv1.2这两个安全协议版本,禁用存在漏洞的 SSLv2、SSLv3 及 TLSv1。
若网站需支持老旧浏览器(如 IE6)或操作系统(如 Windows XP),可适当放宽协议范围,但仍需禁用风险极高的 SSLv2、SSLv3。
二、禁止使用RC4密码套件
2015年3月数据安全公司Imperva的研究员Itsik Mantin在BLACK HAT ASIA大会上发表论文《Attacking SSL when using RC4》,揭示了RC4密码套件的核心漏洞:不变性弱密钥会在加密初始化过程中保持状态转换完整性,导致伪随机输出流出现偏差,与明文异或后泄露关键信息。
该漏洞并非新发现,早在2001年FMS团队就已在《Weakness in the Key Scheduling Algorithm of RC4》中提出弱密钥问题,只是2015年的研究进一步提供了可实操的攻击方法。
若你的服务器需要支持IE6这种古董级别的浏览器,那么可以支持SSLv3版本协议,如果说对兼容性没有太大的需求,只要主流的浏览器能够访问那么就不要支持3DES系列的加密套件,如果说想要在保证安全性的同时,也要有最好的兼容性,那么就可以采取TLS1.x协议+FS加密套件配置方式进行配置。以百度网站的兼容性为主举例:
以下是按照安全性从低到高,兼容性从高到低的三种加密套件配置方法:
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256::!MD5;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
三、PCI DSS合规要求
PCI DSS是支付类网站的强制合规要求,由 PCI 安全标准委员会制定,旨在统一支付数据的安全保护措施。其中明确规定:2018 年 6 月 30 日后,启用 TLSv1.0 将导致 PCI DSS 不合规,需升级至 TLSv1.1 及以上版本。
服务器配置(以 Apache 为例):
修改 Apache 配置文件中的ssl_protocols字段,仅启用 TLSv1.1 及以上版本,配置如下:
- ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
- 若服务器支持 TLSv1.3(需 Apache 2.4.38+、OpenSSL 1.1.1+),建议一并启用,TLSv1.3 在安全性和传输效率上均优于旧版本,是未来主流趋势。
禁用 TLSv1.0 后,主要影响的是老旧系统自带的浏览器,如:
- Windows XP 系统下的 IE6/IE7;
- Windows Vista 系统下的 IE8(未升级补丁)。
而主流浏览器(Chrome、Firefox、Edge、国产浏览器)均已支持 TLSv1.1 及以上版本,对多数用户无影响。若网站受众中老旧设备占比极低,可直接禁用 TLSv1.0;若仍有少量老旧设备用户,建议通过公告引导其升级浏览器或设备。
四、优先启用FS加密套件
FS(Forward Secrecy,前向保密)加密套件的核心优势是:即使服务器私钥泄露,攻击者也无法解密此前的加密通信数据。若服务器未配置 FS 套件优先,部分安全检测工具(如 MySSL)会降低网站的安全评级,因此需手动开启 FS 套件优先级。
配置方法(还是以Apache为例)
- 打开 Apache 配置文件(如ssl.conf),找到SSLHonorCipherOrder字段;
- 将该字段设置为on,表示服务器按配置的顺序优先选择加密套件,而非由客户端决定。
完整配置示例:
五、证书链缺失问题
部分网站在 MySSL 等工具检测中,会因证书链不完整导致安全评级降至 B 级,甚至出现浏览器提示 “证书不可信” 的情况。这一问题的核心原因是:服务器未配置完整的证书链,而浏览器依赖系统内置证书库验证,若缺失的中间 CA 证书不在系统库中,就会判定证书不可信。
现代浏览器虽支持自动下载缺失的中间 CA 证书,但首次访问时仍会出现以下情况(以 Chrome 为例):
- 地址栏显示 “不安全” 标识;
- 弹出 “您的连接不是私密连接” 提示,阻止用户访问;
- 仅当浏览器自动下载并安装缺失的 CA 证书后,后续访问才会显示 “可信”。
通用解决方法:
从证书颁发机构(如安信证书、Let’s Encrypt)获取完整的证书链文件(通常包含服务器证书、中间 CA 证书);
在服务器配置中指定完整的证书链路径,而非仅配置服务器证书。
以 Nginx 为例,配置如下:
ssl_certificate /etc/nginx/ssl/full_chain.crt; # 完整证书链(含中间CA)
ssl_certificate_key /etc/nginx/ssl/server.key; # 服务器私钥
安信证书配置案例:
安信证书在为官网配置 HTTPS 时,综合平衡安全性与兼容性,采用了以下方案:
- SSL 协议:启用 TLSv1.0+TLSv1.1+TLSv1.2(覆盖多数设备,仅放弃 XP+IE6 组合);
- 加密套件:禁用 RC4,优先选择 FS 系列套件;
- 证书链:配置完整的中间 CA 证书。
经 MySSL 检测,该配置除 XP 系统 IE6 外,其余设备均能正常访问,安全评级达到 A 级,实现了 “安全与兼容” 的平衡。
安信证书官网:点击直达
-
广告合作
-
QQ群号:4114653
















