wordpress博客遇到的那些坑(一)xmlrpc漏洞

news/2024/7/4 8:48:07

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

 

        十一假期结束之后,发现自己的博客不时出现数据库连接失败,经检查是mysql停止运行了。之前出现过这样的情况,但是没有那么频繁,于是就写了一个检查mysql进程的脚本,如果mysql进程停止了,就自动启动mysql进程。但是这次的问题是,mysql刚一重启,没过多久就又挂了。

         由于之前问题没这么严重,而十一期间有没有对博客做什么修改。我一度认为是阿里云的问题,不稳定或者逼低配置用户升级(我的阿里云是最低配置512M内存)。查看mysql的日志,里边报有pthread_create returned 11,在网上查了解决方案,修改了ulimit -s,ulimit -u却没有任何作用。后来查看内存(free -m),只剩下可怜的3、4MB,由于是只有一个博客,实在不想去升级服务器。于是又按照网上的办法关闭了mysql的innodb引擎,依然无济于事。使用top命令查看,发现有很多个php-fpm进程,并且占据了大量内存。我尝试将php-fpm重启,发现很快又产生大量php-fpm进程,内存迅速被耗尽。尝试修改了php-fpm的配置,依然没有作用。

       当我查看了nginx的访问日志之后,才真正找到问题所在,有一个IP不停地刷项目根目录下的xmlrpc.php文件,所以php-fpm的进程就会一直满负荷运行,将系统资源耗尽。

      根据关键字xmlrpc.php百度了一下,原来这是攻击wordpress博客的一种常见方式,网上有三种解决方案,第一种是屏蔽 XML-RPC (pingback) 的功能,add_filter('xmlrpc_enabled', '__return_false');第二种方法就是通过.htaccess屏蔽xmlrpc.php文件的访问;第三种同样的是修改.htaccess文件,如果有用户访问xmlrpc.php文件,让其跳转到其他不存在的页面,降低自身网站的负担。

     由于我的网站用不到xmlrpc的功能,所以我就简单暴力的把这个文件改了个名字,这样一来非法的访问就直接被nginx阻止了,问题得到解决,内存的占用一下就下来了。

除非注明,文章均为( 江上轻烟 )原创,转载请保留链接: http://www.zhizhi123.com/?p=308

转载于:https://my.oschina.net/u/1442053/blog/769734


http://www.niftyadmin.cn/n/4115470.html

相关文章

动手学数据分析task03:数据重构

数据重构 数据连接 数据重构方法一:concat pd.concat([text_left_up,text_right_up],axis1) axis1:按照行连接数据重构方法二:使用DataFrame自带的方法join方法和append 行用join,列用append; 数据重构方法三:使用Panads的mer…

谈线性变换

首先,先明确向量的基和坐标 当然,也可以表示成更简洁的形式 ,其中,现在出现一个线性变换,线性变换一定满足两个条件: ,那么,线性变换能不能用个矩阵来代替呢?大部分情况是…

java文件上传路径缺少\的解决办法

今天做一个文件上传,取路径,然后读取文件的时候,发现存储到MySQL的路径是这样的: 然后,发现,我的java文件显示的是正确的: 但是:放到path里面,存到MySQL里面就缺少分割线…

Ionic start 创建项目报错

ionic 2 创建项目的时候报错如上;本人试了好多方法,npm,cordova,ionic都尝试重装了。但是依旧无效,ionic start 的时候生成ionic1项目时没问题,但升ionic2 的时候有问题。我估计是以为网络问题,…

python telnet 登录

有段时间想利用python自动批量登录设备,并输入命令。但是读取设备列表文件遍历后发现telnetlib库的登录不上设备。其显示错误为socket.gaierror: [Errno 4] non-recoverable name resolution failure明显是DNS解析IP地址错误。把设备名列表文件全部改成IP地址的话能…

动手学数据分析task04:数据可视化

数据可视化 柱状图 泰坦尼克号数据集中男女中生存人数分布情况 泰坦尼克号数据集中男女中生存人与死亡人数的比例图 1.stack: 将数据的列索引转换为行索引(列索引可以简单理解为列名) 2.unstack:将数据的行索引转换为列索引 若去掉unstack() 堆积柱…

使用Android support library25.0.0 提供的BottomNavigationView实现底部导航功能

为什么80%的码农都做不了架构师?>>> 底部导航控件,我们一般使用的是tab页的形式,或各种自定义的样式(tablayout,radiogroup等),最近android25 support库中提供了BottomNavigationVi…

动手学数据分析task05 数据建模及模型评估

特征工程 缺失值的填充 分类型变量 填充某个缺失值字符(NA)用最多类别的进行填充 连续型变量 填充均值、中位数、众数 第一步:查看所有属性列中有哪些有缺失值 train.isnull().sum().sort_values(ascendingFalse)第二步:查看某一个属性列有多少种取…