WordPress 驱动着全球很大一部分网站,这种普及度也使它成为攻击者眼中的诱人目标。好消息是:大多数成功的攻击,并非源于高深的技术漏洞,而是来自未更新的插件、薄弱的密码以及没有备份的网站。换句话说,一个定期落实基本防护措施的网站,就已经能抵御大部分攻击。

本文先介绍无需任何插件即可落实的基本措施,然后说明安全插件的作用以及如何选择。由于插件的功能会随版本变化,具体细节请查阅每款产品的最新文档。

先做好基本防护

安全插件无法替代缺失的基础。请先完成以下步骤:

  1. 不要拖延更新。WordPress 核心、主题和插件中的安全漏洞,都是通过更新来修补的。删除不使用的插件和主题。
  2. 使用强且唯一的密码。使用密码管理器;不要把管理员用户名保留为“admin”。
  3. 开启两步验证。至少对管理员和编辑账户开启。
  4. 做好备份并尝试还原。备份是遭受攻击后最终的救命稻草。
  5. 使用 HTTPS。没有 SSL 证书的网站,登录信息会在网络上明文传输。
  6. 限制用户权限。不要给所有人管理员角色;遵循最小权限原则。
  7. 从可信来源安装插件和主题。未授权或来源不明的安装包,后门风险很高。

安全插件能做什么?

安全插件通常提供四类功能中的部分:防火墙(WAF)、恶意软件扫描、登录保护和变更监控。并非每款插件在这些方面都同样强大,因此你首先需要明确自己的需求。

  • 防火墙:在恶意请求到达网站之前,或在 WordPress 代码运行之前将其拦截。
  • 扫描:搜索文件中的可疑代码以及被篡改的核心文件。
  • 登录保护:限制暴力破解攻击,并增加两步验证。
  • 监控:记录谁在何时修改了哪项设置。

主流安全插件对比

方案方式优势需要注意的地方
Wordfence运行在网站内的防火墙与扫描器免费版功能广泛,恶意代码扫描占用服务器资源;在较弱的托管环境中可能变慢
Sucuri基于云端的防火墙和清理服务在流量到达网站之前过滤,提供攻击后的清理支持高级功能需依赖付费套餐
Solid Security(原 iThemes Security)侧重加固与登录保护两步验证、设置加固、登录次数限制扫描功能可能不如其他产品全面
CleanTalk基于云端的垃圾信息防护拦截表单和评论中的虚假注册,无需验证码专注于垃圾信息,而非全面安全;用于补充其他防护层

与其在这张表中寻找“唯一正确的插件”,不如考虑组合方案:一款用于防火墙和扫描,另一款用于垃圾信息防护。不要在同一个网站上运行一个以上的防火墙插件;这会造成冲突。

不要忽视垃圾信息和虚假注册防护

机器人流量不只会产生垃圾信息;它们还会通过注册表单、评论区和联系表单让数据库膨胀,拖慢服务器,有时还会散布恶意链接。CleanTalk 之类的云端方案可以在不打扰访客的情况下过滤这类流量。在 WooCommerce 和会员网站上,这一层尤其有价值,因为那里常见虚假账户的注册尝试。

备份:安全的最后一环

即使防护最严密的网站,也可能有一天遭受损害。更新出错、服务器故障、有问题的插件或攻击:这些情况的补救办法,都是恢复到一个干净的备份。备份必须保存在网站所在的服务器之外的地方(云存储、另一台服务器)。WPvivid Backup Bundle 等插件提供定时备份、发送到外部存储以及一键还原功能。备份固然重要,但每月通过还原到测试站点来验证其可用性,同样重要。

应该选择哪款插件?简短指南

如果你只经营一个博客,预算有限,那么一款免费的站内安全插件、一套可靠的备份方案和垃圾信息防护,通常就是足够的组合。如果你经营的是一个经常成为攻击目标的电商网站,添加基于云端的防火墙也是合理的,因为恶意流量会在到达服务器之前被过滤掉。如果你是为客户托管网站的代理机构,那么集中管理和定期的安全报告,对你来说会比插件功能更重要。

无论如何,安装插件后请在一周内监控日志。放宽一条会误报的规则,要好过漏掉真正的威胁;但你也需要测试一个从不发出警报的系统是否真的在工作。为此,你可以进行一次受控的登录尝试,检查是否被记录下来。

管理多个网站

如果你是管理客户网站的代理机构,或者同时负责多个项目,逐一登录每个网站进行更新既费时又容易出错。MainWP Pro 等集中管理工具,可以让你在一个面板中监控所有网站的更新、备份和状态。从安全角度看,这能减少更新的延迟。

清理数据库和无用数据

被弃用的插件留下的数据表、旧草稿和垃圾评论,不仅会影响性能,还会扩大攻击面。Advanced Database Cleaner Pro 等工具有助于安全地清除这些残留。清理之前,请务必先做备份。

别忘了你自己的电脑

如果你用来管理网站的电脑被感染,你的登录信息就可能被盗。请在作为管理员使用的设备上运行最新的防护软件;例如 Kaspersky Premium Total Security 这样的全面方案,可以为抵御钓鱼和恶意软件增加一层防护。不要在公共 Wi-Fi 上登录管理面板。

服务器与文件层面的加固

除了插件之外,几项设置也能显著增强网站的安全性。你可以在托管面板中进行这些设置,也可以与服务器管理员一起完成:

  • 使用最新的 PHP 版本:已停止支持的 PHP 版本不再获得安全补丁。请在托管面板中升级到受支持的最新版本,并测试其与你的插件的兼容性。
  • 关闭文件编辑器:禁用管理面板中的主题和插件文件编辑器,可以让已被攻陷的管理员账户更难直接写入代码。
  • 文件权限:不要给文件和文件夹超出必要的写入权限;让配置文件(wp-config)无法被外部访问。
  • 上传文件夹:在保存用户上传内容的文件夹中禁止执行 PHP 文件。
  • XML-RPC:如果不使用,请将其关闭;它经常被用于暴力破解攻击。
  • 数据库前缀与用户枚举:开启可防止用户名被外部列出的设置。

其中一些设置可以由安全插件一键完成;不过,仍需确保托管服务商自带的安全工具不会与之冲突。

每月安全例行检查

安全不是做一次就放在一边的工作,而是一种小而规律的习惯。每月抽出一小时,检查以下内容:管理员和编辑账户列表是否为最新?不再使用的插件是否已删除?备份是否真的在生成?登录尝试报告中是否有异常增长?SSL 证书的到期日是否临近?Search Console 中是否有安全警告?当这些检查通过一个小小的日历提醒固定下来,问题就能在扩大之前被发现。

如何判断网站是否遭到攻击?

  • 搜索结果中出现你不认识的页面或标题。
  • 网站出现意外的跳转或弹窗。
  • 出现你不认识的管理员账户。
  • 托管服务商发来资源使用过量或恶意软件的警告。
  • 网站打开变慢,浏览器显示安全警告。

遇到这种情况,首先将网站切换到维护模式,更改密码,恢复到干净的备份,并在关闭漏洞之前不要重新开放网站。如果你自己无法解决,请咨询安全专家。

如需插件和主题,可以查看 WordPress 插件与主题分类;在 LisansX,交付方式为数字化,并且正版授权版本可以获得更新。

常见问题

免费的安全插件够用吗?

对于小型博客,通常已经足够。对于托管电商、会员或客户数据的网站,应当考虑付费套餐,以获得高级功能、支持和防火墙规则。

安全插件会拖慢网站吗?

在站内运行的插件会占用服务器资源,在较弱的托管环境中可能较为明显。基于云端的方案会把这部分负担转移出服务器。安装后请重新测量速度。

更改 WordPress 登录地址有用吗?

它可以减少简单的机器人攻击,但本身并不是安全措施。强密码、两步验证和登录次数限制要有效得多。

应该多久备份一次?

对于每天都有新内容的网站,每日备份是合理的起点;对于很少变动的网站,每周备份即可。接受订单的商店需要更频繁地备份数据库。