Google域名屏蔽所有Gitbook URL:事后分析

2020-06-05 05:20:38

在2020年6月4日上午,我们的警报系统开始通知团队访问GitBook内容时出现问题。我们监测到,所有的GitBook内容都逐渐且迅速地变得不可用。到了中午,我们的大部分内容都无法访问,甚至到了无法使用@gitbook.com邮件收发电子邮件的地步。

这份报告旨在解释发生了什么,我们是如何行动的,以及我们正在做些什么来防止这种情况再次发生。

Google域名暂停了我们的域名,因为我们已经暂停了一个网站上的钓鱼活动。

我们减轻了自定义域的影响,并与他们的支持团队进行了一天的零星交流,直到他们最终解除暂停。

展望未来,我们将提高恶意内容检测和暂停账户的速度。

由于我们的服务本身报告正常,我们很快意识到问题要么出在我们的DNS提供商,要么出在GitBook域。

在格林尼治标准时间06:48,我们收到了来自Google域名团队的第一次通信,通知我们所有的GitBook域名都因为钓鱼活动的报告而被暂停。

GitBook是一个内容创作平台。我们允许任何人编写内容并将其发布给他们的团队或公众。

我们的绝大多数用户都在使用GitBook来编写更好的内容和分享知识。然而,少数用户(通常是机器人用户)滥用GitBook平台创建垃圾内容或试图冒充他人的内容,以便从访问者那里钓鱼信息。

从第一天起,我们就一直在处理此类滥用行为。我们要求用户使用电子邮件和电话号码验证他们的帐户,以便我们知道他们是真实的,我们有能力在看到用户滥用平台时立即删除内容并将其禁止,我们的支持团队会尽职尽责地响应这类请求。

在过去的几周里,我们看到GitBook平台上的钓鱼内容有所增加。在一些勤奋的用户的帮助下,我们识别了这些内容,并禁止了所有涉及的账户。谷歌也在内部识别了这些内容,并将其标记为针对我们,这最终导致了我们所有域名的全面禁止。

我们积极设计我们的整个系统,以便能够处理失败的事情。我们尽可能使用无服务器架构,并在需要部署我们自己的服务器时采用多节点故障转移策略。

不幸的是,域名注册商是您无法减轻的单一故障点。如果您的注册商决定停止处理gitbook.com&34;,您将完全受他们的摆布。DNS和域处理是导致大量中断的原因,尤其是在最近几年。

我们立即全力以赴,让一切恢复正常。我们最初的反应是与Google域名支持团队开通一条沟通渠道,了解报告了哪些内容,以及我们可以做些什么来让事情恢复正常。

在格林尼治标准时间08:06,我们收到一封电子邮件,通知我们已经报告的特定域名(特别是,我们已经在GitBook上禁用了),以及解锁我们的域名所需的步骤(这包括对内容的第三方扫描和GitBook整体的漏洞报告-显然在短期内无法实现)。

由于是我们的整个域名被暂停,GitBook域名除了拼命寻找谷歌支持团队的人来处理我们的案件之外,没有任何解决方案。

我们的许多用户都连接了他们的自定义域,以指向他们的GitBook内容。对于这些用户,我们设置了一个临时工作域,并要求我们的用户将他们的CNAME条目修改为我们的新域。我们设法启动了CloudFlare Worker,并在UTC时间09:30左右开始运行,并开始让我们的自定义域客户端了解如何使用变通方法。

大约在格林尼治标准时间11点左右,我们设法通过实时聊天与Google域名支持团队的某个人取得了联系。他们告诉我们,此案已升级到合规团队,我们将在24-48小时内通过电子邮件收到他们的回复……。发送到他们刚挂起的域中的电子邮件地址.。

随着压力上升到无法克服的程度,我们疯狂地将时间分成两部分,一是试图与任何可以看到我们案例的人联系,二是在Twitter和对讲机上向我们的客户做出回应,二是试图集思广益,在不依赖谷歌回应的情况下解决问题。

我们的内容筛选器会检测到恶意GitBook,并且帐户会因网络钓鱼活动而被暂停。

世界标准时间06:48-我们收到一封来自谷歌的电子邮件,告诉我们我们的域名已被暂停。

格林尼治标准时间08:06-我们收到一封来自谷歌的后续电子邮件,告诉我们是哪些内容导致了暂停。

11:00 UTC-我们设法通过实时聊天与Google域名支持人员取得联系。

停机期间没有客户数据丢失。屏蔽我们的域名意味着我们的服务无法访问,但它们仍然在关起门来正常工作。

我们承担对Gitbook上的内容进行审核的全部责任。这种情况突显了我们需要更好地处理这一问题。我们最初的步骤包括:

检测和阻止发布的恶意内容。在过去的几周里,我们检测垃圾邮件的能力有了很大的提高,但我们仍然只是被动地做这件事。我们会让所有GitBook网站在重新发布时通过我们的内容过滤器。

最终,我们觉得原来是钓鱼问题的问题变成了一场彻底的灾难,这是因为它在域级上的处理方式。对于允许用户生成内容的产品来说,恶意内容是一个问题,而且永远都是一个问题。我们需要找到一个域名提供商谁理解这一点,并与我们合作,而不是反对我们,所以我们打算离开谷歌域名。以下是我们的理由:

我们从谷歌收到的第一封电子邮件是告诉我们,他们已经暂停了我们的域名。我们没有收到任何关于他们已收到报告或正在调查的警告。

最初被报道的GitBook网站是一个钓鱼账户,我们现在已经知道这个账户一个多星期了。这些内容已被扫描,被识别为恶意内容,并立即被禁止。

这意味着我们在6月4日收到的停职是基于谷歌至少一周前收到的信息。在这种情况下,我们的行动是正确的,并暂停了我们这边的账户,但谷歌在他们发布禁令的那一刻并没有再次检查(甚至没有告诉我们已经做出了报告)。

谷歌域名不适合托管用户内容的网站。一旦检测到站点上的单个URL是恶意的,整个域就会被禁止。与谷歌域名团队比较有趣的交流之一(尽管当时肯定不是)是关于谷歌自己是否会将他们的域名服务用于自己的产品。想象一下,由于一条垃圾内容,整个博客或YouTube都会崩溃。

总体而言,与支持团队的沟通很差。我们从他们那里收到的信息很少,我们收到的信息很少,也没有什么帮助。我们一度非常需要一个联系点,以至于我们求助于使用我们的人才经理来尝试在LinkedIn上寻找Google域名工程师。

作为一家产品公司,最令人沮丧的感觉之一是,当你知道某件事正在伤害你的用户时,你却无力修复它。许多GitBook客户都在使用我们的产品向他们自己的用户提供内容,今天我们把他们放在和我们一样的情况下。

我们要感谢我们的用户在我们工作期间的耐心和理解。尽管每个人都处于困难的境地,但我们的大多数用户都普遍表示支持。请放心,我们将尽我们所能从错误中吸取教训,并确保这一系列事件不会重演。