在 9 月的最后两周,由于对我们 Web 服务器的一系列攻击,我们登上了新闻头条。今天,我们想向大家简要介绍一下我们网站的现状,以及过去两周发生的事情的回顾。
jQuery 遭到围攻
9 月 18 日凌晨,我们遭到 DDoS 攻击,网站下线。我们停机了几个小时。这些网站在 9 月 18 日当天晚些时候恢复了运行,一切似乎都很好。
后来,在 9 月 18 日下午,一家名为 RiskIQ 的安全公司联系了我们,报告他们的爬虫程序报告我们的内容网站正在提供恶意软件。从未有任何报告表明 jQuery 库或 CDN 遭到破坏。在收到该报告后,我们立即完全销毁并重新映像了所有这些机器,撤销并重新颁发了所有关联的 SSL 证书,并确认当时没有提供可疑内容。从那以后,我们自己的团队以及来自 Mozilla 和 MaxCDN 的安全人员一直在努力分析日志,并试图确认此次攻击的影响。
9 月 23 日,RiskIQ 公开发布了他们的报告,该报告在当天的各种媒体和 Twitter 上引起了广泛关注。第二天早上,9 月 24 日,随着对我们财产的 DDoS 攻击在频率和幅度上不断增加,CVE-2014-6271,也就是所谓的 ShellShock 漏洞,发布了。随着我们继续回应媒体讨论,并向社区通报 9 月 18 日发生的事情,我们再次成为受害者,遭到了一系列更加公开的攻击,这些攻击涉及到反复篡改 jquery.com。
我们对系统进行的调查尚未发现最初的攻击媒介。但是,我们确实采取了一些措施来提高自身安全性。例如,我们的一些 WordPress 安装已经过时,我们所有的服务器都容易受到最近的 shell 漏洞的影响,NGINX 也略微过时,也许还有一些其他的补丁等需要更新。基础设施团队深入研究并开始进行这些更改,并开始构建新的、完全修补和安全的服务器来托管我们的网站。这些更改似乎有效,因为篡改行为停止了,并且我们没有看到任何入侵迹象。
9 月 24 日晚些时候,一场大规模且持续不断的 DDoS 攻击开始了。它似乎会成波浪式地出现,但直到 9 月 28 日晚才停止。9 月 26 日和 27 日的大部分时间都花在了尝试实施各种产品和解决方案,以便使服务器保持运行状态。我们日夜不停地努力使网站保持在线状态。我们必须赞扬 Corey Frang、Adam Ulvi、基础设施团队的其余成员以及其他成员;他们通宵达旦,轮班工作,努力让我们保持在线状态。如果没有他们的努力,我们就不可能获得我们短暂的正常运行时间。我们采取的一项非常重要的措施是联系了 CloudFlare,他们慷慨且迅速地让我们使用他们的企业级服务,这极大地帮助我们缓解了这些攻击。
展望未来
jQuery 和 jQuery 基金会对 Web 生态系统至关重要,这一点从大量媒体报道以及众多表示关注的个人和组织向我们提出的关于此次攻击的问题中就可以看出来。jQuery 基金会每天都在努力维护和改进我们的项目以及围绕这些项目的结构。这项工作的目标是继续让 Web 开发人员的工作更轻松,并确保他们在标准和浏览器领域拥有发言权。但是,这些目标需要大量的资源。无论这些资源是由公司员工的专业知识或服务的提供,还是通过资金支持提供的,如果没有开源社区和我们支持的成员的支持,我们将无法继续这项重要工作。
在整个事件中,我们被多次问到为什么我们没有部署 XYZ 服务,或者为什么我们没有让我们的安全团队密切关注这些类型的风险。简单来说,我们的预算紧张,资源有限。我们的基础设施团队,以及我们大多数团队,都是由志愿者组成的,他们自愿贡献自己的时间,以确保一切正常运行。《Heartbleed》和 ShellShock 漏洞是最近的例子,说明了当开源项目被认为理所当然,并且被认为是正常的时,情况会变得多么糟糕。最终,一些事情会漏掉,而当人们在业余时间尽力而为时,这些漏洞会变得更大、更频繁。
那么,你能怎样帮助我们呢?作为个人,参与我们的一个项目。我们总是需要帮助编写代码、设计、维护服务器、参加活动,等等。请查看 contribute.jquery.org,或者在我们的许多频道中(列在 irc.jquery.org 上)中在 IRC 上向我们打招呼。作为组织,我们很乐意听取你愿意捐赠的任何服务、你可以抽出时间参加的任何开发人员或其他技术专业人员,或者你是否可以提供资金援助。请发送邮件到 membership@jquery.org,让我们知道你如何提供帮助。
我们不想过多谈论这些攻击,因为它们正在发生,因为在黑客眼中,我们仍然是一个诱人的目标,他们甚至在本文撰写之时仍在试图渗透我们的服务器。现在与社区分享所有这些信息,我们试图在解释正在发生的事情的必要性与可能由此产生的公开声明并表示我们相信已经控制住了局面的潜在反弹之间取得平衡。
也就是说,我们现在确实相信我们已经控制住了局面。为此,我们要对整个 jQuery 基础设施团队表示衷心的感谢,他们卷起袖子,为解决这些问题而不懈努力,让我们回到了良好的状态。我们将继续保持警惕,确保为我们用户社区提供的所有资源的可靠性和安全性。