我有一个WP安装,在过去的几天里,它一直受到暴力登录尝试的打击。
该站点安装了限制登录尝试插件。当我开始频繁收到关于停工的通知时,我决定,因为我只访问wp-login.php
文件和wp-admin
从一个地方屏蔽除我自己的via之外的所有IP.htaccess
. 我已经测试了.htaccess
通过从例外列表中删除我的IP来阻止,它确实阻止了对wp登录的访问。php。因此,从这一方面来看,这似乎是可行的。
然而,即使IP被阻止,限制登录尝试仍会报告(频繁)来自IP的锁定。我觉得这很奇怪,因为.htaccess
阻挡到位,似乎不可能到达wp-login.php
从脚本开始,更不用说让插件处理尝试的登录了。
所以我尝试了另一个实验:虽然已经登录到WP,但我更改了wp-login.php
到wp-login.xyz
从而使脚本无法完全运行。即使完全禁用了登录脚本,我仍然收到了登录尝试和IP被锁定的通知。
然后我想也许有人有auth cookie。所以我换了盐。尽管如此,尝试还是来了。
我已经查看了codex以获得认证API的帮助,但那里的大多数源代码都不完整,而且在任何情况下,我都找不到除了通过wp-login.php
.
所以我的问题是:没有wp-login.php
剧本如何禁用任何此类备用登录路由?
编辑:。htaccess代码(文件的第一行):它位于WP根目录中(与相同的位置wp-login.php
.
<FilesMatch wp-login.php>
order deny,allow
Deny from all
# Allow from this IP address
allow from xx.xxx.xxx.xx #My IP
</FilesMatch>
ErrorDocument 401 "Sorry. No logins here!"
ErrorDocument 403 "Sorry. No logins here!"
SO网友:Caspar
正如@MarkKaplen所言,问题确实是XML-RPC。我联系了托管公司,要求提供日志的读数。xmlrpc。php在不到24小时的时间内被点击了3500多次(这是一个很小的网站,没有人有任何理由点击任何东西那么多次!)。
Edit
这是我怀疑发生的事情。从…起
Antti Vilpponen\'s blog 关于缓解xmlrpc攻击:
从我进行的测试中,我看到WordPress也支持带有凭据的URL。因此,攻击者可以使用如下URLhttp://admin:[email protected]/changeDNS.asp?newDNS=aaaa
重新配置内部路由器。
所以它击中了xmlrpc.php
具有与使用wp-login.php
并触发WP进入其身份验证例程,这反过来又触发限制登录尝试插件并生成锁定。
/Edit
我没有使用插件(这是在@MarkKaplan回答之前),而是选择简单地切断对xmlrpc的所有访问。服务器上的php,再次使用
.htaccess
在WP根目录中,如下所示:
<Files xmlrpc.php>
Order allow,deny
Deny from all
</Files>
很有魅力。我的登录一直处于静默状态。
Edit
Apache指令中的文件名拼写错误为xlmrpc。php。试图更正它,但stackexchange字符编辑限制不允许我,直到我写下这一无用的段落。现在它是正确的。