LeanCloud 的两个重要域名从 6 月 20 日下午至 6 月 25 日早晨被阿里云禁止解析和转出。这个事件给 LeanCloud 和 LeanCloud 的用户造成了重大损失,对 LeanCloud 来说,长期的影响难以估计。过去这段时间里,很多用户都要求我们公布这件事更详细的信息。目前我们初步的改进措施已基本完成,所以这是向大家公布详细信息的合适时间。
我们只有域名注册在阿里云(万网),没有使用阿里云的其它服务,日常与阿里云的交流很少。在事件过程中,有几位阿里云的朋友也在想办法解决问题,并帮助我们进行了沟通。他们所在的组织很庞大,我们所寻求的信息他们也不了解,只能代为传达,一些我们后来发现的情况,他们也并不清楚,虽然结果还有遗憾,但对这些朋友我们是非常感谢的。
由于第三方的原因,我们未能掌握所有相关的信息来完全确定事实,所以这里只能按时间线把我们所了解到的事实披露给用户。
在事发一个多月前的 5 月 15 日,有关部门告知我们某违规视频应用使用了我们的服务,并提供了证据和准确的请求信息,我们及时确认并查封了该应用的账号。由于这类应用通常会用多个包进行分发,我们进行了整体清查,查禁了几个与之高度相似、能鉴别是违法应用的账号。在答复有关部门时我们特别说明了该应用对我们依赖很小(只将少量配置信息和跳转链接存放在此),我们查封意义不大,应通知它所使用的其它云服务。该部门答复他们清楚情况并已处理。
这里提及这件往事,一方面因为它与后来发生的事件相关,另一方面是想说明我们之前经历的主管部门下发封禁操作的处理流程,以及我们的清查结果。
周四下午接近傍晚时,我们开始发现有的地方无法解析我们的两个关键域名,域名状态被域名注册商阿里云(万网)设为「ClientHold」。我们从官方渠道联系阿里云客服,只被告知禁封原因是域名下有违法违规内容,阿里云不能提供更详细的信息、违规证据以及申诉渠道联系方式,让我们自己查。后来我们只好请在阿里云的朋友帮忙询问,并帮忙拉群建立与阿里云的有效沟通渠道,同时我们也通过多方渠道帮忙找阿里云的人员询问,最后从各方面得到的都只是一个违规应用的名称。这个应用与我们 5 月 15 日在 LeanCloud 查封的应用同名。
我们联系了 5 月 15 日通知过我们的有关部门,他们并不清楚阿里云收到的指令,答复既然是阿里云把我们封了,我们应该找阿里云交涉。但我们通过朋友找阿里云相关人员沟通时,他们表示只是执行,让我们自己找有关部门交涉。而这时已经过了有关部门上班时间,不再能联系上他们。
我们的运营和研发团队同时再次进行了清查,发现了一个与此前查封的应用在功能和对 LeanCloud 使用方式都类似的应用(下称「涉嫌违规应用」)。因为没有从阿里云得到具体信息和证据,无法判断它和此次域名被禁用是否有关系,但由于可以判断该应用的产品性质,我们将其账户禁用。
当天傍晚我们发布了公告,通知用户事件的起因、进展和影响范围,并且提供了可临时替换的紧急域名以尽量减少对用户业务的影响。
周五早上我们再次联系上有关部门,虽然他们对这次的具体情况不清楚,但是因为阿里云禁封我们域名的原因是他们以前和我们沟通过的一个同名应用,所以愿意接受我们的申诉。在此期间帮忙的阿里云的朋友也从他们一侧与该部门进行了沟通,确定了申诉方式,即由我们提交一份书面报告。
我们在当天下午送去了一份报告,说明了 5 月 15 日收到通知时的处理情况,这次域名被禁之后的追加处理措施,再次说明该应用的违规违法信息并不存储在 LeanCloud。但是他们需要和其它部门确认,所以不能马上答复我们结果。但后面就到周末了。
在与阿里云持续沟通过程中,我们多次提出希望能向我们出示有关部门的原始指令,或被封域名下有违规内容的证据,阿里云均回复不能提供。
在这一天里,我们各平台 SDK 紧急发布了新版,以避免国际版的应用受国内域名的影响;华北和华东节点暂停了开发版应用的创建,以避免问题解决过程中受到新的干扰;控制台紧急上线了绑定自有域名和 SSL 证书的功能;我们的主站、博客等也迁移到了临时域名。
对涉嫌违规应用使用 LeanCloud 的服务类型与使用方式,我们重新整理了一份报告:
这个应用启动时会访问一些域名,除了我们的域名外,还有某推送服务、阿里云杭州的对象存储服务和一个在国外注册的域名(用于读取视频列表等信息)。从 LeanCloud 获取的是一些配置信息,比如是否显示广告、广告 URL、是否显示某些 UI 元素、显示的文字,以及一些计数器。现在看来,该应用使用 LeanCloud 服务的方式与使用通常的统计、推送服务的方式无异,我们从保存到 LeanCloud 云端的数据上也很难提前判断甲方业务的性质。
在运行过程中,这个应用从阿里云的对象存储服务读取视频封面,从域名看是香港、杭州、北京三个节点。用于推广违法应用的涉黄图片及应用的着陆下载页也存储在阿里云。在播放视频时会访问多个存储视频的域名,这些域名均在阿里云注册。
我们观察到的这个应用访问的所有域名中,除了一个在国外域名商注册,其它域名都注册在阿里云。作为违规图片、视频来源的几个域名用的还是阿里云(万网)的 DNS 服务器。在 6 月 20 日我们的域名被禁用后,该应用访问的所有其它域名都能正常解析,所有其它数据都能正常访问,包括存储在阿里云的图片、视频封面和着陆页等,该应用依然处于正常运行状态。
我们将周末完成的新报告在周一下午送交有关部门。
作为澄清事实的最后一次努力,我们再次联系阿里云,表达了我们有理由相信禁用我们的域名是阿里云在执行中的问题,再次要求阿里云提供可以支持他们决策的证据或者监管部门的原始函文。阿里云又一次拒绝了我们的要求。
周二中午阿里云通知我们收到有关部门的通知,将恢复我们的域名。
由于始终没有得到任何详细信息和证据,我们仍然无法确定这两个域名被禁用的准确原因和过程。即使假设上文所说涉嫌违规应用是直接原因,它访问的 11 个域名里只有属于 LeanCloud 的域名被禁用,即使不调查用途,随机选择两个域名,正好是这两个域名的概率也低于 2%。我们从得到的信息难以得出答案,所以只能把从我们的视角看到的原始事实告知用户。
尽管这件事留下了一些问号,但对于我们来说只能着眼于自己能控制的因素,在未来避免风险,更好地服务客户。这次事件也让我们消除了一些在商业模式上的模糊性,让 LeanCloud 未来在国内的定位更加清晰。我们在事件期间开始实施并且以后会继续推进的改变有几方面:
在这次事件期间,广大用户给予了我们宝贵的耐心和支持,博客和微博上有不少鼓励的留言,有不少用户帮忙出谋划策,也有的用户在事后给我们提出改进的建议。我们想再次感谢这些用户,会以更好的服务为用户创造更高价值。
以下为我们在事件期间和之后发布的相关公告汇总: