Missed the action at the 2018 Chrome Dev Summit? Catch up with our playlist on the Google Chrome Developers channel on YouTube. Watch now.

遭到恶意软件入侵

此步骤适用于因遭到入侵而散播恶意软件的网站,搜索结果中通常会针对此类网站显示“此网站可能会损害您的计算机”这一警告消息。这是恢复流程中耗时最长的步骤之一。在此步骤中,您需要汇总一份您网站上受损文件的列表。在后续的清理并维护网站步骤中,您将会用到此列表。

如果您的网站因受到网络垃圾(而非恶意软件)的影响而在搜索结果中显示“此网站可能遭到黑客入侵”这一警告消息,请参阅评估受网络垃圾破坏的程度(遭到网络垃圾入侵)页面。

您需要:

  • 拥有您网站服务器(网络、数据库、文件)的外壳/终端管理员访问权限。
  • 关于外壳/终端命令的知识。
  • 能够对数据库运行 SQL 查询。

您应执行的操作:

准备工作

  1. 避免使用浏览器查看您网站上的网页。恶意软件通常会利用浏览器漏洞进行传播,因此在浏览器中打开感染恶意软件的网页可能会损坏您的计算机。
  2. 创建一个文档,用于记录在此步骤中发现的情况。该文档最终将至少包含每个受损文件的文件名/位置以及是如何被感染的,将用作清理并维护网站的依据。
  3. 根据需要查看其他资源:
    • 观看上方的视频,了解恶意软件的工作原理,以及如何在调查恶意软件期间保持安全。
    • 查看 Google 安全浏览诊断页,了解有关网站是否可能危害用户的公开信息。您可以通过类似下面的网址查看您网站的信息状态:
      http://www.google.com/safebrowsing/diagnostic?site=<your-site>
      例如: http://www.google.com/safebrowsing/diagnostic?site=webmastercentralblog.blogspot.com
  4. 使用 cURLWget 执行 HTTP 请求(例如,抓取网页)。

    这些免费的工具有助于诊断重定向,并且可让您灵活地添加引荐来源网址或用户代理信息。添加具体的引荐来源网址或用户代理有助于模拟黑客的行为,因为黑客可能只向使用特定用户代理或来自特定引荐来源网址的用户提供恶意内容,以便将更多“真实用户”作为目标,并避开网站所有者和恶意软件扫描程序的检测。

    $curl -v --referer "http://www.google.com" <your-url>

调查您的网站感染的具体恶意软件类型

  1. 在 Search Console 中选择经过验证的网站,然后点击安全问题
  2. 调查“安全问题”部分中针对您的网站列出的所有恶意软件类别(例如服务器配置、SQL 注入)。如需了解与特定类别的受感染网址相关的更多信息,请点击“显示详细信息”(详细信息可能包括由黑客注入的代码段的示例)。对于每个类别,请将以下内容复制到您的调查文档中:
    • “安全问题”部分针对恶意软件类别列出的所有受感染网址示例。
    • 您在调查过程中发现的其他任何受破坏的网页。
    • 您发现的有关受感染网址的详细信息,例如造成的损害类型。
  3. 以下列出了有助于对各个恶意软件类型进行调查的信息:

文件系统受破坏程度评估

接下来,您需要登录自己网站的文件系统,进行更深入的调查。请注意,黑客的行为多种多样,例如可能修改了现有网页或数据库记录、创建了全新的垃圾网页、编写了一些用于在干净的网页上显示网络垃圾的函数,或留下了“后门”(如果不将其删除,黑客将能够再次入侵您的网站或继续执行恶意操作)。

如果您的网站处于在线状态,您可以将其设为离线状态以完成此步骤。

  1. 对于您的网站,如果您拥有已知是完好的备份,请确定自备份以来创建或修改了哪些文件。然后将这些文件添加到列表中,以便进行进一步的调查。在基于 Unix 的系统上,您可以使用如下命令:
    $ diff -qr <current-directory> <backup-directory>
    例如:
    $ diff -qr www/ backups/full-backup-20120124/
    以及
    $ md5sum <current-page> <backup-page>
    例如:
    $ md5sum www/page.html backups/full-backup-20120124/page.html
  2. 检查服务器日志、访问日志和错误日志中是否有任何可疑活动,例如失败的登录尝试、命令执行记录(尤其是以 root 身份执行的命令)、创建未知的用户帐号,等等。请注意,黑客可能为达到自己的目的而更改了这些日志(您可以参考找出漏洞视频中显示的一些示例,或许会有所帮助)。
  3. 检查配置文件(例如 .htaccess 和 httpd.conf)中是否有重定向。黑客通常会创建基于用户代理、时间或引荐来源网址的条件重定向。
  4. 检查是否存在过于宽松的文件夹权限和文件权限。黑客可能会篡改权限,因为如果网站所有者未发现此类宽松的权限,黑客就可以再次入侵网站。文件权限高于 644 (rw-r--r--) 以及文件夹权限高于 755 (rwxr-xr-x) 可能会导致安全问题。确保所有较宽松的权限均确有必要。在基于 Unix 的系统上,请尝试以下命令:
    $ find <your-dir> -type d -not -perm 755 -exec ls -ld {} \;
    $ find <your-dir> -type f -not -perm 644 -exec ls -la {} \;
  5. 如果您有数据库,请使用诸如 phpMyAdmin 等工具逐条调查数据库记录。

后续步骤

此流程中的下一步是找出漏洞