目录
当谈到 WordPress 安全性时,您可以采取很多措施来加固您的网站,以防止黑客和漏洞破坏。您最不想发生的事情就是一天早上醒来发现您的网站一片混乱。因此,今天我们将分享许多技巧、策略和技术,您可以使用这些技巧、策略和技术来提高 WordPress 安全性并保持受保护。
WordPress 安全吗?
您可能想知道的第一个问题是 WordPress 安全吗?多半是对的。然而,WordPress通常因容易出现安全漏洞以及本质上不是一个适合企业使用的安全平台而受到诟病。这通常是因为用户一直遵循经过行业验证的最差安全实践。
使用过时的 WordPress 主题和插件、糟糕的系统管理、凭据管理以及非技术 WordPress 用户缺乏必要的网络和安全知识,使黑客在网络犯罪游戏中处于领先地位。即使行业领导者也并不总是使用最佳实践。路透社之所以遭到黑客攻击, 是因为他们使用的是过时版本的 WordPress。
从根本上来说,安全性并不是指完全安全的系统。这样的东西很可能不切实际,或者不可能找到和/或维护。安全是减少风险,而不是消除风险。这是关于在合理的范围内采用所有可用的适当控制措施,使您能够改善整体状况,减少自己成为目标并随后被黑客攻击的可能性。– WordPress 安全法典
现在,这并不是说漏洞不存在。根据多平台安全公司 Sucuri 2017 年第三季度的一项研究, WordPress 继续在其所处理的受感染网站中排名第一(占 83%)。 这比 2016 年的 74% 有所上升。

WordPress为互联网上超过 43.3% 的网站提供支持,并且有数十万个主题和插件组合,因此存在漏洞并不断被发现也就不足为奇了。然而,WordPress 平台周围还有一个很棒的社区,以确保尽快修复这些问题。WordPress安全团队由大约 50 名专家(2017 年为 25 名)组成,其中包括首席开发人员和安全研究人员 – 大约一半是 Automattic 的员工,还有一些在网络安全领域工作。
WordPress 漏洞
查看下面一些不同类型的 WordPress 安全漏洞。
- 后门
- 黑客
- 暴力登录
- 恶意重定向
- 跨站脚本 (XSS)
- 拒绝服务
后门
该后门漏洞为黑客提供了绕过安全加密的隐藏通道,通过wp-Admin、SFTP 、FTP 等异常方式访问 WordPress 网站。一旦被利用,后门可让黑客对托管服务器造成跨站污染的严重破坏攻击 – 危害同一服务器上托管的多个站点。2017 年第三季度,Sucuri 报告称,后门仍然是攻击者采取的众多黑客行为之一,71% 的受感染网站都存在某种形式的后门注入。

后门通常经过加密,看起来像合法的 WordPress 系统文件,并通过利用过时平台版本中的弱点和错误进入WordPress 数据库。TimThumb惨败 是后门漏洞利用可疑脚本和过时软件危害数百万网站的一个典型例子。
幸运的是,该漏洞的预防和修复相当简单。您可以使用SiteCheck等工具扫描您的 WordPress 网站 ,它可以轻松检测常见的后门。双因素身份验证、阻止 IP、限制管理员访问和防止未经授权执行 PHP 文件可以轻松应对常见的后门威胁,我们将在下面详细介绍。这是一篇关于如何查找清理 WordPress 中的后门的简单介绍。
黑客
有些漏洞用于在过时版本的 WordPress 网站和插件中插入恶意代码,导致搜索引擎在搜索受感染的网站时返回广告。与传统恶意软件相比,该漏洞更像是垃圾邮件威胁,但搜索引擎有足够的理由以传播垃圾邮件的指控为由阻止该网站。
这些漏洞通常是隐藏在数据库中的加密恶意注入的恶意变体,需要彻底的清理过程来修复漏洞。尽管如此,您可以通过使用推荐的WordPress 托管提供商和最新的服务器并定期更新您的 WordPress 安装、主题和插件来恢复到正常状态。
暴力登录尝试
暴力登录尝试使用自动脚本来利用弱密码并获取对您网站的访问权限。两步身份验证、限制登录尝试、监控未经授权的登录、阻止 IP 和使用强密码是防止暴力攻击的一些最简单且高效的方法。但不幸的是,许多 WordPress 网站所有者未能执行这些安全措施,而黑客利用暴力攻击可以轻松地在一天内入侵数量巨大的网站。
恶意重定向
恶意重定向使用 FTP、SFTP、wp-admin 和其他协议在 WordPress 安装中创建后门,并将重定向代码注入网站。重定向通常以编码形式放置在 .htaccess 文件和其他 WordPress 核心文件中,将 Web 流量引导至恶意网站。我们将在下面的 WordPress 安全步骤中介绍一些可以防止这些问题的方法。
跨站脚本 (XSS)
跨站脚本攻击 (XSS) 是指恶意脚本被注入受信任的网站或应用程序。攻击者利用此漏洞在最终用户不知情的情况下向最终用户发送恶意代码(通常是浏览器端脚本)。目的通常是获取 cookie 或会话数据,甚至可能重写页面上的 HTML。
跨站脚本漏洞是 WordPress 插件中最常见的漏洞,而且数量显着增加。
拒绝服务
也许其中最危险的是,拒绝服务 (DoS)漏洞利用代码中的错误和错误来压垮网站操作系统的内存。黑客通过 DoS 攻击利用过时且有缺陷的 WordPress 软件版本,破坏了数百万个网站,并赚取了数百万美元。尽管出于经济动机的网络犯罪分子不太可能以小公司为目标,但他们往往会破坏过时的易受攻击的网站,创建僵尸网络链来攻击大型企业。
即使是最新版本的 WordPress软件也无法全面防御备受瞩目的 DoS 攻击,但至少可以帮助您避免陷入金融机构和老练的网络犯罪分子之间的交火中。不要忘记 2016 年 10 月 21 日。这一天互联网因 DNS DDoS 攻击而瘫痪。详细了解为什么使用优质 DNS 提供商来提高 WordPress 安全性很重要。
WordPress 安全指南
根据互联网实时统计,每天有超过 100,000 个网站遭到黑客攻击。这就是为什么花一些时间并仔细阅读以下关于如何更好地加强 WordPress 安全性的建议是如此重要。

随着 WordPress 平台的变化和新漏洞的出现,我们将确保使这篇文章保持最新的相关信息。
- 安全的 WordPress 托管
- 使用最新的 PHP 版本
- 可靠的用户名和密码
- 始终使用最新版本的 WordPress、插件和主题
- 锁定 WordPress 管理员
- 双因素身份验证
- HTTPS – SSL 证书
- 强化 wp-config.php
- 禁用 XML-RPC
- 隐藏 WordPress 版本
- HTTP 安全标头
- WordPress 安全插件
- 强化数据库安全
- 始终使用安全连接
- 检查文件和服务器权限
- 在 WordPress 仪表板中禁用文件编辑
- 防止盗链
- 始终进行 WordPress 备份
- DDoS 防护
1. 使用安全的 WordPress 托管
当谈到 WordPress 安全性时,不仅仅是加固您的网站,尽管我们将在下面为您提供有关如何执行此操作的最佳建议。您的 WordPress 主机还负责 Web 服务器级别的安全性。
选择一个值得您信赖的企业托管主机非常重要。或者,如果您在自己的 VPS 上托管 WordPress,那么您需要具备自己完成这些事情的技术知识。老实说,自己努力成为一名专家来每月节省 20 美元并不是一个好主意。
服务器强化是维护彻底安全的 WordPress 环境的关键。它需要多层硬件和软件级别的安全措施来确保托管 WordPress 网站的 IT 基础设施能够防御复杂的物理和虚拟威胁。
因此,托管 WordPress 的服务器应使用最新的操作系统和(安全)软件进行更新,并彻底测试和扫描漏洞和恶意软件。
在服务器上安装 WordPress 之前,应安装服务器级防火墙和入侵检测系统,以便在 WordPress 安装和网站建设阶段也能保持良好的保护。但是,服务器上安装的用于保护 WordPress 内容的每个软件都应与最新的数据库管理系统兼容,以保持最佳性能。服务器还应配置为使用安全网络和文件传输加密协议(例如SFTP 而不是 FTP),以隐藏敏感内容,防止恶意入侵者发现。
2. 使用最新的PHP版本
PHP 是 WordPress 网站的支柱,因此在服务器上使用最新版本非常重要。PHP 的每个主要版本通常在发布后两年内得到完全支持。在此期间,错误和安全问题将得到定期修复和修补。截至目前,任何运行 PHP 7.1 或更低版本的人都不再获得安全支持,并且会面临未修补的安全漏洞。

根据 WordPress 官方统计 页面,截至撰写本文时,超过 57% 的 WordPress 用户仍在 使用 PHP 5.6 或更低版本。如果将此与 PHP 7.0 结合起来,目前有高达 77.5% 的用户正在使用不再受支持的 PHP 版本。
有时,企业和开发人员确实需要时间来测试并确保与其代码的兼容性,但他们没有理由在没有安全支持的情况下运行。更不用说在旧版本上运行对性能的巨大影响。

不知道您当前使用的是哪个版本的 PHP?大多数主机通常会将其包含在您站点上的标头请求中。一种快速检查方法是通过Pingdom运行您的网站。单击进入第一个请求并查找X-Powered-By参数。通常,这将显示您的 Web 服务器当前使用的 PHP 版本。但是,出于安全原因,某些主机会删除此标头。

3. 使用可靠的用户名和密码
令人惊讶的是,加强 WordPress 安全性的最佳方法之一就是简单地使用可靠的用户名和密码。听起来很简单吧?那么,请查看SplashData 的 2019年度最流行密码被盗列表(按流行程度排序)
- 123456
- password
- 123456789
- 12345678
- 12345
- 111111
- 1234567
- sunshine
- qwerty
- iloveyou
最流行的密码居然是“123456”,其次是“password”。
一些最好的安全性是从基础开始的。Google 对于如何选择强密码有一些很好的建议。或者您可以使用强密码生成器等在线工具。您可以在此处详细了解如何更改 WordPress 密码。
对每个网站使用不同的密码也很重要。存储它们的最佳方法是本地计算机上的加密数据库中。KeePass是一个很好的免费工具。如果您不想走这条路,还有在线密码管理器,例如1Password或 LastPass。尽管您的数据安全地托管在云中,但它们通常更安全,因为您不会在多个站点上使用相同的密码。
就您的 WordPress 安装而言,您永远不应该使用默认的“admin”用户名。为管理员帐户创建唯一的 WordPress 用户名,并删除“admin”用户(如果存在)。您可以通过在仪表板的“用户”下添加新用户并为其分配“管理员”配置文件(如下图所示)来完成此操作。

为新帐户分配管理员角色后,您可以返回并删除原始的“管理员”用户。确保在单击删除时选择“将所有内容归因于”选项并选择新的管理员配置文件。这将指定该人作为这些帖子的作者。

您还可以使用以下命令在phpMyAdmin中手动重命名当前的管理员用户名。确保在编辑表之前备份数据库。
UPDATE wp_users SET user_login = 'newcomplexadminuser' WHERE user_login = 'admin';
4. 始终使用最新版本的 WordPress、插件和主题
强化 WordPress 安全性的另一个非常重要的方法是始终保持最新状态。这包括 WordPress 核心、插件和主题(均来自 WordPress 存储库和高级版)。这些更新是有原因的,很多时候这些更新包括安全增强和错误修复。

不幸的是,数以百万计的企业正在运行过时版本的 WordPress 软件和插件,但仍然相信自己走在商业成功的正确道路上。他们列举了不更新的原因,例如“他们的网站将崩溃”或“核心修改将消失”或“插件 X 将无法工作”或“他们只是不需要新功能”。
事实上,网站崩溃的主要原因是旧版 WordPress 中的错误。WordPress 团队和了解所涉及风险的专家开发人员从不建议进行核心修改。WordPress 更新主要包括必备的安全补丁以及运行最新插件所需的附加功能。
您是否知道据报道, 插件漏洞占已知黑客入口点的 55.9%?WordFence 在一项研究中发现了这一点,他们采访了 1,000 多名曾是攻击受害者的 WordPress 网站所有者。通过更新您的插件,您可以更好地确保您不是这些受害者之一。

还建议您仅安装受信任的插件。WordPress 存储库中的“特色”和“流行”类别可能是一个不错的来源
您可以使用VirusTotal等在线工具 扫描插件或主题的文件,以查看是否检测到任何类型的恶意软件。

如何更新 WordPress 核心
有几种简单的方法可以更新您的 WordPress 安装。
a. 要更新 WordPress 核心,您可以单击 WordPress 仪表板中的“更新”,然后单击“立即更新”按钮。
b. 您还可以通过下载最新版本 并通过 SFTP 上传来手动更新 WordPress。
请注意!如果操作不当,覆盖错误的文件夹可能会破坏您的网站。如果您不愿意这样做,请先咨询专业人员。
请按照以下步骤 更新您现有的安装:
- 删除旧的
wp-includes和wp-admin目录。 - 上传新的
wp-includes和wp-admin目录。 - 将新
wp-content文件夹中的各个文件上传到现有wp-content文件夹,覆盖现有文件。不要删除现有wp-content文件夹。不要删除现有wp-content目录中的任何文件或文件夹(被新文件覆盖的除外)。 - 将所有新文件从新版本的根目录上传到现有的 WordPress 根目录。
如何更新 WordPress 插件
更新 WordPress 插件的过程与更新 WordPress 核心的过程非常相似。单击 WordPress 仪表板中的“更新”,选择要更新的插件,然后单击“更新插件”。
同样,您也可以手动更新插件。只需将新版本通过 FTP 上传,覆盖目录中的现有插件 /wp-content/plugins。
同样重要的是要注意,开发人员并不总是使他们的插件保持最新。WP Loop 的团队对存储库中有多少 WordPress 插件未与当前 WordPress 核心保持同步进行了深入分析。 根据他们的研究, 存储库中近 50% 的插件已有 2 年多没有更新。
这并不意味着该插件无法与当前版本的 WordPress 配合使用,但建议您选择主动更新的插件。过时的插件更有可能包含安全漏洞。
当涉及到插件时,请稍微做一些判断。查看“最后更新”日期以及插件的评分。如下例所示,这个已经过时并且有不好的评论,所以我们很可能建议远离它。WordPress 在大多数已经有一段时间没有更新的插件的顶部也会有一个警告。

有第三方渠道可以帮助您掌握最新的 WordPress 安全更新和漏洞。
- WP Security Bloggers:包含 20 多个安全源的出色聚合资源。
- WPScan:目录超过 10,000 个 WordPress 核心、插件和主题漏洞。
- 官方 WordPress 安全档案
5. 锁定你的 WordPress 管理员
有时,流行的WordPress 安全策略对于普通在线企业和 WordPress 网站来说是相当有效的。如果你让黑客更难找到某些后门,那么你就不太可能受到攻击。锁定您的 WordPress 管理区域和登录是增强安全性的好方法。有两个很好的方法可以做到这一点,首先是更改默认的 wp-admin 登录 URL 并限制登录尝试。
如何更改您的 WordPress 登录 URL
默认情况下,您的 WordPress 站点的登录 URL 是 domain.com /wp-admin。问题之一是所有的机器人、黑客和脚本都知道这一点。通过更改 URL,您可以减少自己成为目标的可能性,并更好地保护自己免受暴力攻击。这不是万能的解决方案,这只是一个绝对可以帮助保护您的小技巧。
要更改您的 WordPress 登录 URL,我们建议使用免费的WPS Hide Login 插件或高级Perfmatters插件。这两个插件都有一个简单的输入字段。只需记住选择一些独特的内容,这些内容不会出现在机器人或脚本可能尝试扫描的列表中。
如何限制登录尝试
虽然上述更改管理员登录 URL 的解决方案可以帮助减少大多数不良登录尝试,但设置限制也非常有效。免费的Limit Login Attempts Reloaded插件是轻松设置锁定持续时间、登录尝试以及 IP 白名单和黑名单的好方法。

如果您需要更简单的 WordPress 安全解决方案,另一个不错的选择是免费的Login Lockdown插件。Login LockDown 记录每次失败登录尝试的 IP 地址和时间戳。如果在短时间内检测到来自同一 IP 范围的尝试次数超过一定次数,则对该范围内的所有请求禁用登录功能。并且它与我们上面提到的WPS隐藏登录插件完全兼容。

如何添加基本 HTTP 身份验证(htpasswd 保护)
锁定管理员的另一种方法是添加 HTTP 身份验证。这需要用户名和密码才能访问 WordPress 登录页面。注意:这通常不应该在电子商务网站或会员网站上使用。但这可能是防止机器人攻击您网站的非常有效的方法。

Apache
如果您使用的是 cPanel 主机,则可以从其控制面板启用受密码保护的目录。要手动设置,您首先需要创建一个 .htpasswd文件。您可以使用这个方便的生成器工具。然后将文件上传到您的 wp-admin 文件夹下的目录,例如:
home/user/.htpasswds/public_html/wp-admin/htpasswd/.htaccess
然后使用以下代码创建一个文件并将其上传到您的/wp-admin/目录。确保更新目录路径和用户名。
AuthName "Admins Only"
AuthUserFile /home/yourdirectory/.htpasswds/public_html/wp-admin/htpasswd
AuthType basic
require user yourusername
这样做的一个缺陷是,它会破坏站点前端的 AJAX (admin-ajax)。这是一些第三方插件所需要的。因此,您还需要将以下代码添加到上述 .htaccess 文件中。
<Files admin-ajax.php>
Order allow,deny
Allow from all
Satisfy any
</Files>
nginx
如果您正在运行Nginx,您还可以使用 HTTP 基本身份验证来限制访问。看看这个教程。
启用后,您的 WordPress 网站将需要身份验证才能访问它。您可以随时更改凭据或在不再需要时将其禁用
锁定 URL 路径
如果您使用的是 Cloudflare 或 Sucuri 等 Web 应用程序防火墙 (WAF),它们也有方法锁定 URL 路径。本质上,您可以设置一条规则,以便只有您的 IP 地址才能访问您的 WordPress 管理员登录 URL。同样,这通常不应该在电子商务网站或会员网站上使用,因为它们也依赖于访问您网站的后端。
- Cloudflare 在其专业版和更高版本帐户中具有锁定 URL 功能。您可以为任何 URL 或路径设置规则。
- Sucuri 具有黑名单 URL 路径功能。然后您可以将自己的 IP 列入白名单。
6. 利用双重身份验证
当然,我们不能忘记双重身份验证!无论您的密码多么安全,总会存在被他人发现的风险。双重身份验证涉及一个两步过程,您不仅需要密码才能登录,还需要第二种验证方法。它通常是短信 (SMS)、电话或基于时间的一次性密码 (TOTP)。在大多数情况下,这对于防止对 WordPress 网站的暴力攻击是 100% 有效的。为什么?因为攻击者几乎不可能同时拥有您的密码和手机。
双重身份验证实际上分为两个部分。第一个是您在网络托管提供商处拥有的帐户和/或仪表板。如果有人获得此权限,他们就可以更改您的密码、删除您的网站、更改 DNS 记录以及进行各种可怕的事情。
双重身份验证的第二部分涉及您的实际 WordPress 安装。为此,我们推荐几个插件:
其中许多都有自己的身份验证器应用程序,您可以在手机上安装:
安装并配置上述插件之一后,您的 WordPress 登录页面上通常会出现一个附加字段,用于输入您的安全代码。或者,使用 Duo 插件,您首先使用凭据登录,然后需要选择身份验证方法,例如 Duo Push、呼叫或密码。
此方法可以轻松地与前面提到的更改默认登录 URL 结合起来。因此,您的WordPress 登录 URL 不仅只有您知道,而且现在还需要额外的身份验证才能进入。

因此,最好用上双重认证,这是增强 WordPress 安全性的简单方法。
7. 使用 HTTPS 进行加密连接 – SSL 证书
强化 WordPress 安全性最容易被忽视的方法之一是安装 SSL 证书并通过 HTTPS 运行您的网站。HTTPS(安全超文本传输协议)是一种允许您的浏览器或 Web 应用程序安全地连接网站的机制。一个很大的误解是,如果您不接受信用卡,就不需要 SSL。
好吧,让我们解释一下为什么 HTTPS 比电子商务更重要的几个原因。许多主机都通过Let’s Encrypt提供免费的 SSL 证书。
a. 安全
当然,使用 HTTPS 的最大原因是增加了安全性,这确实与电子商务网站密切相关。但是,您的登录信息有多重要?对于那些运行多作者 WordPress 网站的人来说,如果您通过 HTTP 运行,则每次有人登录时,该信息都会以纯文本形式传递到服务器。HTTPS 对于维护网站和浏览器之间的安全连接至关重要。这样您可以更好地防止黑客和/或中间人访问您的网站。
因此,无论您有博客、新闻网站、代理机构等,它们都可以从 HTTPS 中受益,因为这可以确保任何内容都不会以纯文本形式传递。
b. 搜索引擎优化
Google已正式表示HTTPS是一个排名因素。虽然这只是一个很小的排名因素,但大多数人可能会利用在 SERP 中获得的任何优势来击败竞争对手。
C. 信任和信誉
GlobalSign的一项调查显示,28.9% 的访问者会在浏览器中寻找绿色地址栏。其中 77% 的人担心自己的数据在网上被拦截或滥用。通过看到绿色的挂锁,客户会立即更加安心,因为他们知道自己的数据更加安全。
D. 引用数据
很多人没有意识到 HTTPS 到 HTTP 的引用数据在 Google Analytics 中被阻止。那么数据会发生什么情况呢?嗯,其中大部分只是与“直接流量”部分混为一谈。如果有人从 HTTP 转到 HTTPS,则仍会传递引用来源网址。
e. Chrome 警告
自 2018 年 7 月 24 日起,Chrome 68 及更高版本开始将所有非 HTTPS 网站标记为“不安全”。不管他们是否收集数据。这就是为什么 HTTPS 比以往任何时候都更加重要!
如果您的网站大部分流量来自 Chrome,这一点尤其重要。您可以在“浏览器和操作系统”的“受众”部分下查看 Google Analytics,以便了解您的 WordPress 网站从 Google Chrome 获得的流量百分比。Google 正在向访问者明确表示您的 WordPress 网站可能未在安全连接上运行。
f. 性能
由于有一种名为HTTP/2 的协议,很多时候,那些通过 HTTPS 运行经过适当优化的网站的人甚至可以看到速度的提高。由于浏览器支持,HTTP/2 需要 HTTPS。性能的提高归因于多种原因,例如 HTTP/2 能够支持更好的多路复用、并行性、使用 Huffman 编码的 HPACK 压缩、ALPN 扩展和服务器推送。
借助 TLS 1.3,HTTPS 连接速度甚至更快。
要在登录和管理站点时在您和服务器之间强制建立安全、加密的连接,请将以下行添加到您的wp-config.php文件中:
define('FORCE_SSL_ADMIN', true);
如果您使用旧版 TLS,您可能需要修复Chrome 中的ERR_SSL_OBSOLETE_VERSION通知。
8. 强化 wp-config.php 文件
wp-config.php文件就像 WordPress 安装的核心和灵魂。就 WordPress 安全而言,它是您网站上迄今为止最重要的文件。它包含您的数据库登录信息和处理 cookie 中信息加密的安全密钥。您可以采取以下几项措施来更好地保护这个重要文件。
a. 移动wp-config.php
默认情况下,您的 wp-config.php 文件位于 WordPress 安装的根目录(您的 /public HTML 文件夹)中。但您可以将其移至非 www 可访问的目录。亚伦·亚当斯(Aaron Adams)写了一篇很好的文章来解释为什么 这是有益的。
要移动文件,只需将所有内容复制到其他文件中即可。然后在您的文件中放置以下代码片段以包含您的其他文件。
注意:目录路径可能会因您的网站托管服务和设置而异。通常,尽管它只是上面的一个目录。
<?php
include('/home/yourname/wp-config.php');
b. 更新 WordPress 安全密钥
WordPress 安全密钥是一组随机变量,可提高用户 cookie 中存储信息的加密程度。自 WordPress 2.7 以来,出现了 4 个不同的键:AUTH_KEY、SECURE_AUTH_KEY、 LOGGED_IN_KEY和 NONCE_KEY。
当安装 WordPress 时,这些是随机生成的。但是,如果经历过多次迁移(查看我们精选的最佳WordPress 迁移插件列表)或从其他人那里购买了网站,那么创建新的 WordPress 密钥可能会很好。
WordPress 实际上有一个免费工具,您可以使用它来生成随机密钥。您可以更新存储在wp-config.php 文件中的当前密钥。

C. 更改权限
通常,WordPress 站点根目录中的文件将设置为 644,这意味着文件所有者可以读取和写入文件,该文件的组所有者中的用户可以读取文件,其他人也可以读取文件。根据WordPress 文档,该wp-config.php文件的权限应设置为 440 或 400,以防止服务器上的其他用户读取该文件。您可以使用FTP 客户端轻松更改此设置。

在某些托管平台上,权限可能不同,用户可能不能改变文件的权限。具体请咨询您的托管提供商。
9.禁用XML-RPC
在过去的几年里,XML-RPC 已经成为 暴力攻击的一个越来越大的目标。正如 Sucuri 提到的,XML-RPC 的隐藏功能之一是您可以使用 system.multicall 方法在单个请求中执行多个命令。这非常有用,因为它允许应用程序在一个 HTTP 请求中传递多个命令。这可以被用于恶意目的。
有一些 WordPress 插件(例如Jetpack)依赖于 XML-RPC,但大多数人不需要它,并且简单地禁用对其的访问可能会有所帮助。不确定您的网站当前是否正在运行 XML-RPC?Automattic 团队的 Danilo Ercoli 编写了一个名为 XML-RPC Validator 的小工具。您可以通过它运行您的 WordPress 网站,看看它是否启用了 XML-RPC。如果不是,您将在 Kinsta 博客上看到一条失败消息,如下图所示。

要完全禁用此功能,您可以安装免费的禁用 XML-RPC-API 插件。或者您可以使用高级perfmatters插件禁用它,该插件还包含 Web 性能改进。
10. 隐藏你的WordPress版本
隐藏您的 WordPress 版本再次涉及WordPress 安全的主题。其他人对您的 WordPress 网站配置的了解越少越好。如果他们发现您正在运行过时的 WordPress 安装,这对入侵者来说可能是一个欢迎信号。默认情况下,WordPress 版本显示在站点源代码的标题中。再次强调,我们建议您确保您的 WordPress 安装始终是最新的,这样您就不必担心这一点。

您可以使用以下代码来删除它。只需将其添加到您的 WordPress 主题functions.php文件中即可。
| 注意! 如果操作不当,编辑 WordPress 主题的源代码可能会破坏您的网站。 如果您动手能力一般,请先咨询技术人员。 |
function wp_version_remove_version() {
return '';
}
add_filter('the_generator', 'wp_version_remove_version');
您还可以使用 perfmatters 等插件 ,它允许您一键隐藏 WordPress 版本,以及针对您的 WordPress 网站的其他优化。
WordPress 版本显示的另一个地方是readme.html每个 WordPress 版本中包含的默认文件(如下所示)。它位于您的安装的根目录中domain.com/readme.html。您可以通过 FTP 安全地删除该文件。
如果您运行的是 WordPress 5.0 或更高版本,则这条不再适用,因为版本号不再包含在文件中。
11. 添加最新的 HTTP 安全标头
强化 WordPress 安全性的另一个步骤是利用 HTTP 安全标头。这些通常在 Web 服务器级别进行配置,并告诉浏览器在处理站点内容时如何表现。有许多不同的 HTTP 安全标头,但以下通常是最重要的。
- Content-Security Policy
- X-XSS-Protection
- Strict-Transport-Security
- X-Frame-Options
- Public-Key-Pins
- X-Content-Type
如果想了解有关HTTP 安全标头的更多信息,KeyCDN 有一篇非常深入的文章。
您可以通过启动 Chrome 开发工具并查看网站初始响应上的标头来检查 WordPress 网站上当前正在运行哪些标头。

您还可以使用 Scott Helme 提供的免费securityheaders.io工具扫描您的 WordPress 网站。这将显示您的站点上当前有哪些 HTTP 安全标头。如果不确定如何实施它们,可以询问您的主机服务商是否可以提供帮助。

12.使用WordPress安全插件
当然,我们必须提到一些 WordPress 安全插件。有很多优秀的开发人员和公司提供出色的解决方案来帮助更好地保护您的 WordPress 网站。这是其中的几个。
以下是上述插件的一些典型功能和用途:
- 创建用户配置文件时生成并强制使用强密码
- 强制密码过期并定期重置
- 用户操作记录
- 轻松更新 WordPress 安全密钥
- 恶意软件扫描
- 双因素身份验证
- 验证码
- WordPress 安全防火墙
- IP白名单
- IP黑名单
- 文件变更日志
- 监控 DNS 变化
- 阻止恶意网络
- 查看访客的 WHOIS 信息
许多安全插件包含的一个非常重要的功能是校验和实用程序。这意味着他们会检查您的 WordPress 安装并查找 WordPress.org 提供的核心文件的修改(通过 API)。对这些文件的任何更改或修改都可能表明遭到黑客攻击。您还可以使用 WP-CLI运行您自己的校验。请看有关文件完整性监控的详尽指南。
另一个值得一提的优秀插件是WP Activity Log。对于那些在WordPress 多站点或简单的多作者站点 上工作的人来说,这非常棒。它有助于确保用户工作效率并让管理员查看正在更改的所有内容;例如登录、密码更改、主题更改、小部件更改、新帖子创建、WordPress 更新等,还具有其他高级附加组件,例如电子邮件通知、用户会话管理、搜索和报告。。这是一个完整的WordPress 活动日志解决方案。如果您正在寻找WordPress 多站点兼容的安全解决方案,那么它是一个绝佳的选择。
13. 强化数据库安全
有几种方法可以提高 WordPress 数据库的安全性。首先是使用巧妙的数据库名称。如果您的网站名为 volleyballricks,则默认情况下您的 WordPress 数据库很可能名为wp_volleyballtricks. 通过将数据库名称更改为更晦涩的名称,可以使黑客更难以识别和访问您的数据库详细信息,从而帮助保护您的网站。
第二个建议是使用不同的数据库表前缀。默认情况下 WordPress 使用wp_. 将其更改为类似的内容39xw_可以更安全。
14. 始终使用安全连接
我们怎么强调使用安全连接的重要性都不为过!确保您的 WordPress 托管采取预防措施,例如提供 SFTP 或 SSH。SFTP或安全文件传输协议(也称为SSH文件传输协议)是一种用于文件传输的网络协议。与标准 FTP 相比,这是一种更安全的方法。
确保您的家庭路由器设置正确也很重要。如果有人入侵您的家庭网络,他们就可以访问各种信息,包括可能存储有关 WordPress 网站的重要信息的位置。以下是一些简单的提示:
- 不要启用远程管理。专业用户从不使用此功能,通过关闭它,您可以防止将您的网络暴露给外界。
- 默认情况下,路由器使用 192.168.1.1 等范围内的 IP。使用不同的范围,例如 10.9.8.7。
- 在您的 Wifi 上启用最高级别的加密。
- IP 白名单您的 Wifi,以便只有知道密码和特定 IP 的人才能访问它。
- 使路由器上的固件保持最新。
在公共场所登录 WordPress 网站时请务必小心。请记住,星巴克不是一个安全的网络!采取预防措施,例如在单击“连接”之前验证网络 SSID。可以使用第三方 VPN 服务来加密您的互联网流量,并向黑客隐藏您的 IP 地址。
15.检查文件和服务器权限
Web 服务器上的文件权限对于增强 WordPress 安全性至关重要。如果权限太宽松,其他人就可以轻松访问您的网站并造成严重破坏。另一方面,如果您的权限过于严格,这可能会破坏您网站上的功能。因此,全面设置正确的权限非常重要。
文件权限
- 如果用户有权读取该文件,则会分配读取 权限。
- 如果用户有权写入或修改文件,则会分配写入权限。
- 如果用户有权运行文件和/或将其作为脚本执行,则会分配执行权限。
目录权限
- 如果用户有权访问所识别的文件夹/目录的内容,则分配读取权限。
- 如果用户有权添加或删除文件夹/目录中包含的文件,则会分配写入权限。
- 如果用户有权访问实际目录并执行功能和命令,包括删除文件夹/目录中的数据的能力,则分配执行权限。
您可以使用iThemes Security等免费插件来扫描 WordPress 网站上的权限。

以下是有关 WordPress 中文件和文件夹权限的一些典型权限建议。请参阅有关更改文件权限的WordPress Codex 文章以获取更深入的说明。
- 所有文件都应为 644 或 640。例外:wp-config.php 应为 440 或 400,以防止服务器上的其他用户读取它。
- 所有目录都应为 755 或 750。
- 任何目录都不应该被赋予 777,甚至是上传目录。
16. 在 WordPress 仪表板中禁用文件编辑
许多 WordPress 网站都有多个用户和管理员,这可能会使 WordPress 安全性变得更加复杂。一个非常糟糕的做法是给予作者或贡献者管理员访问权限,但不幸的是,这种情况经常发生。为用户提供正确的角色和权限非常重要,这样他们就不会破坏任何东西。因此,简单地禁用 WordPress 中的“外观编辑器”可能会很有帮助。
你们中的大多数人可能都曾经历过这样或那样的情况。您在外观编辑器中快速编辑某些内容,然后突然出现死机白屏。最好在本地编辑文件并通过 FTP 上传。当然,在最佳实践中,您应该首先在开发站点上测试此类内容。
此外,如果您的 WordPress 网站遭到黑客攻击,他们可能做的第一件事就是尝试通过外观编辑器编辑 PHP 文件或主题。这是他们在您的网站上执行恶意代码的快捷方式。如果他们无法从仪表板访问此信息,那么首先它可以帮助防止攻击。将以下代码放入您的wp-config.php文件中以删除所有用户的“edit_themes”、“edit_plugins”和“edit_files”功能。
define('DISALLOW_FILE_EDIT', true);
17. 防止盗链
盗链的概念非常简单。您在 Internet 上的某处找到图像,然后直接在您的网站上使用该图像的 URL。该图像将显示在您的网站上,但将从原始位置提供。这实际上是盗窃,因为它使用了链接网站的带宽。这可能看起来没什么大不了的,但它可能会产生很多额外成本。
防止 Apache 中的热链接
要防止Apache中的热链接,只需将以下代码添加到您的.htaccess文件中即可。
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ http://dropbox.com/hotlink-placeholder.jpg [NC,R,L]
第二行定义允许的引荐来源网址 – 允许直接链接到图像的网站,这应该是您的实际网站。如果您想允许多个站点,您可以复制此行并替换引荐来源网址。如果您想生成一些更复杂的规则,请查看此htaccess 热链接保护生成器。
有些主机提供了简单的按钮,只需简单的点击开启,并输入自己的域名即可。详细请咨询您的主机服务商。
防止 NGINX 中的热链接
要防止 NGINX 中的热链接,只需将以下代码添加到您的配置文件中。
location ~ .(gif|png|jpe?g)$ {
valid_referers none blocked ~.google. ~.bing. ~.yahoo yourdomain.com *.yourdomain.com;
if ($invalid_referer) {
return 403;
}
}
防止 CDN 上的盗链
如果您从 CDN 提供图像,则设置可能会略有不同。以下是流行 CDN 提供商的一些资源。
18. 始终进行备份
备份是每个人都知道自己需要但并不总是行动的一件事。上述大多数建议都是您可以采取的安全措施,以更好地保护自己。但无论您的网站多么安全,它永远不会 100% 安全。所以你需要备份,以防最坏的情况发生。
大多数托管 WordPress 托管提供商现在都提供备份,可以一键恢复网站。
如果您的主机没有备份,您可以使用一些流行的 WordPress 服务和插件来自动化该过程。
WordPress 备份服务
WordPress 站点备份服务通常每月费用较低,并将您的备份存储在云中。
- VaultPress (来自 Automattic 团队,现属于 Jetpack)
- CodeGuard
- BlogVault
WordPress 备份插件
WordPress 备份插件允许您通过 FTP 获取备份或与外部存储源(例如 Amazon S3、Google Cloud Storage、Google Drive 或 Dropbox)集成。我们强烈建议使用增量解决方案,以便使用更少的资源。
19.DDoS防护
DDoS是 DOS 攻击的一种,其中多个系统用于针对单个系统,从而导致拒绝服务 (DoS) 攻击。DDoS 攻击并不是什么新鲜事 – 据《大英百科全书》报道,第一个记录在案的案例可以追溯到 2000 年初。与黑客攻击您的网站不同,这些类型的攻击通常不会损害您的网站,而只会让您的网站瘫痪几个小时或几天。
你可以做什么来保护自己?最好的建议之一是使用信誉良好的第三方安全服务,例如Cloudflare 或Sucuri。如果您经营一家企业,投资他们的高级计划可能是有意义的。
总结
如您所见,有多种方法可以增强 WordPress 的安全性。使用巧妙的密码、保持核心和插件最新以及选择安全托管的 WordPress 主机只是保持 WordPress 网站安全运行的几个方法。对于你们中的许多人来说,您的 WordPress 网站既是您的业务也是您的收入,因此花一些时间并尽早实施上述一些安全最佳实践非常重要。
水平有限,如果遗漏了任何重要的 WordPress 安全提示,请随时在下面的评论中告诉我们。

发表回复