所有文章

Google 提示你的网站有危险:一步一步该怎么办

浏览器里的红色警告页,或 Google 搜索结果里的“已被入侵”标记。它们从哪里来,如何在 Search Console 中确认、清理并申请重新审核。

Radek,ENSOMEDIA发布于 4 分钟阅读In EnglishPo polskuAuf DeutschEn españolEn françaisبالعربية

事情通常从一位客户的消息开始:“我想打开你们的网站,浏览器不让我进。”或者,你搜索自己的企业名称,发现网址下面多了一行以前没有的字。

这是个让人不舒服的时刻,但有一条有条理的出路。这个警告不是处罚,而是一个信号:Google 在你的网站上发现了可能伤害访问者的东西。下面讲如何查清它到底发现了什么,怎么清理,以及怎么申请撤销警告。

你的客户看到的是什么

警告有两种形式。

第一种是浏览器里盖住整个页面的红色屏幕。在 Chrome 里,标题大致是“前方有欺骗性网站”(Deceptive site ahead)或“危险网站”(Dangerous site),具体取决于浏览器版本和问题类型。Firefox 和 Safari 使用同一份 Google 安全浏览(Safe Browsing)名单,所以它们的用户也会看到警告,只是措辞不同。

第二种是 Google 搜索里你的结果下面的一行字,例如“此网站可能已被入侵”(This site may be hacked)或“此网站可能会损害您的计算机”(This site may harm your computer)。页面仍然能打开,但很少有人会点。

红色屏幕的效果更强,因为访问者要越过它,必须打开详情,并且有意地无视警告。如果你投放 Google 广告,指向被标记网站的广告也可能被暂停。

警告从哪里来

Google 会定期检查网站是否存在几类问题。在小企业网站上,通常是下面这几种之一:

  • 有人闯入,在隐藏的文件夹里上传了假的银行登录页或包裹付款页,这就是钓鱼,
  • 网站文件里被加进了代码,把访问者重定向到别处,或向他们推送下载,
  • 网站上冒出了几百个关于赌场、药品或日文内容的垃圾页面,
  • 网站从另一个已被标记的域名加载了脚本或小组件。

在这些情况下,所有者通常什么也察觉不到。攻击者往往只把垃圾内容展示给 Google 的爬虫,或从搜索结果进来的人。你直接访问自己的网站,又以管理员身份登录,所以看上去和平时一模一样。

第一步:在 Search Console 里确认问题

最可靠的来源是 Google Search Console。如果你的网站还没有在那里设置,请让管理你域名的人去验证。最简单的办法是在 DNS 里添加一条 TXT 记录,几分钟就能加好,之后稍等一下让它生效。

在 Search Console 里,打开安全问题报告。它会显示问题的类型,比如被入侵的内容、恶意软件或社会工程学欺骗,并列出 Google 发现问题的示例地址。它们只是示例,不是完整的清单。

如果你暂时还没有访问权限,可以立刻在 Google 透明度报告里的“安全浏览网站状态”工具中检查你的域名。它会显示该域名是否被标记,以及原因。

还要在隐私窗口里打开报告中的示例地址,电脑上一次,手机上一次,因为有些恶意重定向只在移动设备上触发。然后在 Google 搜索 site:yourdomain.com,翻一翻结果,点开几条。你要找的是你不认识的页面,以及不该出现的重定向。

第二步:先清理,再申请审核

这件事要交给你的开发者,或专门清理被感染网站的公司。Google 自己的帮助文档甚至建议,被入侵的网站先临时下线。也要马上告诉你的主机商,因为很多主机商有自己的扫描工具,可以帮忙。

规范的清理大致是这样:

  1. 有人保存一份当前被感染状态的副本,以便弄清楚发生了什么。
  2. 找出入口:过时的插件,被盗的密码,被遗忘的管理员账户。缺了这一步,问题几天之内就会卷土重来。
  3. 删除恶意文件和被注入的代码,或者用感染之前做的干净备份恢复网站,然后立刻更新,因为旧备份里有同样的漏洞。
  4. 更换所有密码:管理后台、主机、FTP、数据库和邮箱账户。删除任何没人认识的账户。
  5. 检查整个网站,而不只是报告里的那些地址。Google 要求所有页面上的所有问题都被修复。

如果你的网站存有客户数据,而你无法排除有人拿走了它,就要想到通用数据保护条例(GDPR)和它的 72 小时期限。这一点我在另一篇文章里讲过。

第三步:申请审核

一切清理完毕后,回到安全问题报告,选择请求审核。Google 会要求你描述做了什么。要写具体,例如:

原因是一个过时的联系表单插件。我们删除了主题文件中被注入的代码,删掉了所有垃圾页面,更新了 WordPress 和全部插件,更换了所有密码,并移除了一个未知的管理员账户。

Google 收到请求时你会收到一封邮件,审核完成时还会再收到一封。有请求在审核中时,不要再发新的请求。如果 Google 仍然发现问题,会驳回请求,并告诉你去哪里找。你修好之后,再申请一次。

要多久

这里我必须说实话:没有人能告诉你。Google 的帮助文档说,审核可能需要几天到几周,我不知道有什么办法能加快,除非第一次就清理彻底。即使得到了通过的结果,浏览器的警告和搜索里的标记也不会在同一分钟消失。

在此期间,给你的老客户发一条简短的说明,告诉他们你知道这个问题,并且正在处理。但不要请他们点击绕过警告。在 Google 确认网站干净之前,你无法保证它对客户是安全的。

然后确保你不会再经历第二次。检查 Search Console 的通知有没有发到你真正会看的邮箱,因为下一次,Google 会比你的客户更早在那里给你留言。和开发者约定定期更新,删掉不用的插件,打开两步验证,把备份放在服务器之外。这些正是堵住最常见入口的做法。