[{"data":1,"prerenderedAt":52},["ShallowReactive",2],{"blog:\u002Fblog\u002F2016\u002F10\u002F19\u002Fwordpress-pit-1\u002F":3},{"id":4,"title":5,"body":6,"categories":34,"comments":37,"date":38,"description":39,"draft":40,"extension":41,"legacySlug":42,"meta":43,"navigation":37,"path":44,"seo":45,"stem":46,"tags":47,"updated":50,"__hash__":51},"blog\u002Fblog\u002F2016\u002F10\u002F19\u002Fwordpress-pit-1.md","wordpress博客遇到的那些坑（一）xmlrpc漏洞",{"type":7,"value":8,"toc":30},"minimark",[9,18,21,24,27],[10,11,12,13,17],"p",{},"​\t\t十一假期结束之后，发现自己的博客不时出现",[14,15,16],"strong",{},"数据库连接失败","，经检查是mysql停止运行了。之前出现过这样的情况，但是没有那么频繁，于是就写了一个检查mysql进程的脚本，如果mysql进程停止了，就自动启动mysql进程。但是这次的问题是，mysql刚一重启，没过多久就又挂了。",[10,19,20],{},"​\t\t由于之前问题没这么严重，而十一期间有没有对博客做什么修改。我一度认为是阿里云的问题，不稳定或者逼低配置用户升级（我的阿里云是最低配置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的配置，依然没有作用。",[10,22,23],{},"​\t\t当我查看了nginx的访问日志之后，才真正找到问题所在，有一个IP不停地刷项目根目录下的xmlrpc.php文件，所以php-fpm的进程就会一直满负荷运行，将系统资源耗尽。",[10,25,26],{},"​\t\t根据关键字xmlrpc.php百度了一下，原来这是攻击wordpress博客的一种常见方式，网上有三种解决方案，第一种是屏蔽 XML-RPC (pingback) 的功能，add_filter('xmlrpc_enabled', '__return_false');第二种方法就是通过.htaccess屏蔽xmlrpc.php文件的访问；第三种同样的是修改.htaccess文件，如果有用户访问xmlrpc.php文件，让其跳转到其他不存在的页面，降低自身网站的负担。",[10,28,29],{},"​\t\t由于我的网站用不到xmlrpc的功能，所以我就简单暴力的把这个文件改了个名字，这样一来非法的访问就直接被nginx阻止了，问题得到解决，内存的占用一下就下来了。",{"title":31,"searchDepth":32,"depth":32,"links":33},"",2,[],[35,36],"博客系统","安全",true,"2016-10-19 21:51:13","​ 十一假期结束之后，发现自己的博客不时出现数据库连接失败，经检查是mysql停止运行了。之前出现过这样的情况，但是没有那么频繁，于是就写了一个检查mysql进程的脚本，如果mysql进程停止了，就自动启动mysql进程。但是这次的问题是，mysql刚一重启，没过多久就又挂了。 ​ 由于之前问题没这",false,"md","wordpress-pit-1",{},"\u002Fblog\u002F2016\u002F10\u002F19\u002Fwordpress-pit-1",{"title":5,"description":39},"blog\u002F2016\u002F10\u002F19\u002Fwordpress-pit-1",[48,49],"wordpress","xmlrpc",null,"nfW5MX53kETq6KngQA9azKIYfLi87u6uvMq1jhLBNb4",1783807996125]