WordPress 安全性:保护您的网站的 16 个步骤

已发表: 2021-08-18

在安全性方面,不存在特定于 WordPress 的安全类型。 所有网站或应用程序都存在所有安全问题。

不过,WordPress 安全问题引起了极大的兴趣,因为它为大约 40% 的网络提供支持,并且是开源的。 当一个人在 WordPress 核心或插件中发现漏洞时,其他使用它的网站就会变得容易受到攻击,因为它们都使用相同的代码。

另一方面,您可以使用大量插件来加强网站安全性。

在本专栏中,您将学习如何强化您的 WordPress 站点以抵御不同类型的漏洞,尽管本文的范围更广,适用于所有类型的 Web 应用程序。

防范 WordPress 漏洞

最常见的漏洞类型是:

  1. 后门。
  2. 制药黑客。
  3. 蛮力登录尝试。
  4. 恶意重定向。
  5. 跨站点脚本 (XSS)。
  6. 拒绝服务 (DDoS)。

这些是常见的漏洞类型,但这并不意味着它们仅限于这些。 当您考虑安全性时,一般来说,您应该以 360° 的方式思考。

入侵网站的方法没有限制。 攻击者可以使用多种技术来访问您的站点。

例如,他们可以窃取您的 PC 并物理访问您的计算机。 当从公共网络登录到您的网站时,他们还可以使用监视技术查看您的密码。

让我们深入研究如何加强我们的 WordPress 安装,以使攻击者的生活更加困难。

继续阅读以了解更多关于这 16 种加强 WordPress 网站安全性的方法:

  1. 使用 HTTPS。
  2. 始终使用强密码。
  3. 使用密码管理器来存储您的密码。
  4. 在登录表单上启用验证码。
  5. 防止暴力登录尝试。
  6. 使用双重身份验证。
  7. 保持最新的插件。
  8. 设置安全 HTTP 标头。
  9. 为 WordPress 文件设置正确的文件权限。
  10. 从 WordPress 禁用文件编辑。
  11. 禁用所有不必要的功能。
  12. 隐藏 WordPress 版本。
  13. 安装 WordPress 防火墙。
  14. 保留备份。
  15. 使用 SFTP。
  16. 监控用户的活动。

1. 使用 HTTPS 保护您的网站

我们将从使用 HTTPS 保护网站开始并非偶然。

您所做的一切都流经网络和线缆。 HTTP在浏览器和服务器之间以纯文本形式交换数据。 因此,任何有权访问服务器和浏览器之间网络的人都可以查看您的未加密数据。

如果您不保护您的连接,您就有可能将敏感数据暴露给攻击者。 使用 HTTPS,您的数据将被加密,即使攻击者可以访问您的网络,他们也将无法读取传输的数据。

因此,保护​​您的网站的第一步是启用 HTTPS。 如果您还没有迁移到 HTTPS,您可以使用本指南将您的 WordPress 迁移到 HTTPS。

可用于将 HTTP 迁移到 HTTPS 的工具和 WordPress 插件

  1. 更好的搜索替换。
  2. 数据库搜索和替换脚本。

2. 始终使用强密码

黑客访问网站的最常见方式是通过弱密码或 pwned 密码。 这些使您容易受到暴力攻击。

通过使用强密码而不是下面列出的任何其他方式来增强您的安全性。

始终使用强密码并定期检查它们是否已被盗用。

增强密码安全性的 WordPress 插件:

  1. 禁止 Pwned 密码。
  2. 下载密码策略管理器。
  3. 密码 bcrypt。

3. 使用密码管理器存储您的密码

当您从公共网络登录时,您无法确定谁在观看您在笔记本电脑上输入的内容或记录您的密码。

为了解决此问题,请使用密码管理器轻松访问您的密码并将其存储在安全的地方。

即使您的 PC 被访问,他们也无法获取您的密码。 密码管理器是基于浏览器的,而不是 WordPress 插件。

密码管理器浏览器插件:

  1. 最后通行证。
  2. 1密码。
  3. 北通。

4. 在登录和注册表中添加验证码

当您使用 HTTPS 保护您的网站并使用强密码时,您已经让黑客的生活变得非常艰难。

但是您可以通过将 CAPTCHA 添加到登录表单来使其变得更加困难。

WordPress 安全性:16 个安全步骤 &保护您的网站

验证码是保护您的登录表单免受暴力攻击的好方法。

在 WordPress 登录时添加验证码的插件:

  1. 登录没有验证码 reCAPTCHA。
  2. 登录安全验证码。

5. 防止暴力登录尝试

登录 CAPTCHA 将在一定程度上保护您免受暴力尝试,但并非完全如此。 通常,一旦解决了验证码令牌,它们的有效期为几分钟。

例如,Google reCaptcha 的有效期为 2 分钟。 在此期间,攻击者可以利用这两分钟尝试对您的登录表单进行暴力登录尝试。

为了解决这个问题,您应该通过 IP 地址阻止失败的登录尝试。

防止暴力攻击的 WordPress 插件:

  1. WP 限制登录尝试。
  2. 限制重新加载的登录尝试。

6. 设置两因素 (2FA) 身份验证

使用登录表单上的安全密码和验证码,您会受到更多保护,是的。

但是,如果黑客使用监视方法并记录您在视频中输入的密码以访问您的网站怎么办?

如果他们知道您的密码,则只有双重身份验证可以保护您的网站免受攻击者的侵害。

WordPress 安全性:16 个安全步骤 &保护您的网站

用于设置 2FA 身份验证的 WordPress 插件:

  1. 两个因素。
  2. 谷歌身份验证器。
  3. WordPress 两因素身份验证(2FA,MFA)。

7. 使 WordPress 核心和插件保持最新

WordPress 核心和插件经常出现漏洞,一旦发现并报告。 确保使用最新版本更新您的插件,以防止网站因文件中已知和报告的漏洞而被黑客入侵。

我不建议切换到自动更新,因为它可能会在您不知情的情况下破坏您的网站。

但我强烈建议您通过在 wp-config.php 中添加这行代码来启用 WordPress 核心的次要更新,因为这些更新包括核心的安全补丁。

 定义(“WP_AUTO_UPDATE_CORE”,“次要”);

8. 设置安全 HTTP 标头

安全标头通过限制在浏览网站时可以在浏览器和服务器之间执行的操作,带来了额外的保护层。

安全标头旨在防止点击劫持和跨站点脚本 (XSS) 攻击。

安全标头是:

  • 严格的运输安全 (HSTS)。
  • 内容安全策略。
  • X 框架选项。
  • X 内容类型选项。
  • 获取元数据标头。
  • 推荐人政策。
  • 缓存控制。
  • 清除站点数据。
  • 功能政策。

我们不会深入每个安全标头的解释,但这里有一些插件可以修复它们。

启用安全标头的 WordPress 插件:

  1. 用于提高网站安全性的 HTTP 标头。
  2. GD 安全标头。

9. 为 WordPress 文件设置正确的文件权限

文件权限是托管 WordPress 文件的操作系统上的规则; 这些规则设置了如何读取、编辑和执行文件。 这种安全措施至关重要,尤其是当您在共享主机上托管网站时。

如果设置不正确,当共享主机上的一个网站被黑客入侵时,攻击者可以访问您网站上的文件并读取其中的任何内容 - 特别是 wp-config.php - 并获得对您网站的完全访问权限。

  • 所有文件应为 644。
  • 所有文件夹都应该是 775。
  • wp-config.php 应该是 600。

上述规则意味着您的托管用户帐户可以读取和修改文件,网络服务器 (WordPress) 可以修改、删除和读取文件和文件夹。

其他用户无法读取 wp-config.php 的内容。 如果为 wp-config.php 设置 600 会使您的网站崩溃,请将其更改为 640 或 644。

10.从WordPress禁用文件编辑

这是 WordPress 中的一个已知功能,您可以从管理后端编辑文件。

这真的没有必要,因为开发人员使用 SFTP 并且很少使用它。

WordPress 安全性:16 个安全步骤 &保护您的网站

11.禁用所有不必要的功能

WordPress 带有许多您可能根本不需要的功能。 例如,WordPress 中的 XML-RPC 端点是为与外部应用程序通信而创建的。 攻击者可以使用此端点进行暴力登录。

使用插件禁用 XML-RPC-API 禁用 XML-RPC。

WordPress 内置的另一个问题是提供一个 REST-API 端点来列出网站上的所有用户。

如果您将“/wp-json/wp/v2/users”附加到任何 WordPress 安装,您将看到用户名和用户 ID 列表作为 JSON 数据。

通过将这行代码添加到 functions.php 中禁用用户 REST-API

 功能 disable_users_rest_json( $response, $user, $request ){

 返回 '​​';

}add_filter('rest_prepare_user', 'disable_users_rest_json', 10, 3);

12.隐藏WordPress版本

WordPress 会自动在页面的 HTML 中注入带有 WordPress 版本的评论。 它为攻击者提供了您安装的 WordPress 的版本作为附加信息。

WordPress 安全性:16 个安全步骤 &保护您的网站

例如,如果您使用的 WordPress 版本的核心被报告存在漏洞,则攻击者知道他可以使用报告的技术来入侵您的网站。

使用这些插件隐藏 WordPress 版本元标记:

  1. 元生成器和版本信息删除器。
  2. Dawsun 的 WP Generator Remover。

13.安装WordPress防火墙

防火墙是在网站上运行并分析任何传入 HTTP 请求的 Web 应用程序。 它应用复杂的逻辑来过滤掉可能构成威胁的请求。

可以在防火墙的内置规则之上设置其规则以阻止请求。 一种常见的攻击类型是 SQL 注入。

假设您运行一个易受 SQL 注入攻击的 WordPress 插件,但您对此一无所知。 如果您运行防火墙,即使攻击者知道插件中的安全漏洞,他也无法破解该网站。

这是因为防火墙会阻止那些包含 SQL 注入的请求。

防火墙将阻止来自 IP 的这些请求,并防止连续的危险请求到来。 防火墙还能够通过检测来自单个 IP 的过多请求并阻止它们来防止 DDoS 攻击。

还可以运行在向 Web 服务器发出请求之前运行的 DNS 级防火墙。 一个例子是 Cloudflare DNS 防火墙。

这种方法的优点是它对 DDoS 攻击更加健壮。

在服务器上运行的应用程序级防火墙让 HTTP 请求到达网络服务器,然后阻止它。 这意味着服务器会花费一些 CPU/RAM 资源来阻止它们。

使用 DNS 级别的防火墙,它不会消耗服务器资源,因此对攻击更具可持续性。

您可以使用的 WordPress 防火墙插件:

  1. Wordfence 安全。
  2. 苏库里。
  3. 多合一 WP 安全和防火墙。
  4. 防弹安全。
  5. 盾安全。

注意:如果您决定安装防火墙,它们可能具有登录暴力保护或 2F 身份验证等功能,您可以使用它们的功能而不是安装上述插件。

14. 保留备份

如果您被黑客入侵,最好的恢复方法是从未受感染的最新版本恢复网站。

如果您不存储网站备份,那么清理网站可能是一项耗时的操作。 在某些情况下,可能无法恢复所有信息,因为恶意软件删除了所有数据。

为了避免这种情况,请定期备份您的网站数据库和文件。

检查您的托管支持是否提供每日备份功能并启用它。 如果没有,您可以使用这些插件来运行备份:

  1. 备份。
  2. 上升气流加。
  3. 备份好友。
  4. 博客保险柜。

15. 使用 SFTP

许多开发人员已经使用 SFTP 连接到 Web 服务器,但重要的是要提醒这一点,以防万一你仍然不这样做。

与 HTTPS 一样,SFTP 使用加密在网络上传输文件,即使可以访问网络,也无法以纯文本形式读取文件。

16.监控用户的活动

我们已经讨论了很多方法来保护您的网站免受未知黑客的攻击。 但是,当您的一位有权访问网站管理员的员工做一些阴暗的事情(例如在内容中添加链接)时呢?

上述方法都无法检测到阴暗的员工。

这可以通过查看活动日志来完成。 通过查看每个用户的活动,您可能会发现其中一名员工编辑了他们不应该编辑的文章。

您还可以查看看起来可疑的活动并查看进行了哪些更改。

用于监控用户活动的 WordPress 插件:

  1. 活动日志。
  2. 用户活动日志。
  3. WP 活动日志。

请注意,您可能希望限制这些插件保留的期限(或记录数)。 如果太多,它会使您的数据库过载,并可能影响网站性能和速度。

如果你被黑了怎么办?

即使有安全专家的所有建议并知道如何保护您的网站免受黑客攻击,它们仍然会发生。

如果您的网站被黑客入侵,您需要执行以下步骤来恢复:

  1. 首先更改您的所有电子邮件和其他个人密码,因为黑客可能首先访问了您的电子邮件,从而能够访问您的网站。
  2. 将您的网站恢复到最新的已知非黑客备份。
  3. 重置所有网站用户的密码。
  4. 如果有可用更新,请更新所有插件。

结论

在安全方面考虑 360°。 向所有员工强调安全的重要性,以便他们了解如果他们不遵守安全规则,公司可能遭受的后果。

如果您被黑客入侵,请从备份中恢复您的网站,并尽快更改您网站和电子邮件的所有密码。

WordPress 安全性:16 个安全步骤 &保护您的网站