最近披露,过去 5 个月里,流行的 CDN 提供商 Cloudflare 发生数据泄露,可能导致敏感数据被其他用户及更重要的是搜索引擎访问。
Cloudflare 已经在其系统上努力解决该问题,主要的搜索引擎也在过去几天里努力尝试从其缓存中移除这些数据;然而,一些使用 Cloudflare 服务的 Joomla! 网站上存储的数据可能已经被泄露。
尽管这与 Joomla! 的特定安全问题无关,但我们希望向 Joomla! 用户解释,如果您使用 Cloudflare 并且可能受到此攻击的影响,您可以采取哪些措施来帮助保护您的网站。
谁受到了影响?
此问题不直接相关于或由 Joomla! 引起,因此不会影响所有 Joomla! 网站。1
唯一受此问题影响的 Joomla! 网站是那些使用 Cloudflare 服务(免费或付费)的网站。如果您知道您没有使用 Cloudflare 服务,您可以安全地忽略此通知,因为这仅影响使用 Cloudflare 的网站。
Cloudflare 由许多通过 cPanel 提供的网页服务器/托管公司作为免费内容分发网络(CDN)提供,以及使用其他非 cPanel 管理的托管公司提供。如果您不确定您的网站是否使用 Cloudflare,我们鼓励您联系您的托管公司以确定您的 Joomla! 网站是否在使用 Cloudflare。
如果您不使用 Cloudflare,遵循这里的步骤将不会以任何方式帮助保护您的网站。它仅适用于使用 Cloudflare 的 Joomla! 网站。
工作原理
Cloudflare介于您的网站服务器和访问您网站的访客之间使用,并提供两个主要功能——它通过将入站网页访问流量引导至Cloudflare自己的网络来保护网站,在此过程中过滤掉黑客攻击。它还提供CDN和负载均衡,以帮助您的网站加载更快。
发生了什么
在过去的5个月里(具体是在2016年9月22日至2017年2月18日之间),Cloudflare软件中存在一个错误,这个错误可能会导致未加密的私人数据以及其他“垃圾”文本被包含在网页底部的位置。
基本上发生的是,一个网站通过Cloudflare“处理”的数据可能被发送给查看另一个完全不同的网站(也由Cloudflare“处理”)的访客。此外,这个过程被发现已被搜索引擎索引。这估计影响到高达3,438个受影响的网站。
最严重的数据泄露发生在2月13日至2月18日之间,每3,300万次对Cloudflare服务器的请求中就有一次泄露。
如果您想阅读有关此事件的技术报告,我们建议您阅读Cloudflare的官方分析: https://blog.cloudflare.com/incident-report-on-memory-leak-caused-by-cloudflare-parser-bug/
我可能会受到影响吗?
尽管Cloudflare表示,受影响的客户比例相对于其总客户数量来说相对较小,但任何使用Cloudflare的网站都有可能受到影响。如果您的网站使用Cloudflare,我们建议您假定您的网站受到了影响,并采取适当的措施来缓解问题。
这严重吗?
我们将用发现这个漏洞的谷歌研究人员的话来描述。
我们发现的例子如此严重,我取消了周末的计划,周日去办公室帮助构建一些清理工具。我已经通知了Cloudflare我正在进行的工作。
来源:https://bugs.chromium.org/p/project-zero/issues/detail?id=1139
尽管泄露的数据很可能不足以恢复和使用,但某些数据可能可以,因此我们建议您采取额外的谨慎措施,并为最坏情况做好准备。
如果您在Joomla!中使用Cloudflare应该怎么做
在对Joomla!网站进行任何更改之前,您应该先对您的网站进行完整备份,并将其存储在安全的地方。
步骤1 - 使用户会话无效 / 重置站点密钥
为了帮助保护您的网站,您应该使所有会话ID和cookies无效。
为了做到这一点,Joomla!安全打击团队(JSST)建议所有使用Cloudflare的Joomla!用户更改您网站配置.php文件中的密钥。
请注意:这将产生以下额外影响,这将影响您的用户
- 您的Joomla!缓存条目将被无效化
- 任何挂起的密码重置电子邮件将被无效化
- 任何挂起的用户激活电子邮件也将无效化。
如果您担心电子邮件链接无效,您可以检查Joomla!用户组件中待激活状态的用户或请求密码重置的用户。
我如何重置我的站点密钥?
这是一个手动过程,需要能够编辑Joomla!网站上名为configuration.php的文件。
- 使用FTP程序、cPanel(或其他方式)访问服务器上的文件
- 在服务器上转到Joomla!网站的主根目录
- 编辑文件configuration.php(您可能需要先更改此文件的权限以允许编辑)
- 找到以下内容开头的行
public $secret =
- 将单引号内的文本更改为等长的随机字符字符串(确保将此保持在单引号内)
- 找到以下内容开头的行
- 将文件保存回您的网络服务器。
这解决了主要的安全问题;但是,我们建议您也完成下面的步骤2和3。
步骤2 - 重置密码
不太可能有密码泄露,但假设最坏情况是更安全的。我们建议您通知您的网站用户重置他们的密码,并要求管理员重置他们的密码,以确保完整的数据安全。
步骤3 - 报告此次数据泄露
Cloudflare将此视为“数据泄露”;然而,根据您的组织或网站的规定,这可能会被认为是“数据泄露”。虽然没有泄露任何私人、用户或可识别的个人信息,但与您网站用户相关的私人数据可能已经泄露到公共系统。这些数据可能有能力导致任何恶意行为(即数据可能不完整或不清晰,但具有这种潜力)。
如果您有PCI、HIPAA或其他数据泄露报告要求,您应该考虑寻求建议,以确定是否需要报告此事件。
1. 此问题有可能影响所有网站,包括所有CMS(内容管理系统)和API等。如果您使用Cloudflare管理其他网站,我们建议您研究保护这些网站的正确方法。