WordPress安全:解决因xmlrpc.php网站被攻击问题

使用Wordpress的朋友都知道,一些不法分子会利用xmlrpc.php文件来进行攻击,绕过WP后台错误登录次数限制进行爆破。虽然密码复杂的极难爆破,但及其占用服务器资源。

xmlrpc.php文件是什么?

它是我们客户端远程管理编辑网站、小程序等需使用的接口文件。

方法一、利用宝塔防火墙

一般可以直接使用宝塔的防火墙来防护此类攻击,但宝塔防火墙在官方是收费的。

首先,将/xmlrpc.php加入URL黑名单拒绝访问,还有/wp-json也可以加进去。

WordPress安全:解决因xmlrpc.php网站被攻击问题

利用宝塔规则优先级:

UA白名单> UA黑名单> URL关键词拦截> IP白名单 > IP黑名单 > URL白名单 > URL黑名单 > CC防御 > 禁止境外IP访问 >User-Agent > URI过滤 > URL参数 > Cookie > POST

然后将自己设备UA加入白名单即可,自己设备具体UA可以在网站访问日志里查看。

WordPress安全:解决因xmlrpc.php网站被攻击问题

设置好后,除了特定的UA访问,其他访问该文件都是403。

方法二、屏蔽 XML-RPC (pingback)的功能

直接屏蔽XML-RPC (pingback)功能也有效的防护攻击。

在你所使用主题的functions.php文件中添加以下代码。

add_filter('xmlrpc_enabled', '__return_false');

方法三、删除或清空xmlrpc.php文件内容

我们可以直接删除xmlrpc.php文件中的代码。

注意:这里推荐是删除文件中的代码。不要删除整个文件。不然会造成莫名其妙的保存。

方法四、利用配置文件直接拒绝访问或跳转

1. Nginx

location ~* /xmlrpc.php {
  deny all;
} 

或者跳转

location ~* /xmlrpc.php {
  proxy_pass https://www.digseo.com;
}

2. apache

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

或者跳转

# protect xmlrpc
< IfModule mod_alias.c>
Redirect 301 /xmlrpc.php https://www.digseo.com
< /IfModule>

推荐方法:

  1. 推荐使用屏蔽 XML-RPC (pingback)的功能
  2. 宝塔配置添加黑名单的方法

 

给TA打赏
共{{data.count}}人
人已打赏
前端优化

async属性的作用及其性能优化效果是什么?

2023-7-16 23:59:12

安全维护

如何在 WordPress 中禁用 XMLRPC.PHP

2023-9-13 23:55:44

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
有新私信 私信列表
搜索