传输层安全 (TLS) 证书是均衡安全套餐的重要组成部分,相当于营养丰富的早餐在膳食平衡中的重要地位,但很多公司企业随便用根撒满糖霜油条就打发了这重要的一餐,还自以为补充了足够的能量(其实是纯热量!)。
或许有人觉得安全配置和部署 TLS 证书是小菜一碟,但只要用 Censys 或 Shodan 联网设备搜索引擎一搜,大量不安全 TLS 证书立时呈现眼前,其中甚至包括不少真的应该对网络安全知之甚详的组织机构所部署的。
TLS 证书保护 Web 流量、电子邮件和 DNS 等很多其他服务的机密性与完整性。尽管 X.509 证书体系广受破解之苦,但仍是不应被忽略的重要网络安全防护措施,就算不是能立时堵上所有安全漏洞的万灵丹,至少也是重要且简便的安全风险缓解办法之一。
以下五条建议助您玩转 TLS 安全魔力。
1. 采用更长的TLS密钥
1024 位 RSA 素数分解已经不是什么难事,攻击者下载用户公钥,再暴力破解私钥,就可以解密用户 Web 流量,甚至假冒用户的服务器。解决方案:采用更长的 TLS 密钥。
2048 位密钥是当前的行业标准,任何少于该标准的密钥位数都不应再被采用。对没有极高性能要求的网站而言,3072 或 4096 位的 RSA 密钥也不是什么过于疯狂的想法。增加 RSA 密钥长度确实会稍微影响性能,但未必会影响到用户可察觉的程度。
尽管确保 RSA 密钥长度够长对 TLS 证书安全而言至关重要,但仍有其他多种方式可以损害 TLS 安全性,密钥长度不过是 TLS 安全旅程的开头而不是终点。
2. 可能的话,移除TLS 1和TLS 1.1
就好像应被废止的 SSL v2 和 SSL v3,TLS v1 也不再被认为是可接受的最佳实践——甚至支付卡行业数据安全标准 (PCI DSS) 也于去年要求 PCI 合规网站撤销 TLS v1 支持,并敦促商家禁用 TLS v1.1。
题为 “使用 SSL/早期 TLS 的风险是什么?” 的章节里,PCI 人士写道:SSL 和早期 TLS 中存在大量未修复的严重漏洞,使用这些协议的组织机构有发生数据泄露的风险。广为传播的 POODLE 和 BEAST 漏洞利用就是个例子,攻击者可利用 SSL 和早期 TLS 中的漏洞渗透组织机构。
安全人员都清楚 PCI/DSS 的安全建议实乃老生常谈,不过是最低标准的合规底线。除非需要支持很多高龄设备,否则最好尽早移除对 TLS v1 和 TLS v1.1 的支持。
TLS 1.3 尚属新鲜事物,但能提供更健壮的安全特性,并做了一定程度的性能提升。该新规范直到 2018 年 8 月才最终定稿,截至目前采用进程缓慢。提供 TLS 1.3 支持不会有任何已知危害,如果客户端不支持该新协议,会自动降级到 TLS 1.2。
3. 如果可能的话,删除对旧密码套件的支持
降级攻击太多太密集。POODLE、FREAK、Logjam……层出不穷,绵延不断。为支持老旧设备,很多 TLS 实现都支持 90 年代所谓的 “出口加密”——美国故意弄残的加密方式。美国国家安全局 (NSA) 对出口海外的加密强度设了限制。用 Censys 一搜就可以知道,直到最近,诱骗 Web 服务器认为客户端仅支持古早加密套件依然是相当有效的攻击方式,数百万网站都会中招。
最好只启用安全的加密,如果必须忍受较弱的加密,衡量下为极少数用户的可用性而丧失*全部*用户的机密性与完整性值不值得。
想分析验证自身 TLS 证书当前支持的加密套件及其安全性,可以考虑从 Qualys SSL Labs 的在线测试入手。
4. 更短的有效时间
破坏正确配置部署的 TLS 证书安全性最简单的方法,就是黑进服务器并盗取私钥。常规密钥轮转可以确保密钥盗窃不意味着全盘皆输,并将伤害控制在最大入侵时间窗口内。专家建议密钥轮转时间间隔在 60-90 天为宜,Let's Encrypt 强制要求最长不超过 90 天。
然而,行业标准依然允许长达 2 年(825天)的密钥有效期,这还是 2018 年才从之前的最长 3 年减下来的。千万别以最低标准要求自己。时至今日,密钥 30 天一轮转不稀奇。逼迫攻击者要么长期驻留,要么经常入侵服务器盗取新密钥,可以增加抓到攻击者的概率。就算挡不住最危险的黑客团伙,至少可以让他们没那么轻松就可以扬长而去。
5. 避免跨多个设备使用通用证书
如果私钥部署在多个设备上,比如 Web 服务器、电子邮件服务器、影印机、打印机和一些物联网设备,那黑掉服务器盗取 TLS 密钥就相当容易了。现如今攻击界面无比庞大,攻击者仅需找出最脆弱的设备便可顺藤摸瓜直捣黄龙,黑一台复印机拿到私钥显然比直接黑服务器来得容易得多。
私钥所处的地方越多,攻击者盗取私钥解密所有信息的过程就越轻松。所以,千万别图省事只用一个私钥打天下。只要有条件,私钥应每个设备配一个。
没有所谓的 “攻击免疫” 组织机构。即便是英国政府通信总部 (GCHQ),也曾因一个通用 TLS 证书败走麦城。
糟糕的 TLS 部署操作会向嗅觉灵敏的攻击者透露很多有关你公司的信息,每周扫描整个 IPv4 网段的监管机构和网络安全保险公司同样可借此了解你的安全合规状况。如果连 TLS 证书都懒得正确部署,可以想见其他基础设施的安全状况也好不到哪儿去。很多人都在四处嗅探你的安全情况,其中一些可没那么友好。必要的门面工作要做好,吓阻总比事后补救来得方便。
Qualys SSL Labs 在线测试网址:https://www.ssllabs.com/ssltest/
【本文是51CTO专栏作者“李少鹏”的原创文章,转载请通过安全牛(微信公众号id:gooann-sectv)获取授权】