防范xmlrpc.php攻击

发布于 2022-01-29  200 次阅读


近段时间后台收到许多访问xmlrpc.php的post请求。内容无外乎是登录用户。估计是估计利用xmlrpc.php文件来绕过wordpress后台的登录错误限制进行爆破。

WordPress漏洞修复

杂谈

有一段时间没上后台,

我后台装了一个安全防控插件,然后我刚结束csgo的坐牢,邮箱就收到一个邮件,提示我某个新加坡IP,失败登录超过我设置的次数,已被禁止访问

我就登后台看了下情况

发现近段时间,许多国内外IP向网站的xmlrpc.php发送post请求,估计利用xmlrpc.php文件来绕过wordpress后台的登录错误限制进行爆破。
不过我装了相关的防控插件,所以并没能攻击成功。赶紧删除了根目录的xmlrpc.php,顺便整理一下相关方法,给同样使用wordpress的朋友参考

删除xmlrpc.php文件

最简单,一劳永逸的方法。(我就是这样),缺点是删除后可能会导致wordpress一些功能不能使用

打开网站wordpress根目录,输入指令删除即可

rm -rf xmlrpc.php

屏蔽 XML-RPC (pingback) 的功能

functions.php中添加

​add_filter('xmlrpc_enabled', '__return_false');  ​

通过.htaccess屏蔽xmlrpc.php文件的访问

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

修改.htaccess文件加跳转

如果有用户访问xmlrpc.php文件,然后让其跳转到其他不存在或者存在的其他页面,降低自身网站的负担。

# protect xmlrpc<IfModule mod_alias.c>Redirect 301 /xmlrpc.php http://example.com/custom-page.php</IfModule>

阻止pingback端口

functions.php中添加

add_filter( 'xmlrpc_methods', 'remove_xmlrpc_pingback_ping' );function remove_xmlrpc_pingback_ping( $methods ) {unset( $methods['pingback.ping'] );return $methods;}

nginx服务器配置

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

安装插件

安装一下相关防控插件即可,不过保险起见还是处理一下这个文件

插件参考:

Wordfence插件
Login Security Solution插件


摸鱼ing