WordPress安全防护:五大层级、全方位措施守护你的网站

WordPress 虽然是一款开源 CMS 系统,但它并不能完全规避网络攻击或安全漏洞带来的风险。因此,当我们用 WordPress 建设外贸网站时,网站的安全性也是我们需要重点兼顾的。

提高WordPress的安全性不仅是抵御黑客入侵的关键举措,更是维护用户数据安全与信任的重要基础。

本文将针对 WordPress 常见的攻击威胁进行分析,并逐步介绍多项在日常使用中可行的安全提升措施。此WordPress教程是在“网站速度优化”内容之后,更加深入的 WordPress 安全指南。希望通过系统学习,帮助读者轻松构建更安全、稳定的网站,也为访客提供一个可靠的访问环境。

WordPress网站会遭受的网络攻击

我们先来看一下WordPress网站一般会遭受的网络攻击有哪些:

密码攻击

密码攻击通过不断地重复输入用户名和密码来暴力破解网站后台。如果有人知道了你经常使用的密码(比如生日、电话号码等容易被猜到的密码),他们就可能试图用这些信息来登录你的后台,进而入侵网站。

或者如果你的管理员账户使用了一个非常简单的密码,比如“password123”,那么攻击者可以用自动化的工具尝试常见的简单密码,一旦猜对,他们就能控制你的网站,添加或删除内容,甚至盗取顾客信息。

XSS攻击

XSS(跨站脚本)攻击通常利用插件漏洞,将恶意代码注入到网站中。尤其是使用破解版插件,极易为网站埋下安全隐患,成为黑客注入 XSS 攻击的入口。一旦攻击成功,网站的敏感信息可能被窃取或遭到篡改。

举个常见场景:如果攻击者在评论区插入了恶意 JavaScript 代码,而你的网站没有对这类输入进行有效过滤,那么其他用户在浏览这些评论时,这段代码就会在他们的浏览器中被执行。

这样一来,黑客不仅可以窃取访问者的 cookie 或会话信息,甚至有可能在用户毫不知情的情况下,控制其账户或进行其他恶意操作。

SQL注入

SQL注入就是攻击者在输入数据时注入恶意SQL代码,从而操控后端数据库。比如你的WordPress网站上有一个搜索框,用来搜索网站上的产品信息。

如果攻击者在搜索框输入特定的SQL命令,比如 ‘ OR ‘1’=’1, 并且你的网站没有防止SQL注入的措施,这将使得这条SQL查询返回数据库中所有的产品信息。这种攻击可以导致敏感数据泄露,如用户信息、产品成本等。

DDoS攻击

DDoS(分布式拒绝服务)攻击是指攻击者向你的网站短时间内发送大量流量,导致服务器资源被耗尽,网站性能严重下降,甚至直接崩溃。比如,在黑五促销期间,你的 ToC 站点上线了爆款打折产品,正常情况下会吸引大量用户访问。但此时,攻击者可能利用僵尸网络(成千上万台被控制的设备),同时向你的网站发起请求,制造流量洪峰。

结果就是,网站服务器被大量无效流量拖垮,正常客户无法访问网站,直接影响外贸网站的询盘和订单转化,严重时甚至会损失核心客户和商机。

如何提高WordPress网站的安全性?

WordPress 的灵活与强大让其成为全球最受欢迎的建站系统,但开放性也意味着面临更多的安全挑战。要打造一个安全、可靠的 WordPress 网站,仅仅依靠一两项措施远远不够,更需要从多层级、系统化的角度进行全方位防护。

本教程结合实操经验,将 WordPress 安全体系分为五大层级,其中很多WordPress防护功能可以藉由Wordfence Security这个插件来实现(免费版即可噢)。

第一级:基础防护

给网站设置强密码

强密码是保护网站安全的第一道防线。简单或常见的密码很容易被黑客利用自动化工具暴力破解。一旦攻击者获得你的账户访问权限,就可能窃取网站敏感数据、植入恶意程序,甚至直接删除网站内容。

因此,建议设置复杂且唯一的强密码,最好是那种自己都记不住的长密码,并妥善保存。你可以使用像 LastPass 这样的密码管理工具自动生成和保存高强度密码,建议密码长度至少为16位。

安装SSL证书

假设你在邮局寄信,如果信封不封闭,信件内容可能会被任何人看到或篡改。SSL证书相当于是给网站的数据通信加密一个安全的“信封”,确保数据(比如用户输入的密码和支付信息)在传输过程中不被窥视或篡改。

SSL证书通过对在用户的浏览器和网站服务器之间传输的数据进行加密,确保数据在互联网上传输时的安全。

即使数据在传输过程中被拦截,信息也因为加密而无法被读取。

大多数网站托管服务(比如SiteGroundCloudways)都提供免费的SSL证书(如Let’s Encrypt),在你的托管控制面板中,通常有选项允许你一键安装SSL证书。如果你不知道怎么操作,可以看我上面两篇外贸主机教程。

如果你的网站有一段历史,也没有安装SSL证书,那么会出现很多资源都是HTTP开头的,这时候安装SSL证书不能保证修改以前的资源链接,这个时候可以安装Really Simple SSL来解决这个棘手的问题。

安装这个插件之前记得备份网站,因为有可能激活这个WordPress插件后出现无法访问后台登录界面的情况;如果碰到这样的问题,那么解决方法是通过FTP或者面板后台去删掉Really Simple SSL这个插件的文件。

及时升级WordPress版本、插件和主题

在使用 WordPress 搭建网站时,主题和插件是必不可少的。但需要注意的是,过时的 WordPress 程序、插件或主题往往存在安全漏洞,很容易被黑客利用进行攻击

开发者会在新版本中修复已知的安全漏洞,因此及时升级插件、主题和 WordPress 主程序,是降低网站被入侵风险的重要措施。

你可以选择开启自动更新,也可以定期手动检查和更新所有组件。务必在更新前备份网站数据,以防万一出现兼容性或其他技术问题,确保网站安全无忧。

还有,不要为了省一些费用而去使用破解版的WordPress主题和插件,比如WP Rocket和Elementor PRO这类常用但是破解版满地都是的插件。

第二级:身份与访问控制

隐藏WordPress版本

不同版本的 WordPress 可能存在特定的安全漏洞。如果攻击者能够轻易获取你的网站 WordPress 版本信息,就有可能针对这些已知漏洞发起攻击。通过隐藏 WordPress 版本号,可以有效降低被精准攻击的风险。

你可以使用Wordfence这个安全插件,它内置了隐藏 WordPress 版本号的功能,帮助提升网站的安全性。

更改后台登录地址

我们用WordPress网站默认的登录地址是https://yourdomain.com/wp-login.php,这个登录地址是直接暴露在互联网上的,很容易为攻击者提供了明确的目标。更改这个后台登录地址能够有效减少自动化攻击,因为攻击者首先需要找到正确的登录页面。

默认的wp-login.php更改成只有网站管理员知道的路径,可以使用WPS Hide Login这个插件来实现。

限制登录次数

限制登录次数的核心作用是防止暴力破解攻击——也就是黑客用自动化工具不断尝试不同的用户名和密码组合,直到撞对为止。

通过设置登录失败的最大次数,系统在达到限制后会暂时锁定该 IP 地址,阻止其继续尝试登录。这可以大大降低密码被暴力破解的风险。可以使用Wordfence Security这款一站式安全插件来实现限制登录次数的功能。你可以自定义密码登录失败多少次后锁定,也可以自定义锁定多久。

这个功能是在Wordfence的“Firewall”下的“Brute Force Protection”中,免费版即可使用。

删除不活动用户账户

不活动的用户账户如果被遗忘,可能成为安全漏洞。比如,如果这些账户的密码很弱,或者账户持有者不再更新其安全设置(如启用两步验证),它们就可能轻易地被黑客攻破。

想要防止非活跃的账户成为攻击目标,应定期审核并删除这些账户。可以点开WP后台管理界面中的“用户”部分来进行非活跃用户的管理。

第三级:安装主动安全防护插件

WordPress的主动安全防护插件有很多,例如:WordFence,iThemes Security,Sucuri,All in One WP Security,WP Cerber Security,JetPack等。我个人的话是推荐WordFence,因为它不仅能为网站安装 Web 应用防火墙(WAF),过滤并阻断恶意流量,还能有效防御 DoS 和 DDoS 攻击,提升独立站的整体安全等级。在初级阶段用免费版就完全足够了

通过WordFence,可以快速地进行一些安全操作,包括:

  • 禁用 XML-RPC:XML-RPC 功能经常被黑客用于暴力破解和 DDoS 攻击,关闭后可以降低被攻击的风险。
  • 限制登录尝试:通过限制失败的登录尝试次数,可以降低密码攻击的成功率,刚刚上面有提到的。
  • 禁用内置文件编辑器:WordPress 默认允许管理员直接在后台编辑主题和插件的 PHP 文件。如果后台账户被攻破,攻击者可能借此篡改网站核心代码。建议将此功能关闭以减少风险——这个功能 Wordfence 可以实现,部分插件(如 Really Simple SSL)也支持关闭文件编辑器。

第四级:服务器与文件层面硬化

禁用 PHP 执行/uploads下的文件

WordPress 网站的 /wp-content/uploads 目录通常用于存放图片、视频、文档等静态文件,理论上这里不应该有任何 PHP 脚本被执行。如果被黑客上传了恶意 PHP 文件,并能在此目录执行,将极大威胁网站安全。因此,建议通过服务器配置禁止 PHP 在该目录下执行。

那怎么实现呢?我们借助“WordFence”这个安全插件即可实现,在“All Options”里面,搜索“Disable Code Execution for Uploads directory”这个选项,然后勾选、保存即可。

隐藏WordPress版本号

黑客通常会先扫描你网站的 WordPress 版本号,如果发现你用的是某个存在已知漏洞的老版本,就可以专门利用这些漏洞发起“有针对性”的攻击。如果攻击者无法直接获取你的 WordPress 具体版本,只能尝试一些通用的攻击方式,攻击的成功率会明显降低,网站被入侵的风险也随之减少。虽然隐藏版本号不是万能钥匙,不能代替系统和插件的及时升级,但它能作为一道“隐身衣”,让你的网站变得更难被锁定为攻击目标。

这个我们也还是可以通过WordFence来实现,这个功能是包含在免费版中的。在“All Options”里面,搜索“Hide WordPress version”,然后勾选,点击“SAVE CHANGES”。其实这个选项就在“Disable Code Execution for Uploads directory”这个选项上面。

限制文件和文件夹权限(慎重操作

我们在上面第二层级防护的时候有提到,应尽量限制用户权限,避免为普通用户或不常用账号分配管理员权限,降低误操作和安全风险。合理分配权限能有效减少因账号被攻破而导致的重大损失。

除了用户权限管理,合理设置文件和目录权限也是提升WordPress安全性的措施之一。推荐的PHP文件和目录权限设置如下:

  • wp-admin: 755
  • wp-includes: 755
  • wp-content: 755
  • wp-content/themes: 755
  • wp-content/plugins: 755
  • wp-content/uploads: 755
  • .htaccess: 644
  • index.php: 644
  • wp-config.php: 640

这里说明一下这些权限代表什么:

  • 644:所有人可读,只有文件拥有者可写
  • 755:所有人可读/可执行,只有拥有者可写
  • 644:仅拥有者可写,所有人可读
  • 600 或 640:仅拥有者可读写,其他人不可访问

需要注意的是,如果文件或目录权限设置不当,比如将本应允许用户访问的文件(如图片)权限设置得过于严格,可能会导致访客无法正常浏览网站上的图片或下载文件,影响网站的正常功能和用户体验。

更改文件权限一般是通过FTP工具,详细教程可以看WordPress的官方文件权限修改教程

如果你是通过宝塔面板或者SiteGround这类共享主机安装的WordPress网站,那么你可以直接从他们的文件管理器中去修改权限。

第五级:网站备份和应急恢复

即使落实了前面所有安全措施,网站仍有可能遭遇一些无法预料的突发情况,比如数据库崩溃、数据丢失,或遇到其他意想不到的安全风险。这时,定期进行网站备份就很有必要了。

WordPress备份的话建议采用“双重保险”——不仅要在本地保存备份文件,还应设置远程备份,以防单一备份丢失或损坏。

远程备份可以选择如 UpdraftPlus 这类,它支持自动定期备份至云端(如 Google Drive、Dropbox、Amazon S3 等),并能一键还原数据,极大提升应急恢复能力。备份到云端后我们也可以下载到本地进行本地备份。当然,All in One WP Migration也是非常不错的备份插件,支持本地(免费)和远程备份(付费)。

另外,我个人也经常使用ManageWP这个插件,它可以为你的网站实现远程自动备份,并且支持一键恢复。ManageWP 除了备份功能,还能集中管理多个 WordPress 站点、监控安全、自动更新等,非常适合有多个站点或希望云端托管备份的站长使用。

Scroll to Top

Let's have a chat