当我检查我的 nginx access.log 时,/wp-login.php 上每两分钟就有一次请求(GET 请求后跟 POST)。
然后我记录那些 POST 请求(将登录页面更改为空页面并将 POST 请求保存到文件)。该请求包含登录凭据、正确的用户名和错误的密码。即使响应是空页面(可能是脚本),这些请求也没有停止。
然后,我拒绝 nginx 配置上的 IP 地址。第二天,同样的情况发生在不同的 IP(但相同的国家)。
困扰我的是该客户如何知道我的管理员用户名?wordpress 网站是这样的吗?因为这是我第一次在真实服务器上编写 wordpress。
正如评论中的人所说,这很常见。这些 ip 很可能来自西方国家。大多数这些复杂的蛮力攻击可以归功于机器人或僵尸网络,它只是自动尝试已知用户名,如 admin、root、guest 及其对应的密码。
您可以实施一些保护自己的方法是使用 fail2ban 并将其配置为过滤 http 流量。使用 ipset 将这些 ip 列入黑名单。如果您将这些 ip 报告给 abuseipdb 以让其他人知道不当行为,它总是会有所帮助。Htaccess 和 htpasswd 是阻止不受欢迎的访问者访问某些文件/目录的好文件。如果您觉得需要更多保护,可以注册 cloudflare。正如您现在所做的那样,始终关注这些访问日志。