WordPress建站经验菜鸟

原创经验:记一次WordPress优化xmlrpc.php防止暴力破解登陆过程

因为已经修改了后台地址感觉算是相对比较安全吧,所以自从建站以来就没怎么关注过网站被非法登陆的日志。

今天因为华为云报警说是内存低,经过优化和排查之后问题已经解决,但是根据以往的经验来说网站会不会是被扫描/暴力破解了,结果一看日志,吼吼吼,非法登陆状态已经刷屏了好几百页好吗!!!(如下图)

WordPress-optimized-xmlrpc-to-prevent-brute-force-cracking1.jpg插图

好吧,那么这次我们集中处理一下这个问题。

 

思路与排查:

既然已经修改了登录地址,那么这帮无聊的人是怎么进行登录暴力破解的呢?

既然有登录失败记录,那就先尝试用IP代入系统日志进行匹配吧:

进入到相应日志目录,然后直接选个IP进行匹配,执行grep命令

grep "68.66.216.53" access.log

看到日志显示对方使用浏览器Agent信息是使用Windows(估计伪造的)下的Firefox浏览器以POST的方式访问了文件/xmlrpc.php (如图)

WordPress-optimized-xmlrpc-to-prevent-brute-force-cracking2.jpg插图(1)

进一步使用命令追查xmlrpc.php文件出现次数,执行grep管道wc命令

grep "xmlrpc.php" access.log | wc -l

显示截至到今天22点,已经被批量探测了57090次了 (如图)

WordPress-optimized-xmlrpc-to-prevent-brute-force-cracking3-1.jpg插图(2)

遇到这样的问题,我们可能想到的直接锁定这个IP段,但这样永久解决这样的攻击(对方的IP可能仅仅是台肉鸡),我们需要禁止xmlrpc文件的访问功能才可以彻底的解决。

 

解决方案:

既然追查到问题所在,那么解决起来就比较简单了,但是保险起见还是bing搜索了一下前辈们的经验:

已知1:如果网站程序使用pingback功能的话,屏蔽xmlrpc.php将导致功能无法使用

已知2:使用JetPack之类的插件,再删除xmlrpc.php后将导致网站异常

已知3:旧版本Wordpress部分组件依赖于xmlrpc.php,删除后将导致一些很奇怪的问题

目前本站在以上3条都不沾边,所以我打算斩草除根,永久解决这个问题。

 

我总结了几个有效的办法:

1、用rm   -rf   xmlrpc.php命令或者mv命令 删掉/移动 这个xmlrpc.php文件,好吧我认为这个是最简单的,但是作为合格的运维工程师,就不要动不动使用rm命令,太危险了是吧?

2、使用chmod禁用所有xmlrpc.php权限,让其变成无法访问状态(操作如下图)

chmod  000  xmlrpc.php

WordPress-optimized-xmlrpc-to-prevent-brute-force-cracking4.jpg插图(3)

3、Apache服务器可以设定配置文件-301跳转访问:

《IfModule mod_alias.c>
Redirect 301 /xmlrpc.php http://baidu.com
《/IfModule>

 

4、Nginx服务器可以设定配置文件-禁止访问:

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

以上。。。操作完成后目前测试网站没什么问题。。。

(END)

原创文章AndyX.Net

若需转载本文,请标注来源与链接:https://andyx.net/wordpress_optimized_xmlrpc_to_prevent_brute-force_cracking/