如何在 WordPress 中禁用 xmlrpc.php 以提高安全性

前言

最近没怎么看WAF信息,昨天登陆上去一看好家伙全是告警,给我吓得一机灵。赶紧点开详情康康,结果发现全是下面这玩意儿

该说不说,这哥们自动化扫我这么多天也是真nb。但是,WAF全都防出去了(笑)。为了避免看到这些抽象东西,我随后禁用了这个文件。那么这个文件究竟是干什么的,禁用他是否会导致其他问题呢?

什么是 xmlrpc.php ?

互联网上面给出了一些定义:

XML-RPC是支持WordPress与其他系统之间通信的规范。它通过使用HTTP作为传输机制和XML作为编码机制来标准化这些通信来实现此目的。

而 XML-RPC 是一项强大的功能,使开发人员能够构建与 WordPress 交互的外部应用程序。例如,移动应用程序可以使用 XML-RPC 与 WordPress 网站进行通信,从而允许用户通过手机管理其内容。

为什么要禁用 xmlrpc.php ?

由于 XML-RPC 是一种远程访问协议,因此它也可能存在安全风险。恶意用户可以使用它来执行暴力攻击、利用漏洞以及未经授权访问 WordPress 网站。这就是为什么一些 WordPress 用户更喜欢禁用 XML-RPC 或限制对特定 IP 地址的访问。

在 WordPress 网站上禁用 XML-RPC 文件的主要原因是该文件引入了不同的漏洞攻击。现在,您可以使用强密码和不同的安全插件来保护您的 WordPress 网站。但最好的网站保护模式就是在您的 WordPress 网站上禁用此功能。

您应该在 WordPress 网站上禁用 xmlrpc.php,原因有多种,包括:

1.暴力破解攻击

每次,xmlrpc.php 文件都会创建一个请求来验证用户名和密码,但其他 API 不会。其他 API 发送用于身份验证的令牌,而不是用户名和密码。

由于xmlrpc.php每次都会发送信息验证请求,黑客可以利用这些信息访问你的网站。因为暴力攻击有助于插入、删除和修改网站代码或损坏您的网站数据库。

如果黑客发送足够多的请求来获取不同的用户名和密码对,他们就可以轻松找到正确的用户名和密码对并访问你的 WordPress 网站。

这就是为什么如果你在网站上使用最新或最新版本的 WordPress 并使用不同的身份验证 API 与外部系统通信,则必须在网站上禁用此选项。

2.DDoS 攻击(使用Pinbacks)

如果你的网站启用了 xmlrpc.php,则 DDoS(分布式拒绝服务)是第二次攻击,您的网站将被关闭/离线。因为 Pingback 和 trackback 是 xmlrpc.php 的功能。

如果您的网站启用了 xmlrpc.php,黑客可以快速向您的 WordPress 网站发送许多 pingback。这种攻击可能会使你的服务器宕机,并使您的网站无法运行或关闭。

攻击者首先识别出启用了 pingback 功能的易受攻击的 WordPress 站点。然后,他们开始使用僵尸网络或其他方式向目标网站发送许多 pingback 请求(通常使用大量代理池伪装IP)。这使得阻止恶意请求变得及其困难,从而导致大量的流量泛滥。它会压垮网站的服务器,最终可能导致服务器崩溃。

这时候,一定有人会问

如果xmlrpc.php是有安全问题的,并且已经被弃用了,那么为什么 WordPress官方 不将其从 WordPress 中完全删除呢?

这是因为WordPress的主要功能之一始终是向后兼容。如果你对网站进行了良好的管理,您将知道保持WordPress最新以及任何插件或主题是必不可少的。

但是总会有一些站长不愿意或无法更新其WordPress版本。如果他们运行的版本早于REST API,则他们仍然需要访问xmlrpc.php。

如何在 WordPress 中禁用 xmlrpc.php ?

如果你的网站出现了“存在服务端请求伪造(SSRF)漏洞”问题,或者其他类似的网站安全问题,那您可能需要禁用你网站上的xmlrpc.php。禁用xmlrpc.php的方法有几种,可以通过安装插件来实现,也可以通过调整服务器配置来实现。下面就进行详细的介绍。

使用插件禁用xmlrpc.php

安装插件以禁用xmlrpc.php是最简单的方法

Disable XML-RPC:此插件可在运行3.5或更高版本的WordPress网站上运行。 在版本3.5或更高版本上运行的WordPress网站,默认情况下启用xmlrpc。 此外,删除了启用和禁用xmlrpc的选项。 所有者可能有许多原因要禁用该功能。 使用此插件,可以轻松完成。

Remove & Disable XML-RPC Pingback 禁用带有插件的XML-RPC Pingbacks;您不必成为pingback拒绝服务攻击的受害者。 激活插件后,将自动禁用xml-rpc。 这个插件最好的地方是,您无需进行任何配置。 禁用xmlrpc pingback时,将可以减少服务器CPU使用率。

REST XML-RPC Data Checker使用该插件配置XML-RPC和REST API激活

如果要对站点上的xmlrpc.php和REST API的配置方式进行更细粒度的控制,可以安装REST XML-RPC Data Checker插件

安装并激活此插件后,转到“设置”>“ REST XML-RPC数据检查器”,然后单击“ XML-RPC”选项卡。

这使您可以准确配置xmlrpc.php的哪些方面在您的站点上处于活动状态。另外,您也可以将其完全关闭。并且,如果您还想控制REST API,则该插件会为您提供另一个选项卡。

无插件禁用xmlrpc.php

如果您不想在自己的网站上安装其他插件,则可以通过在过滤器中或 .htaccess 文件中添加一些代码来禁用xmlrpc.php 。让我们看看这两种方法。

方法1:通过过滤器禁用xmlrpc.php

这里的一个选项是使用xmlrpc_enabled过滤器禁用xmlrpc.php。将此功能添加到插件并在您的站点上激活它:

add_filter( 'xmlrpc_enabled', '__return_false' );

您可以将其添加到主题的 functions.php 文件中。

方法2:通过服务器配置来实现禁用xmlrpc.php

Apache 服务器 可以通过 .htacess 文件禁用xmlrpc.php

在您的.htaccess文件中,添加以下代码:

<Files xmlrpc.php>
Order Allow,Deny
Deny from all
</Files>

这样做之前,请确保对旧文件进行备份,以防万一遇到任何问题。

Nginx 服务器 通过将下面的代码段添加到 Nginx.config 文件中实现

location ~* ^/xmlrpc.php$ {
return 403;
}

或者

location = /xmlrpc.php {
          deny all;
          access_log off;
          log_not_found off;
}

最后

XML-RPC 是为了 WordPress 网站与外部系统和应用程序的通信而创建的。但由于其功能意味着身份验证过程,出现了不同的安全问题,这意味着黑客可以轻松攻击您的 WordPress 网站。

但现在,当前的 API 可帮助您与外部系统和应用程序进行通信,这些系统和应用程序使用令牌而不是用户名和密码进行身份验证。现在您可以禁用 WordPress 文件中的 xmlrcp.php 以进行安全通信;您只需按照上述方法禁用 XML-RCP 即可。通过禁用它,您将提高网站的安全级别。

声明

部分文章转载自互联网,如有侵权请联系站长删除。

参考文章链接:

  1. https://blog.csdn.net/qmzma/article/details/137244109
  2. https://www.wpyou.com/wordpress-xmlrpc-php.html
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇