昨天夜里准备写关于 ssl 连接的博文,突然发现博客 502 报错,本来以为是偶然的网络问题,但是频繁的 502报错,就去 SSH上看了下,几个 www 进程直接 100%占用资源。
一开始还以为是服务器上其他网站被攻击或者采集造成的,还一个个的关闭网站来排查,最后发现竟然还就是这个重生的 wordpress 博客的原因。
随即打开网站日志,看了下日志内容,发现是google 的蜘蛛访问的 xmlrpc.php 文件,后来查看了下 IP 其实是一个荷兰的地址,冒充的谷歌蜘蛛。
上网搜索了下,发现 wordpress 的xmlrpc.php 文件一直都是被攻击的对象,而 xmlrpc 的作用主要是 pingback 或者wordpress 等app 远程连接,简单可以理解为 xmlrpc.php 为博客和外界的入口,通过这个文件黑客可以暴力破解管理员账号。
发现问题就开始解决问题,按照网上说的几个方法,比如
在functions.php中添加代码,屏蔽XML-RPC(pingback)的功能
add_filter('xmlrpc_enabled', '__return_false');
通过有配置服务器的.htaccess文件或者nginx的 conf 文件来阻止 xmlrpc 文件的访问。
但发现都不能解决 xmlrpc.php 被连接造成的服务器资源占用的问题,最后只有祭出杀手锏,将文件改名来暂时解决 wordpress 的 xmlrpc.php文件被攻击的问题……
当然将那个假冒的 IP 给直接屏蔽掉肯定也能解决问题,但不是一劳永逸的做法,后面也的确发现另一个 IP 也来访问 xmlrpc 文件。
虽然网上都说删除 xmlrpc.php 文件会造成博客出现莫名问题,以及无法使用 app 来远程访问,但目前来看还好,也不需要使用 app,等后面想到方法再解决吧……
绝大多数情况下,禁用不会造成任何问题
@tlanyan 就是 有时候 黑客 会和你闹着玩 哈哈