服务器支持弱传输层安全协议(SSL/TLS)的发现与应对

本文详细分析了服务器支持弱SSL/TLS协议的安全风险,探讨了攻击者如何利用弱加密协议突破通信隧道,并提供了针对Windows和Linux系统的加固建议,包括禁用弱协议与密码套件的具体方法。

发现:服务器支持弱传输层安全协议(SSL/TLS)

以下博客文章旨在扩展BHIS报告中常见的发现。“服务器支持弱传输层安全协议(SSL/TLS)”在我们的测试中几乎普遍存在。

为什么这一发现重要?

这一发现之所以重要,是因为攻击者最终对数据感兴趣。使用强SSL/TLS配置为使用它的应用程序或协议提供身份验证、认证、保密性和完整性服务。如果支持弱协议和密码套件,攻击者可能能够破坏客户端和服务器之间的加密隧道。一旦发生这种情况,攻击者可能会冒充通信端点之一、窃取未加密信息,或在传输过程中修改该信息。

尽管攻击SSL/TLS可能困难且耗时,但如果不可能,我们也不会退役整个协议,如SSLv2、SSLv3和TLS 1.0(截至2018年6月30日以满足PCI合规要求)。多年来我们还经历了以下事件:

从左到右:Heartbleed、Drown和SSL POODLE漏洞标识

考虑到渗透测试的时间限制以及与其他测试目标和结果的冲突,我们可能除了使用额外工具确认Nessus结果之外,没有做更多工作。

那么你为什么应该关心?

你应该关心,因为SSL/TLS的使用通常是保护客户端和服务器之间通信(无论是客户还是员工)隐私的唯一保护措施之一。它还可以提供身份验证和完整性检查。即使是最琐碎的通信也可能包含敏感信息,或者作为副作用生成敏感信息(如身份验证哈希)。因此,最好通过修补和禁用弱协议和密码套件的支持来保持SSL/TLS配置的最新状态。

你应该怎么做?

在企业Active Directory环境中,进行这些更改可能很简单。Active Directory组策略可用于禁用弱密码套件和协议,并在Windows计算机(客户端和服务器)范围内设置密码偏好。显然,实施此类更改应逐步完成,以确保不会发生客户端连接和SSL/TLS协商失败。

除了在组策略中实施更改外,我们还建议更改默认客户端映像中的设置,以确保设备默认不能使用不安全的协议或密码套件。可能需要对特定的Active Directory基础设施系统进行额外配置,以完全禁用弱协议和密码套件的支持。

对于Linux、类Linux和Unix设备,可以使用自动化框架(如Puppet)找到类似的自动化功能。与Windows系统一样,这些更改也应集成到这些操作系统的基线程序中。

也不要忘记那些移动设备。

你可能进展最慢的领域是嵌入式系统(打印机、存储设备、销售点硬件等)和供应商设备。如果你有一个同质的打印环境,你可能很幸运,因为一些供应商支持大规模固件升级。然而,更好的策略可能是分段和访问控制列表(或防火墙),以防止设备(及其通信)首先被攻击者访问。

什么构成“弱”和“强”?

从协议的角度来看,如果你能,最好的选择是禁用任何低于TLS 1.2的支持。关于密码套件和一般配置选项,Qualys SSL Labs的Ivan Ristic的以下帖子包含所有你想要的细节:https://github.com/ssllabs/research/wiki/SSL-and-TLS-Deployment-Best-Practices

结论

在大多数现代主机上,纠正SSL/TLS问题并不是一项艰巨的任务。必须小心确保在特别敏感的系统上避免服务降级。你也可以对你没有时间或资源处理的系统采取替代方法。我们还没有确定一个详尽的列表,但考虑将这些系统与“群体”的其他部分隔离应该能激发你的创造力。

如果所有其他方法都失败了……你可以这样做。

参考链接

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计