保护您的 WordPress 网站的 14 种方法 - 一步一步
已发表: 2022-01-05WordPress 安全性应该是网站所有者的首要任务。 为什么? 因为每分钟对 WordPress 网站的攻击多达 90,000 次。
如果这还不够令人担忧,Google 每周会将大约 20,000 个恶意软件网站和 50,000 个网络钓鱼网站列入黑名单。 当一个网站被列入黑名单时——用户被迫同意风险——会导致大约 95% 的流量损失。
虽然 WordPress 的最新版本始终是最安全的版本,但您可以对您的网站做更多的事情来确保它不会被黑客和机器人侵入。
这里有一些最佳实践提示,可帮助您保护您的网站。
- 使用好的网络主机
- 仅使用优质主题和插件
- 使 WordPress 核心、主题和插件保持最新
- 不要使用“管理员”作为用户名
- 使用强密码
- 使用双重身份验证
- 限制登录尝试
- 安装 SSL 证书
- 更改数据库前缀
- 保护 wp-config.php 和 .htaccess 文件
- 添加安全密钥
- 禁用文件编辑
- 防止 PHP 文件被执行
- 有选择地禁用 XML-RPC
1. 使用好的虚拟主机
一个好的网络主机是您抵御网站攻击的第一道防线。 所以不要自动选择便宜的共享主机。 相反,做你的功课。
选择支持最新版本的基本 Web 技术(如 PHP 和 MySQL)的信誉良好的主机。 请务必检查您的主机是否支持 PHP 7——它是官方推荐的 WordPress 的 PHP 版本。
考虑选择托管的 WordPress 主机。 这些服务专为 WordPress 设置,负责托管的所有重要技术方面,包括安全性、备份、正常运行时间和性能。
2. 只使用优质主题和插件
根据 WPScan,52% 的网站漏洞是由插件引起的,而 11% 是由主题引起的。 结合起来,这是 WordPress 安全性的 60% 以上
确保您的插件和主题能够抵御攻击的最简单方法是仅从信誉良好的来源下载它们。 这包括 WordPress.org 和高级提供商。 从在主题和插件中隐藏恶意代码的狡猾开发人员那里下载可能会危及您的网站。
如果您不确定要从中下载的网站是否安全,请查找推荐和评论以确保您想要的产品具有良好的质量。
此外,请确保您使用的任何插件和主题也得到很好的支持并定期更新。 如果一个插件或主题很长时间没有更新,很可能它包含未修补的安全漏洞,甚至是可能使您容易受到黑客攻击的不良代码。
最后,只保留您实际需要和使用的插件和主题。 你拥有的越多,被黑客入侵的风险就越高。 因此,请定期查看您的插件和主题列表,并停用并删除您不需要的任何内容。
3. 使 WordPress 核心、主题和插件保持最新
WordPress 是开源软件,由全球志愿者社区开发和维护。 每个新版本都会修补任何安全漏洞。
默认情况下,WordPress 会自动安装次要更新(即 WordPress 4.9.4)。 但是对于主要版本(即 WordPress 4.9),您有责任手动更新到最新版本。

确保您的网站始终运行最新版本的 WordPress。
这些核心更新对于您网站的安全性和性能至关重要。 因此,请务必备份您的站点并在可用时应用任何核心更新。
同样,定期更新任何插件和主题也很重要,因此您始终使用最新且安全的软件版本。
4. 不要使用“Admin”作为用户名
不要使用“admin”作为您网站的用户名。 早期版本的 WordPress 使用“admin”作为默认用户名,使黑客更容易 - 在蛮力攻击期间猜测的难题更少。
但最近发布的 WordPress 改变了这一点,让用户有机会在安装过程中输入自己的用户名。 但是,有些人仍然选择使用“管理员”而不是提供原始用户名。 只是不要。
您想让恶意攻击者更难渗透您的网站,因此攻击需要更长的时间,您或您的托管服务提供商可以在攻击成功之前识别并阻止它们。
5. 使用强密码
始终为您的 WordPress 管理员帐户、数据库、主机帐户、电子邮件地址和任何 FTP 帐户创建强大且唯一的密码。 与用户名一样,密码是黑客猜测的另一个难题,您的密码越强,黑客就越难成功登录您的网站。
在安装过程中,WordPress 会尝试对您强制使用强密码,如果您输入了弱密码,则会要求您选中一个框。 虽然您可能想要自己的密码,但像安全密码生成器这样的工具可以为您创建一个强密码。

安全密码生成器可让您创建唯一且随机的密码。
6.使用双重身份验证
即使使用强大的用户名和密码,暴力攻击仍然是许多网站的问题。 这是两因素身份验证可以提供帮助的地方。
双因素身份验证在登录过程中增加了另一个步骤,除了输入他们通常的登录凭据外,还强制用户输入发送到手机的代码。 这可以阻止自动攻击并确保您的网站不会成为黑客的受害者。
像 iThemes Security 这样的插件可以实现双因素身份验证。 还有免费的插件,例如两因素身份验证,可以为您的网站添加这一额外的安全层。

免费的双重身份验证插件可让您在登录站点时轻松添加另一层保护。
7.限制登录尝试
默认情况下,您可以尝试多次登录您的 WordPress 帐户。 虽然这对您来说可能很方便,如果您健忘并且并不总是在第一次甚至第三次获得正确的密码,但对于实施暴力攻击的黑客来说也很方便 - 它给了他们无限次数的破解尝试您的用户名和密码组合。
这可以通过限制用户在您的站点上进行的失败登录尝试次数来轻松解决。 WP Limit Login Attempts 等免费插件可让您限制登录尝试并暂时阻止 IP 地址。
8. 安装 SSL 证书
在您的网站上安装 SSL 证书是必须的,特别是如果您有电子商务商店。 不仅因为这将使黑客难以拦截用户浏览器和您的服务器之间的敏感信息,而且因为谷歌现在坚持所有网站都应该有一个。
从 2018 年 7 月 Chrome 68 的发布开始,不使用 HTTPS 加载的网页将被标记为“不安全”。 这意味着尝试访问没有 SSL 证书的站点的用户将收到该站点不可信的警告。
该公告意义重大,因为根据 Cloudflare 的说法,超过一半的网络访问者会看到这些警告。

Let's Encrypt 是一个免费的证书颁发机构,为网站所有者提供 SSL 证书。
获得 SSL 证书变得越来越容易。 Let's Encrypt 提供免费的开源证书,而托管公司通常会免费提供一个(有时甚至是免费的)。
9.更改数据库前缀
默认情况下,WordPress 使用 wp_ 作为站点数据库中所有表的前缀。 这意味着如果您使用默认值(这是 WordPress 的常识),黑客可以很容易地猜出您的表名是什么,从而使其容易受到 SQL 注入的攻击。
解决此问题的一种简单方法是将前缀更改为随机的,例如5jiqtu69dg_
使用随机字符串生成器。 要更新表的前缀,请打开站点文件目录根目录中的 wp-config.php 文件并找到以下行:
$table_prefix = 'wp_';
使用我的示例,您将像这样替换该行:
$table_prefix = '5jiqtu69dg_';
接下来,您需要更新数据库中使用的前缀。 虽然 iThemes Security 等安全插件可以帮助您快速轻松地完成此操作,但您可以在此处通过 phpMyAdmin 了解如何手动完成此操作。
10. 保护 wp-config.php 和 .htaccess 文件
您网站的 wp-config.php 文件通常位于您网站的根文件夹中,其中包含有关 WordPress 安装的关键信息,包括数据库的名称、主机、用户名和密码。 同时,.htaccess 是一个隐藏文件,用于设置目录级服务器配置、启用漂亮的永久链接并允许重定向。
防止访问这些关键文件很容易。 只需将以下内容添加到您的 .htaccess 文件中即可保护 wp-config.php:
<文件 wp-config.php> 命令允许,拒绝 否认一切 </文件>
或者,您可以简单地将 wp-config.php 文件移到更高的目录中,因为 WordPress 会自动在那里查找它。

要阻止对 .htaccess 的不必要访问,您需要做的就是更改代码中的文件名:
<文件 .htaccess> 命令允许,拒绝 否认一切 </文件>
11. 添加安全密钥
WordPress 安全密钥和盐对存储在浏览器 cookie 中的信息进行加密,保护密码和其他敏感信息。 总共有四个安全密钥: AUTH_KEY
、 SECURE_AUTH_KEY
、 LOGGED_IN_KEY
和NONCE_KEY
。
这些身份验证密钥基本上是一组随机变量,使破解密码变得更加困难。 像“wordpress”这样的非加密密码攻击者不需要花费太多精力就可以破解。 但是像“L2(Bpw 6#:S.}tjSKYnrR~.Dys5c>+>2l2YMMSVWno4`!%wz^GOBf};uj*>-tkye”这样的长而随机的密码要破解得多。
添加安全密钥和盐是一个手动过程并且很容易做到。 这是如何做到的:
- 获取一组新的安全密钥和盐。 您可以在此处随机生成它们。
- 接下来,更新您的 wp-config.php 文件。 打开您的文件并向下滚动,直到找到下面的部分并用新的键和盐替换旧值:
/**#@+ * 身份验证唯一密钥和盐。 * * 将这些更改为不同的独特短语! * 您可以使用 {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org 密钥服务} 生成这些 * 您可以随时更改这些以使所有现有 cookie 无效。 这将迫使所有用户必须重新登录。 * * @since 2.6.0 */ define('AUTH_KEY', '在此处添加唯一变量'); define('SECURE_AUTH_KEY', '在此处添加唯一变量'); define('LOGGED_IN_KEY', '在此处添加唯一变量'); define('NONCE_KEY', '在此处添加唯一变量'); define('AUTH_SALT', '在此处添加唯一变量'); define('SECURE_AUTH_SALT', '在此处添加唯一变量'); define('LOGGED_IN_SALT', '在此处添加唯一变量'); define('NONCE_SALT', '在此处添加唯一变量'); /**#@-*/
- 保存您的 wp-config.php 文件。 您将自动退出您的 WordPress 网站并需要重新登录。
12.禁用文件编辑
WordPress 具有用于插件和主题文件的内部代码编辑器。 虽然这对于想要快速更改文件的管理员很有用,但也意味着黑客和高级用户也可以进行文件更改。 您可以通过转到 WordPress 管理员中的外观 > 编辑器来找到此功能。
您可以在 wp-config.php 文件中禁用文件编辑。 只需打开您的文件并添加这行代码:
定义('DISALLOW_FILE_EDIT',真);
您仍然可以通过 FTP 或 cPanel 编辑您的插件和主题,只是不在 WordPress 管理员中。
13.防止PHP文件被执行
黑客在 WordPress 中上传恶意软件的常用文件夹是wp-content/uploads,还有wp-includes/ 。 要防止在这些文件夹中执行文件,请在文本编辑器中创建一个新文本文件并粘贴以下代码:
<文件 *.php> 否认一切 </文件>
接下来,将此文件保存为 .htaccess 并通过 FTP 或 cPanel 将其上传到您的/wp-content/uploads和wp-includes/文件夹。
14. 有选择地禁用 XML-RPC
XML-RPC 或 XML 远程过程调用是一种 API,可帮助将 Web 和移动应用程序与您的 WordPress 站点连接起来。 它在 WordPress 3.5 中默认启用,但后来被发现会显着放大暴力攻击。
例如,如果黑客想在您的站点上尝试 500 个不同的密码,通常他们必须进行 500 次单独的登录尝试。 但是使用 XML-RPC,黑客可以使用system.multicall
函数在单个 HTTP 请求中尝试大量的用户名和密码组合。
虽然为您的站点完全禁用此功能很容易,但这将意味着失去像 Jetpack 这样的插件的功能。 相反,最好选择使用专门设计的插件实现和禁用 XML-RPC 的方式。
奖励:如何检查漏洞
有几种不同的方法可以检查您的站点是否存在漏洞:使用在线站点扫描程序或使用插件。
使用这些免费的在线工具,您只需输入您网站的 URL,它们就会开始扫描您的网站以查找已知漏洞:
WordPress 安全扫描– 此工具被动检查基本安全问题。 您需要升级到高级计划才能进行高级测试。
Sucuri SiteCheck – 检查您的网站是否存在已知恶意软件、黑名单状态、网站错误和过期软件。 通过高级升级,此工具将执行恶意软件清理、DDoS/暴力防护、黑名单删除和安全监控。
WPScan – 托管在 GitHub 上的这款黑盒 WordPress 漏洞扫描程序可让您使用核心、插件和主题扫描您的站点以查找已知漏洞。 您需要使用终端来运行此应用程序。 它免费供个人使用,由 Sucuri 赞助。
奖励:最佳 WordPress 安全插件
在您的 WordPress 网站上安装安全插件会增加另一道防线来抵御可能的攻击。 它们提供了广泛的功能来帮助保护您的站点(包括站点扫描),并且可以在您的站点遭到入侵时通知您。
以下是排名前 3 的插件:
文字围栏

Wordfence 安全插件。
WordFence 是一个非常受欢迎的免费安全插件,拥有超过 2 百万个活动安装和一个高级选项可用。 它具有“威胁防御源”,可引入最新的防火墙规则、恶意软件签名和恶意 IP 地址,从而保留您的网站。
Web 应用程序防火墙可识别并阻止恶意流量,而实时 IP 黑名单可阻止来自恶意 IP 的所有请求,从而在减少负载的同时保护您的站点。
该插件通过限制登录尝试、强制使用强密码和其他登录安全措施来防止暴力攻击。 如果它在您的网站中发现任何类型的感染,它将通过电子邮件通知您。 您还可以实时监控您网站的流量,以检查它是否受到攻击。
苏库里

Sucuri 安全插件。
对于免费的安全插件,Sucuri 的安全插件提供了一套全面的功能,包括安全活动审计,以便您可以密切关注对您的站点所做的任何更改、文件完整性监控、远程恶意软件扫描、黑名单监控和安全强化措施。
该插件的“黑客攻击后安全措施”部分将引导您完成妥协后应该做的三件关键事情。 您还可以启用安全通知,以便在您的网站上发现感染或受到威胁时,您会立即收到警报。
当您升级到高级版本时,您可以访问网站防火墙以增加保护。
iThemes 安全

iThemes 安全插件。
虽然 iThemes Security 的免费版本有助于锁定 WordPress、修复常见漏洞并加强用户凭据,但专业版几乎提供了您可能需要的所有安全措施。
有两因素身份验证、恶意软件扫描计划和用户操作日志记录,因此您可以跟踪用户何时编辑内容、登录或注销。 您可以更新安全密钥和盐、设置密码到期并将 Google reCAPTCHA 添加到您的站点。
其他功能包括在线文件比较、WP-CLI 集成和临时权限提升,因此您可以授予临时管理员或编辑器访问您的站点的权限。
结论
没有正确的方法可以保护您的 WordPress 网站免受安全威胁。 您能做的最好的事情就是让 WordPress 核心、主题和插件保持最新,并实施许多不同的解决方案来修补漏洞、保护关键文件并强制用户加强他们的凭据。
安排定期备份也是必须的。 您永远不知道您的网站何时会遭受攻击,因此您必须做好准备并制定计划以在紧急情况下快速恢复您的网站。
投资一个可靠的安全插件,让您可以扫描您的站点以查找漏洞、监控操作并在出现问题时提醒您,这也将有助于强化您的站点并确保它能够很好地抵御威胁。