所有文章

网站被黑的迹象,以及发现后第一个小时该做什么

只在手机上才跳转、谷歌里出现陌生页面、多出管理员账号、邮件进了垃圾箱。如何识别入侵,以及第一个小时怎样冷静应对。

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

被黑的网站很少看起来像被黑了。首页上没有骷髅头,也没有攻击者留言。网站能打开,联系表单能发邮件,你偶尔看一眼,也看不出异常。

这是有意为之。控制了网站的人希望尽可能久地利用它:发垃圾邮件,给其他网站在谷歌里刷排名,或者把你的客户引向诈骗页面。你发现得越晚,对他们越有利。

下面是你自己就能发现的迹象,以及你起疑之后第一个小时的行动方案。

只有别人才会遇到的跳转

有客户告诉你,他打开你的网站后跳到了抽奖页面、假冒商店,或者一个声称他手机中毒的页面。你在自己电脑上看,一切正常。

这是非常典型的情况。恶意代码常常只对一部分访客跳转:只针对手机,只针对从谷歌搜索结果点进来的人,而且只是偶尔触发,所以很难重现。已登录的管理员通常什么也看不到。

检查方法:拿起手机,关掉 Wi-Fi 改用移动数据,打开无痕标签页,在谷歌里搜索你的公司,然后点开结果。不要自己输入网址。另外,如果客户反映有跳转,即使你自己无法复现,也要当真。

谷歌里的陌生页面

在谷歌中搜索 site:yourdomain.com,往下翻结果。要找的是公司里没人创建过的页面:日文内容、药品广告、赌场、假冒名牌运动鞋。有时首页在搜索结果中的标题或描述变了,而页面本身看起来和以前一样。

谷歌还可能在你的搜索结果旁加一条提示,说该网站可能已被入侵,Chrome 也可能在访客进入前显示红色警告页。如果你用了 Google Search Console,打开“安全问题”报告。谷歌会在那里说明发现了什么,通常还会列出示例网址。出现这种情况时 Search Console 也会给网站所有者发邮件,所以请检查垃圾邮件夹里有没有。

后台、主机商和邮件里的迹象

在 WordPress 后台打开“用户”,按“管理员”角色筛选。出现一个你不认识的新账号,是严重的信号。恶意代码有时还会把这样的账号从列表中隐藏。遇到这种情况,表格上方“管理员”旁边的数字,与下面实际看到的人数对不上。

其他值得处理的迹象:

  • 主机商发来邮件,说账号被暂停、发现恶意文件,或服务器负载异常偏高,
  • 你的邮件被退回并提到黑名单,或客户说在垃圾箱里才找到你的邮件,因为有人在用你的服务器发垃圾邮件,
  • 后台出现一个没人安装过的插件,
  • Google Ads 因为恶意软件或落地页被入侵而拒绝你的广告,
  • 没人改过任何东西,网站却突然变慢。

单独一个迹象还说明不了问题。同时出现两个,就该今天处理。

第一个小时:一步一步来,别慌

一旦确定或强烈怀疑被入侵,最重要的是不要仓促。这个阶段大部分损失都来自好心办坏事:删掉一半文件,重装一切,以为事情结束了。一周后攻击者从同一个入口回来,因为没人查清他是怎么进来的。

  1. 记下你看到的。 截图,记录网站跳转到的地址、时间,以及谁反映了什么。保留主机商和 Search Console 发来的邮件。
  2. 不要删除任何东西。 可疑文件和账号先原样留着,等有人看过再说。它们是证明入侵过程的证据。
  3. 修改密码。 包括主机控制面板、WordPress 管理员账号、FTP,以及你域名下的邮箱账号。用你信任的电脑操作,并尽可能开启双重登录验证。数据库密码留给开发者处理,因为网站配置里也要同步修改。
  4. 联系你的开发者和主机商。 请主机商保留服务器日志,并在开始清理之前,把网站当前的状态做一份副本。日志通常只保存很短时间,没有日志就很难搞清发生了什么。
  5. 想想你的访客。 如果网站正在把人引向诈骗页面,请先下线,或换成维护页面。下线一天,好过把客户送到骗子手里。

从干净的备份恢复

要得到干净的网站,最快的办法通常是用入侵之前的备份。问题就在“之前”这两个字上。感染往往在网站上潜伏数周才被发现,所以昨天的备份可能已经被感染。开发者需要判断第一批陌生文件是什么时候出现的,再退回到更早的副本。这正是保存多个旧版本、并且存放在服务器之外的备份派上用场的时候。

恢复之后马上做:

  • 更新 WordPress、主题和所有插件,因为恢复后的网站仍然有入侵之前的那个漏洞(详见关于过期插件的文章),
  • 删除你不认识的管理员账号,并再改一次密码,
  • 在 Search Console 中申请重新审核,让谷歌撤销警告。

如果没有备份,或者每个副本都已被感染,就只剩手工清理网站这一条路。这需要经常做这件事的人来做,通常耗时更长。

通用数据保护条例(GDPR)与 72 小时

如果网站保存过个人数据,例如订单、客户账号或联系表单留言,这次入侵可能属于个人数据泄露。依据 GDPR 第 33 条,你要在知悉后 72 小时内向数据保护主管机构报告,除非这不太可能对相关个人造成风险。在英国这个机构是 ICO,在波兰是 UODO。无论是否报告,你都需要记录发生了什么以及你做了什么。

这时第一个小时里的记录就派上用场了。时间、截图和步骤清单,正是协助你准备报告的人会要的东西。