关闭xmlrpc.php的方法:1、用“rm -rf xmlrpc.php”命令删除掉xmlrpc.php;2、用mv命令移动xmlrpc.php文件;3、使用chmod命令禁用xmlrpc.php的所有权限。
本文操作环境:linux5.9.8系统、WordPress5.4.2版,DELL G3电脑
因为使用的Wordpress网站已经修改了后台地址感觉算是相对比较安全吧,所以就没怎么关注过网站被非法登陆的日志。
今天因为监控云报警说是内存低,经过排查之后发现是网站被扫描/暴力破解导致的,日志显示非法登陆状态已经刷屏了好几百页了。
禁用Wordpress的xmlrpc.php文件避免被暴力破解
分析
既然有登录失败记录,那就先尝试用IP代入系统日志进行匹配吧,选个已经记录的IP进行匹配,执行grep命令:
grep "68.66.216.53" access.log
看到日志证实对方使用POST的方式访问了文件/xmlrpc.php
进一步使用命令追查xmlrpc.php文件出现次数,执行grep与wc命令
grep "xmlrpc.php" access.log | wc -l
显示截至到今天晚上,已经被批量探测了57090次了
解决
解决的关键就是屏蔽/禁用xmlrpc.php,为了以防万一可能出现的副作用,我先百度了一下并收集了一些信息:
如果网站程序使用pingback功能的话,屏蔽xmlrpc.php将导致功能无法使用
使用JetPack之类的插件,再删除xmlrpc.php后将导致网站异常
旧版本Wordpress部分组件依赖于xmlrpc.php,删除后将导致一些很奇怪的问题
目前本站在以上3条都不沾边,所以我可以永久解决这个问题。
用rm -rf xmlrpc.php命令删除掉xmlrpc.php这个文件,但是不推荐直接删除,因为如果出问题的话没有备份会比较麻烦
用mv命令 移动 这个xmlrpc.php文件(随便重命名):
mv xmlrpc.php xmlrpc.php.sajdAo9ahnf$d9ha90hw9whw
使用chmod命令禁用xmlrpc.php的所有权限:
chmod 000 xmlrpc.php
Apache服务器可以设定参数跳转访问:
<IfModule mod_alias.c> Redirect 301 /xmlrpc.php http://baidu.com </IfModule>
Nginx服务器可以设定参数禁止访问:
location ~* /xmlrpc.php { deny all; }
推荐学习:《WordPress教程》
以上是xmlrpc.php怎么关闭的详细内容。更多信息请关注PHP中文网其他相关文章!