• WordPress

如何保护 WordPress 网站免受真正的威胁

  • Felix Rose-Collins
  • 20 min read

简介

大多数 WordPress 网站被入侵,并非因为有人专门针对你的网站。通常是自动化机器人正在扫描互联网,寻找常见的漏洞,例如过时的插件、安全性较低的登录方式,或是未关闭的设置。如果你的网站看起来容易被攻破,这些机器人可能会在几分钟内就开始尝试入侵。

保护网站并不需要具备安全工程师的专业技能。您只需采取几项能协同发挥作用的基础防护措施即可:锁定关键的 WordPress 设置,添加服务器规则,保持所有组件及时更新,并将备份与监控列为不可或缺的环节。这样您就能及早发现问题并快速恢复,而非数周后才察觉已造成的损害。

本指南注重实用性。我们将从影响重大的基础措施入手,随后深入探讨更高级的加固方案。

WordPress 网站常见的网络攻击 {#common-security-attacks-on-wordpress-sites}

大多数 WordPress 攻击都遵循一种熟悉的模式。机器人首先会探测常见的入口点,然后转向最容易被利用的漏洞。

Common Security Attacks on WordPress Sites

以下是您在真实的 WordPress 网站上最常遇到的风险。

暴力破解 {#brute-force}

暴力破解之所以有效,是因为它易于自动化且依然能奏效。机器人不会只猜测一个密码,而是在登录页面上每分钟尝试数千组用户名和密码。凭证填充攻击效果更佳,因为它利用了其他数据泄露事件中泄露的凭证。如果泄露的凭证匹配,攻击者将立即获得管理员权限。

当此类攻击发生时,您会观察到流量骤增、反复重定向,以及插件或服务器认证日志中大量登录失败记录。即使未发生数据泄露,此类攻击也会消耗 CPU 资源、拖慢网站速度,并导致日志被淹没。

存在漏洞的插件和主题 {#vulnerable-plugins-and-themes}

WordPress 核心虽可能存在问题,但插件和主题通常才是真正的隐患。攻击者之所以针对它们,是因为版本检测容易,且漏洞利用代码传播迅速。

遇见Ranktracker

有效SEO的一体化平台

每个成功的企业背后都有一个强大的SEO活动。但是,有无数的优化工具和技术可供选择,很难知道从哪里开始。好了,不要再害怕了,因为我已经得到了可以帮助的东西。介绍一下Ranktracker有效的SEO一体化平台

我们终于开放了Ranktracker的注册,完全免费!

创建一个免费账户

或使用您的证书登录

风险警示包括:被弃用的插件、付费工具的盗版副本以及长期未更新的插件。其影响范围从远程代码执行到数据库窃取,乃至 SEO 垃圾信息注入。

恶意软件注入 {#malware-injection}

恶意软件常潜伏在可写入或易被忽视的角落。这可能是被丢入 wp-content/uploads/ 目录的恶意脚本、被篡改了混乱 PHP 代码的插件文件,或是注入数据库从而通过模板或文章传播的代码。

典型迹象包括仅限移动端的重定向、神秘的管理员用户、异常的定时任务、不寻常的计划任务、外发请求激增,以及搜索控制台或主机滥用警告。这通常会导致反复感染、垃圾信息和被列入黑名单的风险。

SEO 垃圾信息攻击 {#seo-spam-attacks}

SEO 垃圾信息并不总是肉眼可见的。攻击者会添加隐藏链接、垃圾页面或仅供爬虫看到的內容。他们可能将垃圾信息注入数据库、添加未经授权的站点地图,或篡改 .htaccess 文件以向机器人提供不同的内容。

最初的迹象通常出现在搜索结果中:索引的URL异常以及流量骤降。您的域名开始因垃圾内容获得排名,而真实页面的可见度却下降。由于垃圾内容往往分散在数据库各处,清理工作会耗时更久。

SQL注入 {#sql-injection}

当插件或自定义代码向数据库发送不安全数据时,就会发生 SQL 注入。常见迹象包括异常的 URL 查询字符串、防火墙日志中的 SQLi 警报,以及数据库负载的突然激增。如果攻击者篡改用户或设置,这可能导致数据被盗、内容被篡改以及攻击者获得持久访问权限。

跨站请求伪造 {#cross-site-request-forgery}

当您登录 WordPress 且插件未执行正确的安全检查时,就会发生跨站请求伪造(CSRF)。攻击者可能诱骗您点击链接,从而触发创建用户、更改邮箱或更新设置等操作。

若点击后立即发生任何您未曾意图的后台管理变更,即为危险信号。由于攻击通过您的会话执行,日志可能看似正常,但它会悄然更改权限并导致系统被接管。

跨站脚本攻击 {#cross-site-scripting}

当插件或主题在未对用户内容进行预处理的情况下直接显示时,就会发生跨站脚本攻击(XSS)。存储型 XSS 危害更大,因为恶意代码会被保存并可在后续运行,甚至在管理后台执行,从而让攻击者修改设置、添加用户或安装插件。

您可能会在文章或设置中看到奇怪的脚本、仅限登录的重定向,或是自己未曾做出的更改。这可能导致会话被劫持,并在数据库中留下持久的感染。

基础安全要点 {#baseline-security-essentials}

从基础做起,消除简单的入侵点,并默认增强系统安全性,使其更难被攻破。

选择安全的 WordPress 托管服务 {#choose-a-secure-wordpress-hosting}

即使您强化了 WordPress 自身的安全,若主机服务薄弱,系统仍可能遭受攻击。主机服务控制着网站运行的环境,而该环境对安全性有着重大影响。

以下是安全型主机应具备的要素。

  • 隔离与安全默认设置

如果您的网站托管在拥挤的服务器上,且不同账户之间可能相互影响,那么您从一开始就面临额外风险。请寻找具备强账户隔离、合理文件权限,且默认不开放高风险服务的托管方案。

  • 服务器级保护

优质的主机服务商应负责管理防火墙规则、机器人过滤、安全补丁更新以及强化配置。您不应为了确保足够的安全性而不得不登录服务器手动调整设置。

  • 备份与快速恢复

一旦出现问题,响应速度至关重要。自动备份和快速恢复功能能拯救您的业务。

  • 可视性

访问日志、错误日志和性能指标能帮助您在服务中断发生前,及时发现暴力破解攻击、PHP 问题以及资源消耗激增的情况。

  • SSL

SSL 证书可对登录和会话进行加密,确保数据在传输过程中保持私密。安全的主机服务能简化证书的配置并支持自动轮换,从而避免证书过期问题。

遇见Ranktracker

有效SEO的一体化平台

每个成功的企业背后都有一个强大的SEO活动。但是,有无数的优化工具和技术可供选择,很难知道从哪里开始。好了,不要再害怕了,因为我已经得到了可以帮助的东西。介绍一下Ranktracker有效的SEO一体化平台

我们终于开放了Ranktracker的注册,完全免费!

创建一个免费账户

或使用您的证书登录

在托管型 WordPress 平台上,已预置多种防护措施,可在常见威胁触及 WordPress 之前将其拦截。例如,Cloudways 托管服务包含平台级安全功能,如防火墙、自动备份、可选的 WAF 插件以及 SafeUpdates。即便如此,您仍需负责更新和访问控制,但您是从更安全的基础开始的。

Cloudways 还提供专家协助的网站迁移服务,首次迁移完全免费。

安装 SSL 证书 {#install-an-ssl-certificate}

您是否注意到网站 URL 旁边的小挂锁图标?这表示您的网站正在使用 HTTPS。它向访客表明您的网站连接是安全的,他们的数据也受到保护。如果没有它,黑客可能会截获登录信息或支付数据等敏感信息。

SSL(安全套接层)会对网站与访客之间的数据进行加密。它能保护数据传输安全,确保密码和客户数据不会以明文形式传输。无论您运营的是博客、网店还是作品集,安装 SSL 证书已不再是可选项,而是必不可少。

选择您的 SSL 方案

大多数主机服务商都提供免费的 SSL 选项,只需点击几下即可启用。在 Cloudways 上,您可以直接在平台上启用免费的 Let’s Encrypt 证书。

如果您需要面向企业的证书或特定验证类型,也可以从DigiCertSectigo 等供应商处购买。

生成 CSR

证书签名请求(CSR)是您的服务器发送给证书提供商的请求。通常在主机控制面板中,您会看到“生成 CSR”选项。

填写域名、组织名称和所在地等基本信息,然后生成 CSR。证书提供商将据此签发证书。

验证域名所有权

在证书签发前,您需要证明自己拥有该域名。根据服务商的不同,通常需要完成以下其中一项操作:确认验证邮件、添加 DNS 记录或上传一个小型验证文件。一旦验证通过,证书即被签发。

安装证书

在您的主机控制面板中安装或上传证书。查找“SSL 管理”或“安全设置”等区域,然后按照提示将其关联到相应的域名。

Install the certificate

强制使用 HTTPS

安装 SSL 后,请确保所有流量默认通过 HTTPS 传输。这可确保访客始终访问您网站的安全版本。

您可以通过Really Simple SSL 等插件实现此功能,或者通过在 wp-config.php 中添加以下设置,强制 WordPress 管理后台使用 HTTPS:

更新内部链接

如果您的网站在设置或数据库中仍引用旧的 HTTP 网址,浏览器可能会显示混合内容警告。请更新这些内部链接,确保所有内容均通过 HTTPS 加载。

除了提升安全性,SSL 还能建立用户信任并有助于 SEO。这是一项快速升级,能向访客表明您高度重视隐私保护。

保持 WordPress、主题和插件更新 {#keep-wordpress-themes-and-plugins-updated}

更新即安全。大多数版本更新都会修复已知的漏洞。一旦漏洞公开,机器人就会扫描仍在使用旧版本的网站,而感染往往就发生在这个时间窗口内。

更新 WordPress 核心

核心更新通常包含安全修复,即使更新看似微小。

Update WordPress Core

请按照以下步骤更新 WordPress 核心:

  • 前往 WordPress 管理仪表盘 →更新
  • 在 WordPress 中,如果可用更新,请点击“立即更新”。
  • 完成后,打开您的网站并确认其能正常加载且您可以登录。

实用的更新流程

  • 至少启用次要版本的自动更新。
  • 重大更新请使用测试环境。
  • 每月预留一个维护时段用于打补丁和回归测试。

如果您选择 Cloudways 这样的托管平台,其 SafeUpdates 功能会通过备份和测试环境工作流,在将更改应用到生产环境之前,自动安排 WordPress 核心、插件和主题的更新。

更新主题

请按照以下步骤更新 WordPress 主题:

  • 前往 WordPress 管理仪表盘 →“更新”

Updates

  • 如果列表中显示了主题更新,请勾选复选框,然后点击“更新主题”。
  • 完成后,检查主页、菜单和关键页面是否加载正常。

删除未使用的插件和主题

未启用的插件和主题仍会保留在服务器上。删除它们可降低安全风险并缩小攻击面。

themes

清理检查清单:

  • 删除未使用的插件和主题。停用后会残留文件。
  • 对于与表单、缓存、SEO 或电子商务相关的插件,请先在测试环境中进行移除测试。
  • 仅保留当前启用的主题和一份备份。
  • 清理完成后,请验证登录、表单、结账和搜索功能是否正常。
  • 每月审查已安装的插件和主题。

​​请按照以下步骤删除未使用的 WordPress 插件:

  • 在 WordPress 管理仪表盘中,前往“插件”“已安装的插件”。
  • 找到不需要的插件。
  • 点击“停用”。随后将显示“删除”选项。
  • 点击“删除”,并按提示确认。

接下来,请按照以下步骤删除未使用的主题:

  • 在 WordPress 管理仪表盘中,前往“外观”“主题”
  • 点击您不需要的主题。
  • 点击“删除”,并按提示确认。

选择信誉良好的主题和插件

并非所有插件都值得信赖,即使其功能看起来很出色。请关注以下几点:近期是否有稳定的更新、文档是否清晰、是否提供积极的技术支持,以及是否与当前的 WordPress 版本兼容。

安装前的快速检查:

  • 请避免使用已弃用的插件和主题。
  • 请避免使用破解版插件和主题。
  • 除非您信任供应商,否则请谨慎下载非官方渠道的插件和主题。
  • 跳过近期未更新或未明确支持您当前 WordPress 版本的任何内容。

实用安全运维 {#practical-security-operations}

以下是降低日常风险、减少机器人干扰并帮助您及早发现问题的常规步骤。

攻击者常针对登录页面发起攻击,因为该页面路径固定且始终可访问。请严格管控管理员入口,让机器人无从下手,并确保被盗密码无法直接用于登录。

使用双因素认证 {#use-two-factor-authentication}

双因素认证能有效阻止大多数凭证填充攻击和凭证复用入侵。为管理员账户启用该功能后,即使密码被盗,登录请求也会被拦截。

要在 WordPress 网站上启用双因素认证,请选择一款信誉良好的双因素认证插件,并在手机上安装验证器应用。常见的双因素认证插件包括 miniOrange 2FA、WP 2FA、Wordfence Login Security 和 Two Factor。

启用双因素认证:

  • 在 WordPress 仪表盘中,前往“插件” →“安装插件”。
  • 搜索双因素认证(2FA)插件,然后安装激活它。
  • 从左侧边栏打开该插件的菜单,通常位于“安全”下或作为独立选项。
  • 找到“双因素认证”或“2FA”,然后选择“Authenticator”应用
  • 在验证器应用中扫描二维码或输入设置密钥。
  • 输入一次性验证码进行确认,然后点击“启用”或“激活”。
  • 下载恢复码并将其保存在密码管理器中。

为管理员角色强制启用双因素认证:

  • 打开插件的设置,通常位于“设置”或“安全”→“2FA”下。
  • 开启“要求 2FA”。
  • 请为“管理员”和“编辑”角色强制启用此功能;若您运营电商商店,请将“店铺经理”也加入其中。
  • 在至少两个管理账户分别在不同设备上完成注册后,保存更改。

2FA

更改默认登录网址 {#change-the-default-login-url}

大多数 WordPress 网站都使用相同的默认 URL:登录页面为 /wp-login.php,管理仪表盘为 /wp-admin/。机器人知道这些 URL,因此会不断尝试登录。

更改登录网址虽无法阻止蓄意攻击者,但可减少自动登录垃圾信息和暴力破解尝试。

请按照以下步骤更改 WordPress 中的默认登录网址:

  • 前往“插件”“安装插件”。
  • 安装一个登录 URL 更改插件,然后激活它。
  • “设置”或“安全”下打开该插件的设置。
  • 设置新的登录 URL保存更改
  • 请先注销,然后在无痕窗口中测试新链接。

使用唯一的管理员用户名 {#use-a-unique-admin-username}

** **“admin”是每份暴力破解列表中的首选猜测。使用该用户名等于给攻击者提供了成功所需的一半信息。

请按照以下步骤在 WordPress 中使用唯一的管理员用户名:

  • 前往“用户→“添加新用户”
  • 创建一个具有唯一用户名的新用户。请勿使用您的域名、品牌名称或电子邮件前缀。
  • 将角色设置为“管理员”,然后创建该账户。
  • 注销并使用新管理员用户重新登录。
  • 前往“用户”→“所有用户”。
  • 找到旧的管理员账户,将其角色降级或直接删除。若选择删除,当 WordPress 提示时,请将该账户的内容分配给新管理员。

限制登录尝试次数 {#limit-login-attempts}

不要让机器人无限次尝试密码。在几次登录失败后,暂时封禁该 IP 地址。

先从简单设置开始

  • 安装一个用于处理速率限制的插件,例如 Wordfence、Limit Login Attempts Reloaded 或 Loginizer。
  • 如果可用,请在主机商的防火墙控制面板中启用速率限制。

高级服务器配置

Nginx 速率限制示例(若您能控制 Nginx 配置,建议采用):

在 Nginx HTTP 上下文中添加以下内容:

然后在服务器块内为登录端点添加限制:

提示:若合法用户被拦截,请增加“rate”或“burst”值。请务必进行充分测试。

使用强管理员密码 {#use-strong-admin-passwords}

管理员密码无需易于记忆,但必须难以猜测。使用密码管理器生成长且随机的密码,并确保每个管理员账户都有其唯一的密码。这样,即使某个服务遭到入侵,您的 WordPress 管理员访问权限也不会随之泄露。

配置提示:** **

  • 如果可以,请在组织政策中禁用密码重复使用。
  • 当团队成员离职时,请立即更改管理员密码。

请按照以下步骤在 WordPress 中更改管理员密码:

  • 前往“用户”→“所有用户”。
  • 编辑管理员用户。
  • 点击“设置新密码”,然后点击“更新用户”。

使用推荐的 WordPress 安全插件 {#use-recommended-wordpress-security-plugins}

安全插件虽不能解决所有问题,但能为您提供快速防护并显著提升安全可见性。当系统出现异常时,您需要的是真正可用的日志记录。

一款优秀的安全插件应包含:

  • 文件完整性监控以发现意外更改
  • 登录保护与双因素认证强制实施
  • 恶意软件扫描,并提供清晰的清理和恢复路径
  • 可供实际查阅的警报和审计日志
  • 基本防火墙规则

明确需求后,请安装一款信誉良好的插件,例如WordfenceSucuriAll In One WP Security。这些工具可提供登录保护、文件变更检测及日志记录功能,并能屏蔽大量常见的攻击噪音,包括暴力破解尝试。

请按照以下步骤安装 WordPress 安全插件:

  • 前往“插件”“添加新插件”。
  • 搜索该安全插件。
  • 点击“立即安装”,然后点击“激活”。
  • 从左侧边栏打开该插件,并运行其设置向导(如有)。

设置提示:

  • 使用一个主要的安全插件以避免冲突和功能重复。
  • 关闭您不会使用的功能,特别是在访问量大的网站上,应避免进行耗时的扫描。
  • 如果您的主机提供速率限制或封锁功能,请尽可能利用这些功能来防范暴力破解攻击。

故障排除:

  • 如果您被 WordPress 管理员界面封禁,请先检查防火墙规则并降低严格模式的级别。
  • 将您的 IP 加入白名单,以免将您自己的团队锁在门外。
  • 在禁用保护功能前请查看日志,以便了解触发封锁的原因。

使用防火墙和恶意软件扫描 {#use-a-firewall-and-malware-scanning}

防火墙能在攻击到达 WordPress 之前将其拦截。随后,恶意软件扫描会检查您的文件和数据库是否遭到篡改。

如果您无法控制服务器配置,请使用主机商的防火墙控制面板,或借助 Wordfence、Sucuri 等安全插件来限制登录频率,并限制或阻止 XML-RPC 请求。**

防火墙设置

采用分层防护。在边缘部署 WAF,通过服务器规则拦截恶意流量,并借助恶意软件扫描进行清理。

Firewall setup

在托管平台上,您可以启用内置的 Web 应用防火墙,并配合 IP 或国家/地区屏蔽功能。例如,Cloudways 提供可选的Cloudflare Enterprise附加组件,用于边缘过滤和机器人防护。

恶意软件扫描

扫描异常文件更改和数据库注入(垃圾链接、隐藏脚本)。

定期检查以下内容:

  • wp-content/uploads 目录中的文件修改及未知 PHP 代码
  • 数据库垃圾信息或注入代码
  • 可疑的定时任务和外网连接

Cloudways 提供由 Imunify360 驱动的恶意软件防护插件,用于服务器级扫描和自动清理。

请按照以下步骤从 WordPress 中清除恶意软件:

  • 启用维护模式。
  • 确定入侵入口(存在漏洞的插件、弱凭据)。
  • 轮换所有密钥(管理员/数据库密码、盐值、SSH密钥)。
  • 从干净的备份中恢复。
  • 在正式上线前修复根本原因。

高级技术加固{#advanced-technical-hardening}

高级技术加固是指在基础设置之外进一步强化 WordPress 配置。这些步骤侧重于配置、服务器控制和访问策略,旨在降低风险,并在登录凭据或插件遭到入侵时限制损害。

保护 wp-config.php 文件 {#secure-the-wp-config-php-file}

wp-config.php文件包含数据库凭据和密钥。请将其视为密钥库。

使用以下命令设置严格的权限:

chmod 400 wp-config.php

这将阻止其他用户和进程读取或修改该文件。如果您的 Web 服务器需要组读取权限,请使用440

如果设置为 400 导致网站无法运行,请切换为 440,并确保组所有权与您的 Web 服务器运行用户一致。

若环境允许,为增强安全性,可将 wp-config.php 文件移至 Web 根目录上一层。WordPress 仍会自动加载该文件。

限制用户角色和权限 {#limit-user-roles-and-permissions}

仅向用户授予其所需的权限(最小权限原则)。这可防止被黑的账户接管整个网站。

请按照以下步骤在 WordPress 中限制用户角色和权限:

  • 前往“用户”→“所有用户”。
  • 点击您要审查的用户。
  • “角色”下拉菜单中,选择他们所需的最低角色,例如订阅者贡献者作者或 编辑
  • 点击“更新用户”。

对每个具有管理员权限的账户重复此操作,并撤销无需管理员权限用户的权限。删除或停用已无人使用的休眠账户。

若需特殊访问权限,请使用自定义角色,并在分配前审核其权限。每季度审核一次角色,并移除不必要的管理员权限。这将限制攻击者利用被盗登录信息所能进行的操作。

禁用仪表盘中的文件编辑功能 {#disable-file-editing-from-the-dashboard}

禁用内置的主题和插件编辑器。这样,即使管理员账户遭到入侵,攻击者也无法快速将恶意代码植入您的网站文件中。

请按照以下步骤禁用 WordPress 仪表盘中的文件编辑功能:

  • 使用 SFTP 或主机商的文件管理器连接到您的网站。
  • 编辑 WordPress 根目录中的 wp-config.php 文件,并添加:
  • 保存文件。
  • 在 WordPress 管理后台检查“外观”选项。主题编辑器将消失。插件编辑器也会消失。

如果您的团队依赖仪表盘编辑,请将该工作流迁移至基于 Git 的部署或使用受限账户的 SFTP。

禁用 XML-RPC {#disable-xml-rpc}

XML-RPC 是暴力破解攻击和引用通告滥用的常见入口。请在 WordPress 或服务器层面将其屏蔽。

方案 A:在 WordPress 中禁用

  • 在 functions.php 或自定义插件中添加以下代码:
  • 保存文件。
  • 在浏览器中访问 https://yourdomain.com/xmlrpc.php 打开 xmlrpc.php 端点 您将看到一条通用 XML-RPC 消息,但 XML-RPC 请求将不再起作用。

此操作仅在 WordPress 层禁用 XML-RPC。xmlrpc.php 端点仍可能被访问,因此为了全面保护并减轻服务器负载,请在 Web 服务器或 WAF 层进行拦截。

方案 B:在 Web 服务器层进行拦截**

在服务器端封锁 XML-RPC 是最有效的方案,因为它能在 PHP 运行前拦截请求。

Nginx

  • 打开您网站该域名的 Nginx 配置文件。
  • 在 server 代码块中为 xmlrpc.php 添加一条规则。
  • 重启 Nginx。

Apache

  • 如果允许,请编辑您网站的 Apache 配置文件或 .htaccess 文件。
  • 添加 xmlrpc.php 的规则。
  • 重新加载 Apache。

这能彻底阻止请求到达 WordPress,从而减轻服务器负载并切断常见的 XML-RPC 攻击路径。

注意:如果 Jetpack 插件或 WordPress 移动应用需要使用 XML-RPC,请勿完全阻止它。相反,应限制请求速率,并在可能的情况下仅允许来自可信 IP 的访问。

备份与监控{#backups-and-monitoring}

做好故障应对准备。备份能助您快速恢复。监控则能显示系统发生了哪些变化。

定期备份您的网站 {#back-up-your-website-regularly}

备份绝非可有可无。当更新导致生产环境故障、插件遭到入侵,或错误部署破坏了数据库时,备份就是您的应急出口。

您需要确保保留一个完整的网站副本,以便快速恢复,而无需猜测缺失了哪些内容。

手动备份

请按照以下步骤备份您的 WordPress 网站:

  • “插件安装插件”中安装并激活一个备份插件。
  • 打开该插件,在选定文件和数据库后点击“立即备份”。
  • 如有可用,请将其保存到站外存储。

自动备份

大多数托管型 WordPress 主机默认提供自动备份功能,通常每天执行一次,数据按滚动周期保留,并可在主机控制面板中通过“一键还原”功能进行恢复。

Automated backup

请根据网站的更新频率选择备份计划。

  • 每日:适用于更新频繁、评论或订单较多的活跃网站。
  • 每周:适用于变更较少的营销网站。
  • 每月:** **当内容很少更改时。

完整备份应包含数据库、wp-content 文件夹(特别是 uploads 目录)以及配置文件(如果您的配置未设置为自动重建这些文件)。

最佳实践:

  • 将备份存储在异地。即使服务器发生故障,备份也不会被清除。
  • 保留多个还原点,而不仅仅是最新的快照。
  • 定期测试恢复功能。未经测试的备份无法保证有效。关键时刻,您才希望它们能正常工作。

若还原过程缓慢或失败,通常是备份文件过于臃肿所致。请检查备份大小的增长情况,这通常由 wp-content 目录内的日志文件或缓存目录引起。当您的平台能够安全地重新生成这些文件时,请将缓存目录从备份中排除。

监控您的网站 {#monitor-your-site}

安全加固虽有帮助,但监控能捕捉到遗漏的问题。尽早发现问题。准备好日志以便追踪事件经过。

运行时间监控

正常运行时间检测可帮助您及时发现网站宕机或出现异常情况,例如首页被黑客篡改、更新导致 PHP 无法正常运行,或是攻击导致服务器过载。

UptimeRobot(提供慷慨的免费套餐)或 Pingdom 等在线可用性监控工具,可对您的主页和关键页面进行 HTTP 及关键词检测。

实用设置:

  • 监控您的主页以及一个无需登录即可访问的重要页面,例如价格页面、结账页面或主要着陆页。
  • 同时使用 HTTP 状态检查和关键词检查,以免被黑但仍返回正常 200 响应的页面漏检。

安全警报

针对账户被劫持、篡改或异常偏移等事件设置警报。

Wordfence 或 Sucuri 等安全插件会对登录量激增、文件更改以及新管理员用户发出警报。

请按照以下步骤在 WordPress 中设置警报:

  • 前往“插件”“安装插件”。
  • 安装并激活一个支持警报功能的安全插件。
  • 从左侧边栏打开该插件。
  • 在插件设置中查找“警报”或“通知”
  • 为以下项目开启警报:
    • 新建管理员用户
    • 插件或主题文件发生更改
    • 登录流量激增或多次登录失败
    • 有关键插件更新可用
    • DNS 或 SSL 证书问题
  • 将关键警报转发至 Slack 或 PagerDuty。仅保留低优先级通知的邮件通知。

活动日志

在安全事件发生时,日志能解答唯一关键的问题:发生了什么变化、何时发生、谁进行了更改以及从何处操作。

实际设置:

  • 记录管理员操作,例如用户创建、插件安装和设置更改。
  • 保留日志的时间应足够长,以便调查发展缓慢的安全事件。
  • 将活动日志与服务器访问日志关联,以便关联 IP 地址和用户代理。

请按照以下步骤在 WordPress 中启用活动日志:

  • 前往“插件”“添加新插件”。
  • 安装并激活活动日志插件。
  • 从左侧边栏打开该插件。
  • 开启管理员操作的日志记录,例如用户创建、插件安装和设置更改。
  • 设置日志保留时长,然后保存。
  • 如果可用,请启用日志导出或转发至外部存储。

如果日志增长过快,请在不丢失后续所需关键信息的前提下减少日志量。

  • 降低非关键事件的日志详细程度。
  • 积极轮换日志。
  • 在条件允许时,将日志卸载到外部日志存储。

结语 {#final-thoughts}

WordPress 安全问题通常源于一些简单的原因。微小的漏洞往往长期存在:未及时更新、密码强度不足,或是管理员权限过大。

若只能做一件事,请务必坚持。定期更新 WordPress 核心、主题和插件。对管理员级账户强制启用双因素认证。使用长且唯一的密码,并避免使用显而易见的用户名。确保每个页面都启用 HTTPS,以保持登录、会话和表单数据的加密状态。

在基础措施到位后,再增加额外防护。使用防火墙在恶意流量到达网站前将其拦截。运行恶意软件扫描和文件变更监控,以便尽早发现问题。将备份存放在异地,保留多个还原点,并测试还原过程,确保恢复流程可控。

落实这些措施后,您的 WordPress 网站将更难遭到入侵,更易于监控,且一旦发生问题也能快速恢复。

常见问题 {#frequently-asked-questions}

1. WordPress 安全吗?

是的,只要遵循基本安全规范,WordPress 就是安全的:保持核心程序、主题和插件更新;为管理员设置强密码并启用双因素认证;选择具备隔离机制和防火墙的托管服务;定期进行备份。

2. WordPress 是否内置安全功能?

是的。WordPress 核心自带了角色与权限、管理员操作保护、安全密码哈希以及定期安全更新等坚实的基础功能。现实中大多数安全漏洞都源于过时的插件和主题、弱密码或服务器配置错误,而非保持更新的默认核心安装。

遇见Ranktracker

有效SEO的一体化平台

每个成功的企业背后都有一个强大的SEO活动。但是,有无数的优化工具和技术可供选择,很难知道从哪里开始。好了,不要再害怕了,因为我已经得到了可以帮助的东西。介绍一下Ranktracker有效的SEO一体化平台

我们终于开放了Ranktracker的注册,完全免费!

创建一个免费账户

或使用您的证书登录

3. 我的 WordPress 网站是否被黑了?

请留意明显的异常迹象,例如意外重定向、您未创建的新管理员用户、未部署却发生变化的主题或插件文件、异常的定时任务,以及突然激增的登录流量。检查您的安全插件日志和服务器访问日志。如果您使用 Google 搜索控制台,请查看警告信息和陌生的已收录 URL。

4. 如何将我的 WordPress 网站切换为 HTTPS?

在主机控制面板中安装 SSL 证书。随后将 WordPress 的首页 URL 和站点 URL 更新为 HTTPS,并强制管理后台和前端使用 HTTPS。若出现混合内容警告,请替换数据库和主题资源中硬编码的 HTTP 链接。若使用代理或负载均衡器,请确保 WordPress 能识别原始请求为 HTTPS,以避免重定向循环。

Felix Rose-Collins

Felix Rose-Collins

Ranktracker's CEO/CMO & Co-founder

Felix Rose-Collins is the Co-founder and CEO/CMO of Ranktracker. With over 15 years of SEO experience, he has single-handedly scaled the Ranktracker site to over 500,000 monthly visits, with 390,000 of these stemming from organic searches each month.

开始使用Ranktracker...免费的!

找出阻碍你的网站排名的原因。

创建一个免费账户

或使用您的证书登录

Different views of Ranktracker app