介绍
虽然通过托管服务运行 WordPress 安装是启动网站的一种便捷方式,但并非没有安全漏洞,有时可能难以排除故障。当这些漏洞被利用时,会发生暴力攻击,即快速猜测和访问个人信息(如登录名或密码)的网络攻击。蛮力攻击可置于任何漏洞中,有时可能源自您的网站。
当在 DigitalOcean 上面临来自 Droplet 的蛮力攻击时,必须快速消除威胁。虽然有多种方法可以识别和删除易受攻击的受损文件,但本教程旨在为您提供一些步骤,以帮助您检测、解决和保护您在 DigitalOcean Droplets 上的 WordPress 安装免受未来漏洞的影响。
步骤 1 — 确定暴力攻击的来源
对从 Droplet 发起的蛮力攻击问题进行故障排除的第一步是确定对恶意流量负责的恶意软件。有许多可用的工具和选项,但 ClamAV ( http://www.clamav.net/ ) 是最初尝试识别和删除恶意软件的好工具。
大多数 Linux 发行版的包管理系统中都有 ClamAV,通常您需要安装 ClamAV,然后运行它。
- 对于 Ubuntu、Debian 和大多数基于 Debian 的发行版,您可以运行:
- sudo apt-get install clamav clamav-daemon
- 对于 CentOS 8,您需要启用 EPEL ( https://fedoraproject.org/wiki/EPEL ) repo,这是 Fedora 项目支持的官方软件包存储库,然后安装 ClamAV。
您可以使用单个命令执行此操作:
- dnf --enablerepo=epel -y install clamav clamav-update
安装 ClamAV 后,您可以使用以下命令扫描您的系统:
- clamscan --infected --recursive /path/to/wordpress/sites
将突出显示的路径替换为 WordPress 站点的正确路径。该--recursive
参数将确保命令配置为通过子目录递归,我们在本示例中使用的路径指向所有 WordPress 安装所在的根文件夹。这样,只需一个命令,您就可以扫描所有 WordPress 网站。ClamAV 然后将返回它发现的所有可疑文件的列表,但不会采取任何行动。在调查 ClamAV 检测到哪些文件可疑并确认可以安全删除它们而不会对您的系统造成进一步损害后,您可能需要重新运行命令并--remove
选择删除受感染的文件。
注意:
--remove
将在没有您输入的情况下删除它发现的任何可疑文件,因此不建议将其--remove
作为您的第一次扫描运行,直到您确认结果。
如果 ClamAV 没有发现任何恶意软件,您将需要手动调查并找到恶意软件。虽然有多种方法可以做到这一点,但一个好的起点是根据文件的时间戳信息查找和识别任何最近上传的文件。
为此,请使用“查找”命令:
- find /path/to/wordpress/site -mtime -DAYS
要使用此命令,请将 替换为/path/to/wordpress/site
WordPress 站点的文件路径以及-DAYS
返回的天数。例如,如果你想回顾 1 天,那就是-1
; 回顾 10 天,它会是-10
。
花时间调查您不知道的任何已上传或修改的文件。
第 2 步 — 更新您的 WordPress 安装
识别恶意软件后,防止恶意攻击再次发生的下一步是更新您的 WordPress 安装。修补 WordPress 和任何已安装的主题或插件是明智的,以确保如果入侵位于插件或主题的安装目录中,您已删除并重新安装该插件或主题。您或许能够删除所有恶意文件,但在大多数情况下,首选干净安装受感染组件。
在大多数情况下,您可以在 WordPress 的管理 UI 中执行这些更新,这不需要使用任何其他工具。WordPress 还提供了一个自动更新选项,鼓励您启用该选项,以减少您的网站可能容易受到新发现的安全问题影响的时间。
防止恶意攻击的另一个有用建议是更新所有组件,即使是标记为非活动的组件。在某些情况下,即使禁用的插件和主题也可以访问,如果不保持更新,可能会受到损害。如果您确定不需要主题或插件,最好的做法是将其完全删除。
在某些情况下,作者可能会放弃某个主题或插件,并且虽然您安装了最新版本,但该插件或主题可能存在尚未修复的问题。在这种情况下,您可能需要考虑其他选项来替换当前已更新但仍是妥协来源的废弃组件。
第 3 步 — 保护您的 WordPress 安装免受恶意攻击
一旦您删除了任何恶意文件并确保所有组件都已更新,就可以保护您的 WordPress 安装了。我们建议的下一步是更改有权访问管理 UI 的用户的所有密码,尤其是那些具有完全管理权限或能够上传或修改文件内容的用户。
如果您不知道当前配置,请检查您的文件系统权限也是保护 WordPress 安装的重要步骤,因为错误的权限可能会允许您无意中进行文件读写访问。WordPress在此处很好地概述了设置应该是什么以及如何更新它们。
作为保护 Droplet 安装的一个步骤,您还可以安装一个插件来限制登录尝试失败的次数,这大大降低了暴力攻击的风险。该WP-限制为登录尝试的插件是一个受欢迎的选择使用。
最后,考虑使用Jetpack或Wordfence等 WordPress 安全插件。这些插件有助于积极打击入侵企图,并提供最后一层安全保护,以确保您的站点仅用于您的目的。
使用 Jetpack 或 Wordfence 等服务器端插件的替代方法是调查 Cloudflare 的缓存和 Web 应用程序防火墙 (WAF) 服务是否适合您的特定用例。要了解有关此选项的更多信息,请查看CloudFlare 的文档。
结论
当蛮力攻击源自您的 Droplet 时,导航故障排除选项可能很麻烦,但在本教程中,我们分享了一些步骤来帮助您跨 Droplets 检测、解决和保护您的 WordPress 安装。有关帮助管理 Droplet 的更多安全相关信息,请查看我们推荐的安全措施文章。