如何wordpress利用xmlrpc.php文件进行DDos攻击以及防御
今天偶然发现我的网站被DDos攻击了,这两个IP地址进行了12w次攻击(既然对我攻击,我就把IP暴露出来,供大家防御参考吧,国家不准确,实际查询此IP是美国的一个ip地址,大家可以通过其他途径搜索)
于是我检查了php的日志,发现这两个IP频繁调用了我的/xmlrpc.php路径
首先果断将这两个IP地址拉黑,具体拉黑方法就不提了,网上搜索一大把。
然后搜索了一下这个URL有什么安全影响,随后惊出一身冷汗。
用post方法,发送下面的请求给此URL
如果username和password正确的话,会返回如下结果:
一身冷汗的原因:isAdmin=0标识不是管理员(即登录成功,但非管理员)
如果username和password不正确的话,大家可以自己试验,会返回用户名密码错误的。
解决方案:
1.在没有其他外部人使用的情况下,删掉xmlrpc.php文件,这个文件在wordpress文件夹的根目录下
2.在wordpress的function.php中进行过滤xmlrpc.php文件,禁用pingback
add_filter(‘xmlrpc_enabled’, ‘__return_false’);
3.修改.htaccess文件,屏蔽xmlrpc.php文件
# protect xmlrpc
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>
4.修改.htaccess文件,如果有用户访问xmlrpc.php文件,然后让其跳转到其他不存在或者存在的其他页面,降低自身网站的负担。
# protect xmlrpc
<IfModule mod_alias.c>
Redirect 301 /xmlrpc.php http://example.com/custom-page.php
</IfModule>
5.安装安全插件,对重复的用户名密码错误的IP进行处理(这里就不进行推荐了)
6.对IP地址进行过滤,这个有点慢,也许会影响正常访问的客户