如何在不禁用组件的情况下阻止xmlrpc攻击以允许Jetpack在WordPress中工作?

时间:2020-08-03 作者:mhweb

我在云中使用虚拟机管理WordPress网站,最近,我注意到许多对xmlrpc的不需要的请求。php组件导致站点运行速度减慢,从而导致高CPU负载。如果是我的话,我会完全禁用它,但该网站使用JetPack插件,它依赖于xmlrpc。

所以,我的问题是:如何允许JetPack访问xmlrpc,同时阻止其他所有人,而不禁用服务器上的xmlrpc?

该站点使用JetPack启用了bruce for protection,fail2ban已启用并正常工作,但似乎无法解决问题。

在进行一些研究时,我发现了以下解决方法:https://www.namehero.com/startup/how-to-safely-disable-xmlrpc-in-wordpress-while-keeping-jetpack/ 但在将这些设置应用于htaccess之后,它会立即停止不需要的请求,但JetPack也会被阻止。所以,它似乎没有按预期工作,或者我做错了。

<Files xmlrpc.php>
Order allow,deny
Allow from 192.0.64.1/192.0.127.254
Deny from all
Satisfy All
ErrorDocument 403 http://127.0.0.1/
</Files>
更新:WordPress表示jetpack需要这些IP地址:

所以,问题还在于,如何将这些IP地址发送到上面的htaccess块?

122.248.245.244/32
54.217.201.243/32
54.232.116.4/32
192.0.80.0/20
192.0.96.0/20
192.0.112.0/20
195.234.108.0/22
192.0.96.202/32
192.0.98.138/32
192.0.102.71/32
192.0.102.95/32

1 个回复
SO网友:Sten

对于白名单,通常先拒绝所有,然后允许。然后继续添加Allow 根据需要输入。尝试以下操作:

<Files xmlrpc.php>
Order Deny,Allow
Deny from all
Allow from 122.248.245.244/32
Allow from 54.217.201.243/32
Allow from 54.232.116.4/32
Allow from 192.0.80.0/20
Allow from 192.0.96.0/20
Allow from 192.0.112.0/20
Allow from 195.234.108.0/22
Satisfy All
ErrorDocument 403 http://127.0.0.1/
</Files>
注意:您问题列表中的最后几个IP包含在前面CIDR range, 192.0.96.0/20, 所以我省略了它们。

您可以在此处获取各种Jetpack服务的白名单特定IP地址的最新详细信息:https://jetpack.com/support/hosting-faq/.

我个人使用fail2ban. 该方法的优点是防止sketchy IP向服务器发出任何其他类型的请求,无论是永久性的还是在一段时间内(根据您的设置)。您可能只需要查看fail2ban设置,并将其重新配置为更紧密。可能有关联to this issue.

值得注意的是,Automatic提供free support 适用于所有Jetpack用户。(完全披露:我在那里工作。)

相关推荐

使用XML-RPC创建的新帖子工作正常,但无法分配类别

我正在使用xmlrpc从桌面创建WordPress帖子。除category之外的所有其他内容(例如标题、描述、custom\\u字段)都正常工作。类别未分配给该职位。到目前为止,我已经尝试了所有这些线路-$content[\'terms\'] = array(\'post_category\' => array( 10 ) ); //Not working $content[\'terms\'] = array(\'category\' => array( 10 ) ); //Not