WordPress

WordPress 安全加固:实用清单

大多数被入侵的 WordPress 网站都栽在过时的插件和薄弱的登录凭据上。这份安全加固清单涵盖了效果最显著、最值得优先完成的步骤。

作者:Zebra Hosting Cloud

WordPress 驱动着海量网站,因此一直是自动化攻击的目标。这些攻击大多并不高明,只是扫描旧版本插件、猜测弱密码或重复使用泄露的凭据。好消息是:几个持之以恒的习惯就能挡住其中大部分。下面是一份你一个下午就能逐项完成的清单。

更新、登录与访问权限

过时的插件和主题是最常见的入侵途径。请及时更新 WordPress 核心、插件和主题,并删除不再使用的内容。可以考虑为核心的小版本更新以及你信任的插件启用自动更新,同时先在测试副本上验证较大的变更。我们关于如何安全更新 WordPress 的指南介绍了这套例行流程。

使用高强度且唯一的登录凭据并启用双因素认证

使用密码管理器,为每个账户设置冗长且唯一的密码。为管理员和编辑启用双因素认证。不要使用 admin 作为用户名,并确保公开文章上显示的名称不是登录名。

限制用户权限

只授予能让人完成工作的最低角色。撰稿人只需要“作者”或“投稿者”,而不是“管理员”。删除已离开人员的账户。管理员越少,可能被攻破的账户就越少。

登录页面、HTTPS 与配置

限制登录失败的次数,并考虑在可行时加入验证挑战,或按 IP 地址限制对 /wp-login.php 的访问。Web 应用防火墙(例如通过 Cloudflare 提供的防护)可以在许多恶意请求到达 WordPress 之前将其拦截。我们在主机层面如何处理这一点,请参阅我们的安全页面。

全站使用 HTTPS

整个网站,包括管理后台,都通过 HTTPS 提供服务。我们的主机包含免费的 Let's Encrypt 证书;请参阅 SSL 页面。在 wp-config.php 中,你可以强制使用安全的管理会话:

define( 'FORCE_SSL_ADMIN', true );

禁用后台中的文件编辑功能

WordPress 允许管理员在后台编辑插件和主题文件。一旦攻击者进入,这就成了现成的工具。请把它关掉:

define( 'DISALLOW_FILE_EDIT', true );

设置正确的文件权限

文件通常应当可被 Web 服务器读取,但不能让所有人可写。不要为了解决上传问题而把文件夹设置为完全权限;请去查找真正的所有权问题。让 wp-config.php 在你的环境允许的范围内尽可能严格锁定,并且绝不要把备份或数据库转储文件留在 Web 根目录里。

备份、来源与监控

安全不仅在于预防,也在于恢复。把自动备份保存在 Web 服务器之外,并测试恢复。一旦出问题,干净的备份是你最快的回退办法。

只从可信来源安装软件

使用来自官方目录或开发者的插件和主题。盗版的付费软件是隐藏后门的常见来源。如果授权太贵,请寻找更轻量的替代品。

留意变动

安全插件或监控服务可以在文件被改动、出现新的管理员账户以及登录行为异常时提醒你。警报只有在有人查看时才有用,所以请把它们发送到你会查看的邮箱。

减少暴露面

  • 删除未使用的主题和插件,而不仅仅是停用。
  • 如果不使用 XML-RPC,请禁用它,或者对其加以限制。
  • 在容易做到的地方隐藏版本号,但不要依赖“隐蔽”来保证安全。
  • 为不同的网站使用不同的数据库用户,并设置高强度密码。

保持服务器层面的健康

加固 WordPress 只是工作的一半。服务器需要受支持的 PHP 版本、最新的操作系统更新,以及账户之间的隔离。在共享和托管套餐上,这些由服务商为你处理;在 VPS 上则由你自己负责。

加固速览表

方面措施工作量
更新核心、插件、主题保持最新低
账户高强度密码、双因素认证、最小权限低
配置禁用文件编辑,强制管理后台使用 SSL低
备份服务器外存放,并测试恢复中
防火墙WAF 与登录限制中

没有哪个网站是百分之百安全的

要坦诚面对局限。加固只能降低风险,不能消除风险。请准备好一套方案,说明一旦网站被入侵该怎么办,并保存好将会协助你的人的联系方式。

让安全成为习惯,而不是一个项目

大多数 WordPress 安全方案最大的弱点,不是缺少某项功能,而是缺少一套例行流程。请在日历里设一个每月提醒,用来检查用户、查看哪些插件已不再获得更新、阅读安全警报,并确认最近的备份可以恢复。每月二十分钟,比一次从此无人再理会的一次性加固更有价值。

同时记录谁拥有哪些访问权限:主机面板、域名注册商、WordPress 管理员账户以及任何第三方服务。代理机构或自由职业者完成项目后,当天就要撤销他们的访问权限。

如果你今天只有时间做三件事,那就做这三件:更新所有内容,为每位管理员开启双因素认证,并确认存在一份近期的服务器外备份。它们应对的是网站遭入侵最常见的方式,以及最重要的恢复手段。

主机层面的安全

优质的主机会为你自己的加固工作提供支撑。我们的 WordPress 主机包含免费 SSL、用于管理访问权限的 Plesk,并可使用 Cloudflare CDN,我们的支持团队可以用 17 种语言解答有关网站安全的问题。