使用网站防火墙保护您的 WordPress 网站
已发表: 2020-08-25
WordPress 的巨大普及使其成为试图利用您的 WordPress 网站快速赚钱的犯罪分子和黑客的巨大目标。 它甚至可能只是脚本小子,他们希望通过破坏您的网站来获得一些互联网信誉。 不管它是如何发生的,任何形式的网站妥协都会导致您对客户的信任严重丧失,并且很容易导致您的品牌终结。
因此,无论何时部署 WordPress 实例,保护您的网站、客户和品牌都是首要任务。 不幸的是,黑客已经开发出复杂的工具和技术来利用 WordPress 并破坏您创建的内容。 保持领先的唯一方法是了解您的 WordPress 网站如何成为目标以及如何防范这些威胁。
在本文中,我们将研究黑客可以利用您的 WordPress 网站与 Internet 通信的方式的所有方式,以及您可以建立的防御措施以在它们造成任何损害之前阻止它们。
过滤比特和字节——网络防火墙
通过互联网发送数据是一个非常复杂的过程。 从定义物理基础设施的底层硬件层到上面的几个软件层,有许多“层”,每个层都依赖于下面的层。 本节中我们感兴趣的层是主机到主机层。 在这些层中,数据(例如您发送给朋友的图像)被分成称为数据包的小块。 这些通过互联网从您(源)路由到您的朋友(目的地),在那里它们被重新组合成您发送的原始图像。
这些数据包都具有几个特征,其中包括:
- 协议——例如,TCP、UDP、ICMP 等
- 端口 – 例如,Web 80/443、电子邮件 110/25
- IP 地址 – 发送和接收数据包的计算机的源 IP 和目标 IP
网络防火墙位于网络接口和操作系统之间,并在每个数据包到达服务器时对其进行检查。 它将根据一组允许和阻止规则允许或拒绝数据包继续进入操作系统。 如果数据包违反任何防火墙规则,则数据包将被丢弃。
网络防火墙是服务器和 WordPress 安装中不可或缺的一部分,因为它会阻止与意外或故意侦听恶意流量的进程进行任何未经授权的通信。 唯一允许通过操作系统和超过 WordPress 的流量必须符合防火墙强加的严格规则。
正确配置的网络防火墙是每台联网服务器的标准部分。 不幸的是,这并不意味着它们易于安装和管理。 事实上,如果您只能访问您的 WordPress 实例,那么管理防火墙是不可能正确的,因为无法从 WordPress 内部访问有效的防火墙。
过滤 Web 请求 - Web 应用程序防火墙
黑客通过一种复杂的网络攻击方法扩展了他们的武器库,他们发出恶意网络请求来攻击您的 WordPress 网站。 这些 Web 请求不会违反任何网络防火墙的规则,因此它们将被允许与您的 WordPress 站点进行交互,从而可能造成严重伤害。
要了解恶意 Web 请求的工作原理,首先要考虑 Web 请求多年来的复杂性如何增长。 在 PHP 等活跃的 Web 技术之前,Web 请求非常简单,如下所示:
http://www.example.com/index.php
此请求分为以下几部分:
-
http://
– 请求使用 HTTP 协议。 -
www.example.com
– 解析为网络服务器 IP 地址的主机名。 -
index.php
– 被请求的文件。
如您所见,此请求非常简单。 当你想保护一个网站时,你只需创建一个私有文件的阻止列表,这样网络服务器就会拒绝为它们提供服务。 没有什么其他的了。
随着网站技术变得越来越复杂,利用这些复杂性的机会也越来越多。
这种恶意请求的一个示例称为 SQL 注入攻击。 这种类型的攻击试图从 WordPress 数据库中读取敏感信息或修改其数据库。 它通过制作一个 PHP 脚本将运行的 Web 请求来做到这一点,如果没有编写脚本来检查其输入,它将允许攻击者读取或写入 WordPress 数据库。

我们来看一个简单的 SQL 注入攻击 web 请求。 例如,假设您有一个登录表单被发送到客户端浏览器。 当他们填写表格时,它会向服务器发送一个 Web 请求,其中包含他们输入的帐户用户名。 在这个示例请求中,用户名 ID 是JohnSmith ,它为我们提供了一个如下所示的 Web 请求:
http://www.example.com/accountView?id=JohnSmith
如果服务器上的 PHP 脚本接受此输入并且不检查其有效性,则可能会导致问题严重。 例如,黑客可能会尝试发送以下完全没有 ID 的畸形 URL,例如:
http://www.example.com/app/accountView?
在数据库语言 SQL 中具有特殊的意义。 它可能会导致编写错误的脚本发回客户数据库的完整列表,可能包括密码和其他敏感信息。 这显然是一场灾难。那么,您如何保护自己免受这些形式的攻击呢?
这就是 Web 应用程序防火墙 (WAF) 的用武之地。WAF 放置在 Internet 和 WordPress 之间,并在每个 Web 请求到达服务器时对其进行检查。 如果它发现任何格式错误的请求(如上述请求)或违反其规则列表,它将阻止该请求发送到您的 WordPress。 WAF 有效地解决了所有常见的编程错误,这些错误很容易危及 WordPress 网站,否则需要检查网站上的每个 PHP 文件。
显然,这只是来自大量且快速发展的可能性范围的恶意请求的一个示例。 这使得真正有效的 WAF 成为添加规则以跟上黑客步伐的持续挑战。 就像网络防火墙一样,WAF 是一个技术上具有挑战性的提议,要设置和更重要的是维护。
阻止机器人——蛮力保护和 reCAPTCHA
有效网络防御的最后一层是阻止针对您的 WordPress 管理面板登录页面的自动攻击。 这些攻击是由通常称为“机器人”的程序发起的,这些程序取自机器人一词。 僵尸程序被黑客使用,因为它们不知疲倦地大量工作以发起协同攻击。
最常见的攻击方法是针对登录页面进行暴力攻击。 这会尝试猜测用户名和密码,以便他们可以登录您的 WordPress 网站。
蛮力攻击通过尝试许多不同的用户名和密码组合来进行。 通常,这些将是最流行的用户名(如
admin
或root
)与最常见的密码(如“123456”)的组合。 暴力攻击将从提交以下用户名和密码组合开始:
- 管理员:123456
- 管理员:密码
- 管理员:让我
- 管理员:qwerty
- 根:123456
- 根:passw0rd
- 根:让我
- 根:qwerty
并从那里继续尝试越来越少的常见组合。
该机器人将尝试数百到数千次,具体取决于它的配置方式。 蛮力保护将注意到所有失败的登录,然后阻止来自提交虚假登录请求的 IP 地址的任何进一步请求。 这是 WordPress 用户在被允许选择自己的密码时通常会选择较弱的密码的基本保障措施。
蛮力攻击并不是机器人的唯一用途。 它们还用于探测您的网站是否存在弱点、暴露的敏感文件或可能受到破坏的插件和主题。
谷歌行业标准的反欺诈广告滥用工具 reCAPTCHA 可以阻止这些机器人的踪迹。 reCAPTCHA 自动将人类与恶意机器人分类,允许人类通过访问您的网站并将机器人拒之门外。 这通常对人类用户无形且无缝地发生,而机器人不可能进入您的网站,并会尽力闯入。
但是我该怎么做呢?
如果你没有时间、专业的技术知识或预算来配置和维护网络防火墙、WAF、暴力检测器和reCAPTCHA,那么你应该把它留给像 Rocket 这样的专家。 Rocket 是获得 WordPress 安全性的托管托管服务提供商。 包括所有这些基本安全工具作为每个 WordPress 安装的标准。
您需要做的就是注册,启动一个 WordPress 网站,几秒钟后开始创建。
或查看如何在 WordPress 中设置无密码身份验证