登录保护:限制每个 IP 的失败尝试
登录保护按 IP 地址统计失败的登录尝试,一旦某个地址达到设定的上限就把它拒之门外。只统计通过普通登录表单发起的尝试;通过 REST 或使用应用程序密码的请求不受影响。一次成功的登录会重新清空该地址的计数器。
设置上限与封锁时长
- 在 WordPress 菜单中打开“Kakapo Security”条目——启用白标时它会显示在那里设定的名称——然后在左侧边栏“防护”下选择“登录保护”(德语:„Login-Schutz“)这一项。
- 请在“失败尝试上限”卡片中检查“登录限制已启用”开关;出厂状态为开启。
- 在“允许的失败尝试次数”中填入所需的数值。允许 2 到 20,默认值为 5。
- 在“封锁时长(分钟)”中设置时间窗口。允许 1 到 1440 分钟,默认值为 15。
- 如果不希望登录界面透露是用户名还是密码出错,请让“通用错误提示”保持启用。
- 被封锁的地址会出现在下方的“被封锁的 IP 地址”卡片中;“解锁”按钮可以立即取消一条封锁。
如何计数与封锁
- 封锁时长同时也是计数窗口:如果第一次失败尝试的时间比这更久远,计数就重新开始。
- 达到上限后,该地址会被封锁同样长的时间,登录在检查密码之前就被拒绝。
- 向被封锁地址显示的提示会给出剩余的分钟数。
- 表格针对每一次封锁显示地址、失败尝试的次数,以及封锁生效到的时刻。
- 每一次封锁都会作为事件记入活动日志,并触发一封电子邮件,只要“通知”(德语:„Benachrichtigungen“)下的“IP 被封锁时提醒”开关是打开的。
“更多登录加固”卡片中的另外两个开关
- “停用 XML-RPC”会关闭 XML-RPC 接口。该开关出厂为关闭。
- “拦截用户枚举”会把未登录访客带 ?author=<id> 的访问重定向到首页,并为匿名访问移除用户列表的 REST 路由。该开关出厂即开启。
- 已登录的访问仍保留 REST 用户路由,以便通过应用程序密码建立的连接继续正常工作。
插件读取的地址是 REMOTE_ADDR。在代理或 CDN 之后,那里显示的是中间站的地址——只有当这个过滤器放行时,它才会解析转发响应头:
kwpsec_trust_proxy
这篇文章对您有帮助吗?