解码数字化之路,56 个深度转型案例正式上线,立即查看>> 了解详情
写点什么

谷歌在用新的创新方式杀死 SaaS 创业公司

  • 2021-02-04
  • 本文字数:4144 字

    阅读完需:约 14 分钟

谷歌在用新的创新方式杀死SaaS创业公司

任何在科技行业工作的人都很清楚,大型企业技术巨头在很大程度上是互联网的看门人。这篇文章所描述的安全浏览事件非常清楚地表明,谷歌实际上控制着谁可以访问你的网站,无论你在哪里以及如何运营它。Chrome 占据了 70% 的市场份额,火狐和 Safari 也都在一定程度上使用了 GSB 数据库,谷歌只需轻轻一点,就几乎可以让任何网站无法在互联网上访问。


本文最初发布于 Gonzalo Sainz Trápaga 的个人博客,由 InfoQ 中文站翻译并分享。


如果你因为谷歌安全浏览已将你的网站或 SaaS 应用列入黑名单而陷入恐慌,请直接跳到介绍如何处理这种情况的部分。Hacker News 的评论页 上也有很多有趣的评论。


过去,当谷歌(或谷歌发布的任何糟糕的 AI)决定要扼杀你的企业时,它通常会拒绝你进入它的某个围墙花园,就是这样。你可能也听过一些骇人的故事:


  • 网站被从谷歌的搜索结果页面中去掉,然后 被人遗忘;

  • YouTube 视频 被停掉,创作者失去了收入来源;

  • Android 应用 被从谷歌应用商店删除,无法到达它们的用户;

  • API 的价格发生了 剧烈的变化,或者干脆被弃用;

  • 最后但同样重要的是,个人生活遇到了上述所有情况:失去了 GMail 账户和整个数字生活的访问权限。



我发誓我已经仔细查看了 FAQ!


所有这些都是一个模子刻出来的。首先,企业选择使用谷歌服务,使其生存完全依赖于这些服务。其次,作为一头自动化巨兽,谷歌有自己的做事方式:它在自己地球大小的皮制扶手椅上稍微调整下屁股的位置,在不注意的情况下,就碾碎了无数蚂蚁大小的企业(相对而言)。第三,也是最后一个,蚂蚁大小的企业拼了命地设法告诉谷歌,他们被压了,但他们只能到达一个自动建议框。


有时,这种蚂蚁大小的企业的首席执行官认识谷歌的高层,因为他们是大学同学,或者首席技术官在 Medium 上写了一篇关于此类企业的文章,不知怎么就上了 Hacker News 的首页。然后,谷歌注意到了这些企业遇到的问题,有时它们会认为这值得解决,通常是因为担心蚂蚁革命可能带来的监管后果。


出于这个原因,在这类企业中有一个共识,如果可能的话,你不应该过度依赖谷歌的服务来建立你的企业。如果你设法避免了生活在谷歌的多重围墙花园中,你多半会没事。



平坦的蓝色地面和酷酷的红色屋顶!那么方便!


太阳底下有什么新鲜事?


如今,“互联网已不是过去的样子”,让我们来谈谈谷歌在不经意间摧毁你的创业公司的全新途径:不允许你以任何方式使用谷歌服务


你是否知道,你的网站域名可能会被谷歌列入黑名单,没有特别的原因,而且这个黑名单不仅谷歌 Chrome 会执行,还有其他多个软件和硬件供应商会执行?你是否知道,其他这些供应商同步这个列表的时间和条款解释非常多变,在某种程度上,这种方式使修复任何问题都非常紧张和不可预测?你是否知道,谷歌审查黑名单报告的时间预计是几周,而不管其多么不合理?



这就是你的网站或 SaaS 应用程序


这个黑名单“功能”被称为 谷歌安全浏览,如果你的域名碰巧在安全浏览数据库中被标记,你的用户将看到上图所示的微妙信息。警告文本从“欺骗性网站”到“网站包含恶意软件“(完整列表见 这里),它们都有同样可怕的红色背景,这样的 UI 让人们不大可能跳过警告去使用网站。


第一次遇到这个问题时,我们是从大量客户报告中了解到的。这些报告说,他们在尝试使用我们的 SaaS 时,看到了红色警告页面。第二次遇到这个问题时,我们做了更好的准备,因此,有一些空闲时间来写这篇文章。


先说下背景。InvGate(我们公司)是一个面向 IT 部门的 SaaS 平台,在 AWS 上运行,拥有超过 1000 家中小企业和大型企业客户,服务于数百万终端用户。这意味着我们的产品被 IT 团队用来管理来自他们自己用户的问题和请求。可以想象一下,当 IT 票务系统突然开始向终端用户显示这种不祥的安全警告时,IT 经理的反应会是多么愉快。


当第一次遇到这个问题时,我们绞尽脑汁试图了解发生了什么,并了解谷歌安全浏览(下文将使用缩写 GSB)的工作机制,同时,我们的技术支持团队尽力跟踪客户报告的问题。我们很快意识到,我们用来提供静态资产(CSS、JavaScript 和其他媒体)的 Amazon Cloudfront CDN URL 被标记了,这导致我们的整个应用程序在使用特定 CDN 的客户那里会失败。我们对据称受影响的系统进行了快速检查,结果显示一切正常。


我们的 DevOps 团队紧急设置了新的 CDN,准备将客户转移到一个新的域名上。我发现,按照谷歌文档的说法,对于一个网站为什么在 谷歌搜索控制台(下文将使用缩写 GSC)上被标记为违规网站,GSB 提供了进一步的解释。我这里就不说细节了,但要访问这些信息,你必须 在 GSC 中声明网站的所有权,这需要你设置一条自定义 DNS 记录或上传一些文件到违规域名的根目录。我们争分夺秒地完成了这一切,20 分钟后,我们找到了关于我们网站的报告。


下面是一份报告样例:



不是特别有用。


报告中还包含一个“请求审核”按钮,我没有在网站上做任何操作,而是立即点击了这个按钮,因为这上面没有任何关于所谓问题的信息。尽管文档说谷歌会提供示例 URL,帮助网站管理员识别问题,但我提交了一份审核申请,并说明报告中没有列出违规的 URL。



太棒了!请求审核无效的报告可能会导致我以后的审核更加缓慢。


大约一小时后,在我们完成从 CDN 转移客户之前,我们的网站被从 GSB 数据库中清除了。2 小时后,我收到一封自动回复的邮件,确认审核成功。至于问题的原因,到目前为止还没有向我们说明。


接下来发生了什么?


在这一事件发生后的一周里,尽管我们的网址已经被从安全浏览黑名单中清除,但我们仍然不时收到公司客户无法访问我们系统的报告。


谷歌安全浏览为商业和非商业软件开发人员在他们的产品中使用黑名单提供了两种不同的 API。特别是,我们发现,至少有一些使用 Firefox 的用户也遇到了问题,客户那边的杀毒 / 防病毒软件和网络安全设备也在标记我们的网站,并 在问题解决后的许多天内阻止用户访问


我们继续将所有客户从原先被列为黑名单的 CDN 转移到一个新的 CDN,因此,问题得到了永久的解决。我们一直没有找到问题的原因,但我们认为,是谷歌总部的人工智能磕了迷药。


如何防止谷歌安全浏览标记你的网站?


我的观点:如果你经营的 SaaS 企业有可用性 SLA,在没有特殊原因的情况下被谷歌安全浏览标记,对于业务连续性来说是一个非常真实的风险。


遗憾的是,鉴于标记和审核网站的机制如此不透明,我不认为有一种方法可以完全防止这种情况发生在你身上。但无疑,你还是可以在设计应用程序和进程时最小化这种情况发生的几率,降低真被标记时的影响,并最小化问题出现时绕开问题所需的时间。


以下是我们正在采取的步骤,因此我建议:


  • 不要把所有鸡蛋都放在一个篮子里,聪明地设置域名。GSB 似乎会标记整个域名或子域名。因此,将应用程序分散到多个域名下是一个好主意,因为这将减少单个域名被标记的影响。例如:你的网站是 company.com,你的应用是 app.company.net,欧洲的客户是 eucdn.company.net,美国东海岸的客户是 useastcn.company.net,等等。

  • 不要在你的主域名下托管任何客户生成的数据。 我在研究这个问题时发现,许多黑名单案例都是由于 SaaS 客户不知不觉地将恶意文件上传到服务器而造成的。这些文件对系统本身无害,但它们的存在却可能导致整个域名被列入黑名单。用户上传到应用程序的任何东西都应该托管在主域名之外。例如:使用 companyusercontent.com 存储客户上传的文件。

  • 在谷歌搜索控制台中主动声明所有产品域名的所有权。 这样做并不会阻止你的网站被列入黑名单,但你会收到一封电子邮件,让你可以迅速对问题做出反应。当你实际处理影响客户的此类事件时,这段时间很宝贵。

  • 如果需要,请准备好跳转域名。 这是最难做的,但这是应对被列入黑名单唯一有效的工具:改造你的系统,以便其所引用的服务的域名可以很容易地更改(通过脚本或编排工具来执行更改),甚至准备一个备用域名。例如,让 eucdn.company2.net 成为 eucdn.company.net 的 CNAME,如果第一个域被阻塞,则使用工具更新应用程序的配置,让它从备用域名加载资产。


如果你的 SaaS 应用或网站被谷歌安全浏览列入黑名单该怎么办?


下面是我的建议:


  • 如果你可以轻松快速地将应用切换到一个不同的域名,这是唯一能够可靠、快速地解决此类事件的方法,但并不是真正的解决。 如果可能的话,就这么做吧。

  • 如果做不到这一点,一旦你确定域名被屏蔽,仔细阅读谷歌搜索控制台上提供的报告。如果在此之前你还没有声明对该域名的所有权,那么你现在就必须这么做了,这会花一些时间。

  • 如果你的网站确实被黑客入侵了,修复这个问题(即删除违规内容或被黑客入侵的页面),然后请求安全审查。如果你的网站没有被黑客攻击,或者安全浏览报告毫无意义,那就提交一份安全审查申请,并说明这份报告不完整。

  • 然后,如果停机时间对你的系统或企业而言至关重要,那么与其痛苦地等待,不如开始转移到一个新的域名上吧。审查可能需要数周时间。


锦上添花


第二次发生在第一次事件几个月后,我们收到了来自搜索控制台的一封电子邮件,警告我们说我们的一个域名被标记了。在收到这份电子邮件报告几小时后,作为一名 G Suite 域名管理员,我收到了另一封有趣的电子邮件,如下所示。



sc-noreply@google.com 中的"sc"代表"搜索控制台"


让我来总结一下,因为这很令人震惊。该邮件引用了搜索控制台黑名单告警邮件。这第二封邮件说的是,G Suite 的自动钓鱼邮件过滤器认为谷歌搜索控制台关于我们的域名被列入黑名单的邮件是 假的当然不是,因为当我们收到这封邮件时,我们的域名确实被列入了黑名单。所以 谷歌自己甚至也不能确定他们关于网络钓鱼的电子邮件警告是否属于网络钓鱼。


关于互联网未来的一些令人不寒而栗的想法


任何在科技行业工作的人都很清楚,大型企业技术巨头在很大程度上是互联网的看门人。但我倾向于用一种不太严谨的隐喻方式来说明这个问题。这篇文章所描述的安全浏览事件非常清楚地表明,谷歌实际上控制着谁可以访问你的网站,无论你在哪里以及如何运营它。Chrome 占据了 70% 的市场份额,火狐和 Safari 也都在一定程度上使用了 GSB 数据库,谷歌只需轻轻一点,就几乎可以让任何网站无法在互联网上访问。


这是一种非常强大的力量,但并不适合谷歌“AI 会在它认为方便的时候审核你的问题”的方法。


查看英文原文:


https://gomox.medium.com/google-safe-browsing-can-kill-your-startup-7d73c474b98d


2021-02-04 11:042544
用户头像
陈思 InfoQ编辑

发布了 576 篇内容, 共 264.9 次阅读, 收获喜欢 1295 次。

关注

评论

发布
暂无评论
发现更多内容

Spark 持久化介绍(cache/persist/checkpoint)

笨小康

大数据 spark 持久化

乌云下,种因时:vivo的平凡之路

脑极体

2021最新最全面“Java知识总结+⾯试指南”强烈推荐!

比伯

Java 编程 架构 面试 技术宅

阿里Java面试脑图遭公开,GitHub上已获赞79.6K

Java架构师迁哥

Linux Lab 进阶: Linux 内核

贾献华

Linux Linux Kenel 内核

《我们一起学集合》-LinkedList

蚊子

Java 数据结构 面试 集合 linkedlist

零基础实现Java直播(一):集成

ZEGO即构

5G专网是个大西瓜(三):合成之难

脑极体

产品训练营第二周作业-利益相关者

马悦

产品 产品经理训练营

架构师week10总结

Geek_xq

阿里内网疯传,阿里P9分享千页实战干货:Netty、Redis、ZK高并发实战笔记

Java架构之路

Java 程序员 架构 面试 编程语言

日记 2021年2月4日(周四)

Changing Lin

个人感悟 2月春节不断更

百度单测生成技术如何召回线上服务的异常问题?

百度Geek说

c c++

将知识点一网打尽,首推Netty实战干货,实战篇+面试篇

Java架构之路

Java 程序员 架构 面试 编程语言

ThreadLocal 类以及应用技巧

武哥聊编程

Java 多线程 ThreadLocal 28天写作

产品经理第四周

克比

写在“28天坚持写作活动”的最后一天

JiangX

28天写作

数据主权,才是业务在线化的核心

boshi

数据 数字资产 七日更

PM必备自我管理工具整理

做人没有梦想和咸鱼有什么区别

项目管理 PM

28天总结

张老蔫

28天写作

滴滴夜莺二次开发全搞定

滴滴云

开源 监控 滴滴夜莺 夜莺监控 运维平台

爆肝一周总结了一份Java学习/面试自测指南!200+道Java最常见面试题。

Java架构之路

Java 程序员 架构 面试 编程语言

开发质量系列:系统运营必须派人常驻机房吗?

罗小龙

最佳实践 方法论 28天写作 2月春节不断更

管理笔记[8]:管理中的聚势、借力与计划

L3C老司机

黑客练手入门| pwnable.kr—幼儿瓶—02:collision

BigYoung

安全 CTF PWN 28天写作 2月春节不断更

架构师week10作业

Geek_xq

业务流程和产品文档

让我思考一会儿

深入Linux内核之自旋锁spinlock_t机制

赖猫

c++ Linux内核

基于SpringBoot的微服务架构与K8S容器部署实践

Java 架构 微服务

【LeetCode】子数组的最大平均数

Albert

算法 LeetCode 2月春节不断更

如果非要在多线程中使用ArrayList会发生什么?

看山

线程安全

谷歌在用新的创新方式杀死SaaS创业公司_架构_Gonzalo Sainz Trápaga_InfoQ精选文章