WordPress六种办法彻底禁止XML-RPC协议功能防止暴力破解网站瘫痪

49,661 次浏览次阅读

共计 1295 个字符,预计需要花费 4 分钟才能阅读完成。

原创文章,转载请注明: 转载自 cnorg.12hp.de

注意: 由于网站空间位于国外,建议避开晚上的访问高峰期,以免因访问缓慢而影响你的使用体验。

若下载链接为空,是由于国外空间速度缓慢,引发缓存问题所致。请私信本站反馈!

我们都知道 xmlrpc.php 文件位于网站根目录下,WP 团队早就解决了漏洞,不过确实存在一种另类的 wordpress 暴力攻击,估计利用 xmlrpc.php 文件来绕过 wordpress 后台的登录错误限制进行爆破。

如果我们要深入研究 WordPress 后会发现不仅仅是一个架设个人网站的 CMS 程序,同时有提供 XML-RPC 协议 API 接口远程控制 WP 内容。但是,我们很多人是用不上的,所以尽可能的禁止掉。如果不禁止还会被他人用来暴力破解导致服务器占用资源过大。

那么我们应该如何关闭这个功能或解决被他人利用 xmlrpc.php 文件攻击呢?根据网上搜索的结果,大致有六种办法来解决:

第一种是屏蔽 XML-RPC (pingback) 的功能

在 functions.php 中添加

add_filter('xmlrpc_enabled', '__return_false');

或者在 "设置"-"讨论",然后在下图取消勾选 "尝试通知文章中链接的博客、允许其他博客发送链接通知"。Wordpress 六种办法彻底禁止 XML-RPC 协议功能防止暴力破解网站瘫痪

第二种方法就是通过.htaccess 屏蔽 xmlrpc.php 文件的访问

  1. # protect xmlrpc
  2. <Files xmlrpc.php>
  3. Order Deny,Allow
  4. Deny from all
  5. </Files>

第三种同样的是修改.htaccess 文件加跳转

如果有用户访问 xmlrpc.php 文件,然后让其跳转到其他不存在或者存在的其他页面,降低自身网站的负担。

  1. # protect xmlrpc
  2. <IfModule mod_alias.c>
  3. Redirect 301 /xmlrpc.php http://example.com/custom-page.php
  4. </IfModule>

第四种阻止 pingback 端口

在 functions.php 中添加

add_filter('xmlrpc_methods', 'remove_xmlrpc_pingback_ping');
function remove_xmlrpc_pingback_ping($methods) {unset( $methods['pingback.ping'] );
return $methods;
}

第五种 nginx 服务器配置

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

第六种安装插件

安装 Login Security Solution 插件(这个没有测试,你可以试试)

小结

1、不要直接删除 xmlrpc.php,否则它会让你的 wordpress 网站发生莫名的错误。
2、建议采用方法 2。
3、其实扫描也罢,http 的 DDOS 攻击也罢,CC 攻击也罢,总之大量消耗服务器资源我们的服务器是累死的。
5、如果你正在使用如 JetPack 之类的插件,删除掉这个文件可能会让你的网站功能异常。
6、建议把 WP 升级到最新版本,其实我的就是最新的 WP4.5.3, 还是要相信新版本漏洞少一点吧。
7、一般这个功能是用不到的,我们直接屏蔽掉,默认当前的 WP 版本是开启的。这样,我们就可以解决 WordPress 被利用 xmlrpc.php 暴力破解攻击问题。有些时候并不是针对我们的网站攻击,而是对方利用某个关键字扫到我们的网站造成的。

正文完
 0

扫一扫关注公众号和捐赠

自由家园
版权声明:本站原创文章,由 自由家园 于2025-04-19发表,共计1295字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。