什么是文件完整性监控?

使用强密码的默认和最新WordPress安装非常安全。然而,仅仅在互联网上生存是不够的。

这就是文件完整性监控 (FIM) 发挥作用的地方。文件完整性监控工具或插件会监控您站点的文件,并在文件上传、编辑、删除等任何更改时提醒您。

文件完整性监控可帮助您领先于安全漏洞并识别可能使您的网站遭受黑客攻击的错误。

在这篇文章中,我们将为您提供文件完整性监控的全面介绍,并解释它如何提高您网站的安全性。我们还将分享一些不同的工具和插件,您可以使用这些工具和插件在您的WordPress网站上实施此安全解决方案。

  1. 文件完整性监控简介
  2. 文件完整性监控的工作原理
  3. 为什么文件完整性监控很重要
  4. 为什么需要对WordPress网站进行文件完整性监控
  5. 两种不同类型的文件完整性监控方法
  6. 可用于保护站点的3种文件完整性监控工具
  7. 开源文件完整性监控工具

文件完整性监控简介

在保护和维护网站和服务器等基础设施时,文件完整性监控是关键。该解决方案验证给定环境的完整性,即检查站点文件的内容是否已意外更改。

您可以使用文件完整性监控来检测操作系统、Web服务器和WordPress等Web应用程序中的文件更改。它甚至可以用于监控基于文件的软件解决方案,例如数据库和配置文件。

使用文件完整性监控解决方案的组织更有可能及早发现安全漏洞,从而使他们有更好的机会保持在线并阻止任何重大损害。因此,文件完整性监控主要被认为是一种安全解决方案。

但是,此解决方案也可以实现其他目标。在某些情况下,它可以监控以下方面的软件和操作系统配置更改:

  • 在服务器上打开端口配置。
  • Web服务器和网络服务配置。
  • 在服务器上运行或停止服务(守护程序)。

即使是计划中的文件更改有时也会给您的WordPress网站带来问题。通过使用文件完整性监控跟踪所有修改,您可以轻松确定与文件更改相关的错误的可能原因。

这使故障排除速度更快,因此您可以立即恢复站点 并运行。

文件完整性监控的工作原理

文件完整性监控的工作原理是获取站点文件的“指纹”,然后将它们相互比较。如果指纹不同,则表示文件已更改。

为了创建指纹,文件完整性监视器(也称为文件完整性扫描仪)扫描单个文件并通过在文件上运行加密哈希函数来创建“校验和”——与该文件关联的唯一数据字符串。

站点文件指纹

站点文件指纹

文件完整性监控对于检查其他文件属性(例如权限和修改日期)也很有用。这些检查至关重要,因为即使是文件权限的简单更改也可能使系统容易受到攻击。

为什么文件完整性监控很重要

使文件完整性监控成为必备安全解决方案的一个方面是它的双重优势,即反应式和主动式安全解决方案。

文件完整性监控作为主动安全

主动安全的一个例子是识别您的开发人员在您的网站上工作时可能使您的网站暴露的错误。错误的文件权限、包含敏感信息的剩余文件(例如数据库备份或源代码文件)是文件完整性监控可以主动识别的安全威胁的良好示例。

文件完整性监控作为反应式安全

文件完整性监控解决方案还可以指出黑客攻击后您的网站发生了什么变化, 或者恶意软件被注入到哪些文件中。

除此之外,它甚至可以通过监控重要的 WordPress 站点文件(例如wp-config.php 和.htaccess文件)来检查您网站设置的更改。

多亏了这些关键信息,您可以将您的网站恢复到之前的(干净)状态,并在尽可能短的时间内清除任何恶意软件或“坏代码”。

合规要求

对于某些人来说,法律也可能要求进行文件完整性监控。支付卡行业数据安全标准( PCI DSS) 要求符合标准的站点:

“部署变更检测机制(例如,文件完整性监控工具)以提醒人员未经授权的修改。”

管理网站访问者的敏感信息是一项严肃的责任。如果您在您的网站上存储任何类型的客户数据,尤其是持卡人数据,启用文件完整性监控可以帮助您确保此类数据没有被任何人篡改,并让您遵守法律。

PCI DSS

PCI DSS

为什么需要对WordPress网站进行文件完整性监控

WordPress是一个Web应用程序,它由两种类型的文件组成:不可执行文件和可执行文件。

前者主要是日志和媒体文件。日志通常由插件和主题生成,而媒体文件是您上传到网站的文件,例如图像、视频、PDF等。它们是不可执行的,因为Web服务器不执行它们而只是为它们提供服务。

大多数不可执行的文件都存储在WordPress的/wp-content/uploads/目录中。对不可执行文件的更改不会影响您网站的安全性、性能或功能。事实上,大多数文件完整性监控解决方案默认将这些文件排除在扫描之外。

另一方面,可执行文件包括PHP、JavaScript和其他包含站点源代码的文件,例如WordPress核心、插件、主题以及您可能拥有的任何自定义Web应用程序。可执行文件的更改可能会发生,但前提是您:

  • 更新WordPress核心
  • 安装新主题或插件。
  • 更新您的主题或现有插件。
  • 卸载(删除)插件或主题。
  • 自定义WordPress安装、主题或插件的代码(通常不推荐)。

对WordPress站点的可执行文件的任何其他更改都可能是入侵、恶意软件注入或开发人员错误的迹象。在您的WordPress网站上运行文件完整性监控插件可以帮助您在这些问题成为对您网站的安全或功能的真正威胁之前轻松发现这些问题。

简要回顾一下:文件完整性监控可以帮助您识别应该被删除的测试文件、大多数恶意软件注入——包括后门、重定向和特洛伊木马以及任何其他有害文件更改。

当与WP Security Audit Log结合使用时,文件完整性监控可让您始终全面了解站点上发生的情况。您可以进行黑客攻击后取证以确定哪些文件是目标文件以及目标对象,还可以增强它们周围的安全性以防止未来的攻击。

两种不同类型的文件完整性监控方法

文件完整性监控的基础始终相同:比较在不同时间点获取的单个文件的指纹。有几种方法可以实现这一点。

1. 将文件与中央存储库进行比较

一种常用的方法是通过使用WordPress插件将指纹与中央存储库进行比较(更多关于下面的插件)。在这种情况下,插件会将您网站的index.php文件的指纹与WordPress发布的最新index.php文件的指纹进行比较。

使用此方法的优点是您可以轻松确认您的文件是否与原始文件相同。但是,由于您将数据与中央存储库进行比较,因此存在一些缺点:

  • 该解决方案无法识别分布式配置文件中的更改,例如.htaccess和wp-config.php。
  • 如果您自定义网站的代码,您将被标记为误报。
  • 该插件只能比较已知应用程序(WordPress核心)的文件,有时也可以比较流行插件的文件。
  • 这些解决方案无法检测自定义应用程序或插件中的更改,因为它们没有可比性。
  • 您网站的安全性取决于供应商更新原始指纹的速度或中央存储库的可用性。

比较文件

比较文件

2. 将文件与自生成数据进行比较

由于基于中央存储库的方法的局限性,比较两组自行生成的数据是首选方法和最佳实践建议。这种类型的解决方案通过将指纹与他们自己以前的扫描进行比较来检测文件更改。

这意味着插件在安装时会生成第一个指纹。然后,当它再次扫描文件时,它将新指纹与原始扫描的指纹进行比较。每当记录文件更改时,您都可以将插件配置为自动接受该更改或向您发送警报。

由于以下优点,此方法优于前一种方法:

  • 它可以检测自定义代码的变化。
  • 系统适应您的网站(您可以验证更改并更新指纹,从而支持持续定制)。
  • 它报告的误报显着减少。

由于这些原因,在寻找文件完整性监控工具或插件时,您会希望选择一个基于自生成数据的工具或插件。

可用于保护站点的3种文件完整性监控工具

有几种不同的文件完整性监控解决方案可用。我们将它们分为以下三个基本类别。让我们从头开始!

1. 服务器级软件解决方案

这些解决方案安装在网络服务器的操作系统上,并检查网络服务器上的所有文件。这意味着您只有在拥有自己的Web服务器或VPS时才能使用它们。

市场上有多种选择,例如:

作为服务器级解决方案,这些解决方案并不是专门针对WordPress驱动的网站。所以他们可能会产生很多误报。最重要的是,它们非常昂贵,并且需要高级知识来设置和管理。

2. WordPress插件

如果您想要一个更特定于WordPress的文件完整性监控解决方案,可以使用各种插件来完成此任务。

Website File Changes Monitor

Website File Changes Monitor是WordPress的专用文件完整性监控插件。它是免费提供的,当它检测到文件更改时,它会通过电子邮件提醒您。

带菜单的文件更改视图

带菜单的文件更改视图

该插件使用自行生成的数据进行文件比较,您可以启动按需扫描。它是一个完全可配置的WordPress文件完整性监控解决方案,您可以排除文件和目录,配置扫描计划等等。

真正让这个插件与众不同的是,它是唯一一个完全了解WordPress核心、插件和主题变化的WordPress插件。

WordPress File Monitor

WordPress File Monitor也是一个专用的文件完整性监控插件,它使用自生成的数据进行比较。但是,它不知道WordPress核心、插件和主题更改,您可能会收到许多有关文件更改的误报警报。

误报警报

误报警报

误报警报会对网站产生非常负面的影响,因为不了解安全的用户无法验证警报是由关键事件还是仅是安全文件更改生成的。

其他插件选项

以上是WordPress唯一的文件完整性监控插件。其他具有文件完整性监控功能的插件是多合一安全解决方案的一部分,例如Sucuri SecurityiThemes securityWordfence

这两个插件都使用将文件与中央存储库进行比较的方法,并且不知道站点结构的变化,即它们只识别 WordPress 核心和一些流行插件的变化。

3.开源文件完整性监控工具

如果插件不是您的菜,您可能需要考虑使用众多可用于监控文件的开源工具之一。例如,Tripwire提供其平台的开源版本 ,提供免费的安全功能,包括文件监控。话虽如此,此版本不如其付费版本有效。

另一个要考虑的开源平台是OSSEC

OSSEC平台

OSSEC平台

这是一种流行的免费安全解决方案,它能够执行文件监控任务。但是,就像我们提到的许多其他工具一样,它在服务器级别上工作。虽然它可以与WordPress一起使用,但它只有在您拥有专用服务器或VPS时才能工作。

此外,如果您选择OSSEC,您需要进行一些高级配置,但它仍然可能不是您站点最准确的解决方案。

开源安全平台最有趣的方面是,如果您了解代码方面的知识,您可以调整这些工具以包含扩展功能并满足您的偏好和需求。

小结

WordPress安全是一件严肃的事情。采取预防措施保护您的网站、内容、业务和用户数据是关键。文件完整性监控只是游戏的一部分。 如果确实发生攻击,拥有一个WordPress备份系统来恢复您的文件也很重要。

在这篇文章中,我们展示了文件完整性监控如何满足这两个需求,并分享了三种类型的文件完整性监控解决方案,您可以在 WordPress 网站上使用:

  1. 服务器级软件解决方案,例如Tripwire(有效,但可能非常昂贵)。
  2. 免费的WordPress插件,例如Website File Changes Monitor
  3. OSSEC等开源工具。
本文提到: