WordPress安全防护终极指南

对于任何WordPress网站所有者来说,安全都是一个极为重要的主题。谷歌搜索每天将大约10000个网站列入恶意软件黑名单,每周将大约50000个网站列入网络钓鱼黑名单。

尽管WordPress内核非常安全,并且经过数百名开发人员的定期审查,但你仍然还有很多事情可以做。安全不仅仅是消除风险,也与降低风险有关。作为网站所有者,你可以采取各种措施,来确保网站免受安全漏洞的侵害。

网站遭到入侵可能会严重损害你的业务收入和品牌声誉,黑客可以窃取用户信息、盗用金融数据、植入后台代码,甚至将恶意软件分发给你的用户。更糟糕的是,你可能不得不向黑客支付勒索费用,只是为了重新获得网站的访问权限。

保持WordPress更新

WordPress是一个定期维护和更新的开源软件,默认情况下会自动安装次要更新,对于主要版本,你需要手动操作。除此之外,你还可以获得成千上万的主题和插件,大部分都由第三方开发人员维护,也定期发布更新。

WP Admin Update Core

对于WordPress网站的安全性和稳定性来说,数量如此庞大的更新至关重要,你必须确保所有核心、插件和主题都是最新的。

强密码和用户权限

盗取密码是黑客最喜欢使用的攻击手段之一,你可以使用网站独有的强密码来解决这个难题,不仅适用于WordPress仪表板,还可用于FTP账户、数据库、虚拟主机,以及自有域名的电子邮件地址。然而,强密码很难被记住,导致很多初学者不喜欢使用。好消息是,你根本不必亲自记住这些繁杂的密码,密码管理器可以解决这个问题。

降低风险的另一种方法,除非绝对必要,否则不要授予任何人访问WordPress管理员账户的权限。如果你拥有庞大的团队或来宾作者,在为他们添加账户之前,请确保自己了解WordPress中所有的角色功能。

虚拟主机的作用

你的虚拟主机在WordPress网站安全中起着重要作用,像BlueHostSiteGroundKinsta之类的优质托管服务商会采取额外措施来保护其服务器免受常见威胁,他们通常采取以下措施来保护网站和数据:

  • 不断监视网络中的可疑活动
  • 提供适当工具来防止大规模分布式拒绝服务攻击(DDOS)
  • 使服务器软件和硬件保持最新状态,以防止黑客利用旧版本中的已知漏洞
  • 部署灾难恢复和事故计划,从而在发生重大故障时保护你的数据

在共享托管计划中,你与许多其他客户共享服务器资源,这会带来跨站点污染的风险,黑客可以使用邻近站点来攻击你的网站。WordPress专用托管服务可以为你提供更安全的平台,托管商负责自动更新、自动备份、安全配置等任务,以全方位保护你的站点,我们建议使用KinstaWP Engine作为首选。

轻松实现WordPress安全

对于初学者而言,提高WordPress安全性可能是一个令人生畏的想法 —— 你并不孤单,我们已经帮助成千上万的新手强化了他们的网站安全性。接下来,我们将展示如何通过点击按钮来实现这个目标,无需任何编码经验。

1. 安装备份解决方案

备份是抵御任何网络攻击的第一道防线,请记住,没有任何事物能够保证100%安全。如果政府、银行的网站可以被黑客入侵,你的网站也可以。备份可以让你快速恢复WordPress网站,以防万一。

你可以使用很多WordPress备份插件来确保数据安全,关于备份需要注意的是:定期将全站数据保存到远程位置(而不是主机托管账户),Amazon S3、One Drive、Dropbox等云服务都是不错的选择。

根据网站的更新频率,理想的设置是每天一次或实时备份,你可以使用UpdraftPlusVaultPress等插件轻松完成这个操作,它们安全可靠且简洁易用。

2. 最好的安全插件

备份之后,接下来要做的是设置审查和监控系统,以便让你跟踪网站上发生的一切。这包括文件完整性监控、失败的登录尝试、恶意软件扫描等等,幸运的是,免费安全插件Sucuri Security可以解决所有这些问题。

安装并激活插件后,你需要转到WordPress仪表板中的Sucuri菜单,首先生成一个免费的API密钥,以便启用日志记录审查、完整性检查、电子邮件警报和其他重要功能。

WP Admin Sucuri Security

接下来,从设置菜单中点击Hardening(强化)标签,遍历所有选项,然后点击右侧的所有Apply Hardening按钮。

WP Admin Sucuri Security Hardening

这些选项可以锁定黑客在攻击中使用的关键区域,付费升级的唯一加固功能是应用程序防火墙。强化部分设置完后,基本上可以满足大多数网站的需求,不需要做其他的更改。

3. 启用网络应用防火墙

保护网站并对WordPress安全充满信心的最简单方法是使用应用程序防火墙(WAF),它会在所有恶意流量到达站点之前将其阻止。

  • DNS级网站防火墙:通过云服务器路由你的网站流量,只将真正的有效流量发送到你的网站托管服务器
  • 应用程序级防火墙:在流量到达服务器后、加载大多数WordPress脚本之前检查流量。与DNS防火墙相比,应用程序防火墙在减少服务器负载方面不够有效

我们使用Sucuri并将其评选为最好的WordPress应用程序防火墙,带有恶意软件清除和黑名单清除保证。基本上,如果你在其监控下被入侵,开发团队保证(无论你有多少页面)会修复你的网站。这是一个强大的承诺,因为修复被黑网站非常昂贵,安全专家通常每小时收取$250,而你能够以每年$199的价格获得整个Sucuri安全堆栈。

4. 将网站迁移至SSL/HTTPS

安全套接层(SSL)是对网站和用户浏览器之间的数据传输进行加密的协议,这种加密使第三方很难嗅探和窃取信息。启用SSL之后,你的网站将使用HTTPS而不是HTTP,并且在浏览器的地址栏旁边还会显示一个挂锁标志。

SSL证书通常由专业的数字证书认证机构颁发,价格为$80~$10000/年不等,由于成本增加,很多网站所有者选择继续使用不安全的HTTP协议。为了解决这个问题,一个名为Let's Encrypt的非营利组织决定提供免费的SSL证书,他们的项目很快得到Google、Facebook、Mozilla等公司的支持。

如今,在WordPress网站上使用SSL非常容易,很多网络托管公司都提供免费的SSL证书。

进一步提升WordPress安全性

到目前为止,如果已经做完上述所有事情,你的网站状态就会很好。但是,与往常一样,你可以采取更多措施以进一步加强WordPress安全性,其中有些步骤可能需要编码知识。

1. 更改默认的admin用户名

默认的WordPress后台管理员用户名是admin,由于用户名占到登录凭据的一半,因此黑客更对你的网站容易进行暴力破解。幸运的是,很多虚拟主机托管商改变了这一点,允许你在安装WordPress时自定义用户名。

然而,某些一键安装程序仍然将默认的管理员用户名设置为admin,你可以使用三种方法来进行曲线调整:

2. 禁用文件编辑

WordPress带有内置的代码编辑器,可以让你直接在仪表板中编辑主题和插件文件,但如果使用不当,这个功能可能会带来安全隐患,我们建议你将其关闭。

WP Admin Theme Editor

你可以在wp-config.php文件中添加以下代码来实现这个目的:

// 禁用文件编辑
define( 'DISALLOW_FILE_EDIT', true );

另外,你也可以使用上面提到的Sucuri插件中的Hardening功能,只需点击一下就能完成这个操作。

3. 在某些WordPress目录禁用PHP文件执行

加强WordPress安全性的另一种方法是在不需要的目录(例如/wp-content/uploads/)中禁用PHP文件执行。你可以打开文本编辑器(例如记事本)并粘贴以下代码:

<Files *.php>
 deny from all
</Files>

接下来,将文件另存为.htaccess,然后使用FTP客户端上传到网站的/wp-content/uploads/目录。另外,Sucuri同样可以让你一键完成这项操作。

4. 限制登录尝试

默认情况下,WordPress允许用户进行多次登录尝试,这使你的站点很容易遭到暴力破解攻击。为了避免这个问题,你需要限制用户的尝试次数,如果使用Sucuri内置的应用程序防火墙,你将不需做任何操作,插件会自动进行处理。

但是,如果你没有防火墙,请安装并激活Login LockDown插件,然后访问设置Login LockDown菜单以进行设置:

WP Admin Options General Login LockDown

5. 添加双重身份验证

双重身份验证技术要求用户使用两步验证方法进行登录,第一步是用户名和密码,第二步要求你使用单独的设备或应用进行验证。大多数顶级在线网站,例如Google、Facebook、Twitter都可以为你的账户启用这项功能,你的WordPress网站也能够实现这一点。

首先,安装并激活Two Factor Authentication插件,然后点击WordPress仪表板中的Two Factor Auth菜单:

WP Admin Two Factor Auth User

接下来,在智能手机上安装并打开身份验证应用程序,其中有几种可用的选项,例如:

  • 谷歌身份验证器
  • Authy
  • LastPass身份验证器

在这篇文章中,我们使用谷歌身份验证器作为示例,打开手机上的应用程序,然后点击右下角的 按钮:

Google Authenticator

应用程序将会询问你是否要扫描条形码或输入秘钥,选择扫描条形码选项,然后将手机的相机对准插件设置页面上显示的二维码。扫描成功后,你的身份验证应用程序就会添加一项。下次登录网站时,你需要首先输入密码,然后输入身份验证器上的验证码:

WP Login Two Factor Auth

6. 更改WordPress数据库前缀

默认情况下,WordPress使用wp_作为数据库中的表格前缀,如果你的WordPress站点使用默认的表前缀,黑客将很容易猜测出所有表名。为了提高安全性,你可以使用MySQL客户端来更改数据库的表前缀。

请注意:如果操作失误,你的网站很可能无法打开。只有在对自己的编码技能感到自信的情况下,你才可以进行这项操作。

7. 禁用目录索引和浏览

黑客可以使用目录浏览来发现你是否存在已知漏洞的文件,然后利用这些文件获得访问权限。其他人还可以使用目录浏览来查看静态文件、图像副本、目录结构等信息。因此,我们强烈建议你关闭目录索引和浏览的功能。

Directory Browsing

使用FTPcPanel的文件管理器连接到自己的网站,在根目录找到.htaccess文件,然后在文件末尾添加以下行:

Options -Indexes

8. 禁用XML-RPC

自从WordPress 3.5版本开始,默认会启用XML-RPC,以便将WordPress网站与网页和移动应用程序连接起来,但由于其功能强大,很容易成为暴力破解的目标。例如,传统上,如果黑客想要在你的网站上尝试500个不同的密码,他们将不得不进行500次单独的登录尝试,但使用XML-RPC,黑客只需发送一次请求,就可以把所有密码组合试一遍。

3种禁用XML-RPC的方法:

1. 将以下代码粘贴到.htaccess文件中:

<Files xmlrpc.php>
 order deny,allow
 deny from all
</Files>

2. 将以下php代码粘贴到全局设置:

add_filter('xmlrpc_enabled', '__return_false');

3. 安装ClearfyDisable XML-RPC插件。

9. 自动注销已登录的空闲用户

有时候,已登录用户可能从屏幕前离开,这会带来安全风险,其他人可以劫持他们的会话、更改密码或重设账户。很多银行和金融站点都会自动注销没有活动的用户,你也可以在WordPress网站上实现类似功能。

只需安装并激活Inactive Logout插件,然后访问设置Inactive Logout菜单以配置插件:

WP Admin Options General Inactive Logout

10. 在登录页面添加安全问题

在登录页面添加安全问题,使得其他人更难获得未经授权的访问。上述身份验证插件Two Factor Authentication带有类似功能,可以帮助你实现这一点。

WP Login With Security Question

我想要...


程序员怎样成为一名自由职业者

成为一名自由程序员是一个相当有利可图的前景,尤其是对于渴望自由和主宰自己 ...

Make Money With Photography

怎样通过摄影赚钱

如果你正在寻找赚钱的方法,首先应该考虑自己的特长、爱好,以及喜欢做的事情 ...

怎样在TikTok上赚钱

自从成立以来,TikTok一直是广受欢迎的社交媒体平台,人们被轻松、简短 ...

Make Money Online As A Computer Programmer

程序员怎样在网上赚钱

让我们面对现实,软件工程师的工资相当高,与大多数其他职业相比,更容易过上 ...

Make Money Blogging

怎样通过个人博客网站赚钱

几年前,我们意识到很多开设网站的博主们正在赚钱,有些甚至赚到了巨额数字。 ...

Start A Successful Blog

怎样搭建个人博客网站

博客是一个可以定期发布和分享内容的在线平台,就像一本数字日记或在线日记, ...