查看站点【访问日志】的时候,发现有大量的 POST 请求到 /xmlrpc.php页面。导致服务器内存,CPU飙升
从请求的IP :34.138.225.159
IP地址: 34.138.225.159美国南卡罗来纳蒙克斯科纳 谷歌云 |
以及请求的次数来判断,应该是一个恶意自动程序。 通过不断的POST事先构造好的代码,来爆破Wordpress的管理密码。
解决方法如下:
第一种是屏蔽 XML-RPC (pingback) 的功能
在functions.php中添加
add_filter('xmlrpc_enabled', '__return_false');
第二种方法就是通过.htaccess屏蔽xmlrpc.php文件的访问
# protect xmlrpc
Order Deny,Allow
Deny from all
第三种同样的是修改.htaccess文件加跳转
如果有用户访问xmlrpc.php文件,然后让其跳转到其他不存在或者存在的其他页面,降低自身网站的负担。
# protect xmlrpc
Redirect 301 /xmlrpc.php http://example.com/custom-page.php
第四种阻止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; }
第六种安装插件
安装Login Security Solution插件(这个没有测试,你可以试试)
小结
1、不要直接删除xmlrpc.php,否则它会让你的wordpress网站发生莫名的错误。
2、建议采用方法 2
3、其实扫描也罢,http的DDOS攻击也罢,CC攻击也罢,总之大量消耗服务器资源我们的服务器是累死的。
5、如果你正在使用如JetPack之类的插件,删除掉这个文件可能会让你的网站功能异常。
6、建议把WP升级到最新版本。
7、一般这个功能是用不到的,我们直接屏蔽掉,默认当前的WP版本是开启的。这样,我们就可以解决WordPress被利用xmlrpc.php暴力破解攻击问题。有些时候并不是针对我们的网站攻击,而是对方利用某个关键字扫到我们的网站造成的。
发表回复