Dovecot 登录失败 "auth failed, 1 attempts" 日志一直在报,怎么排查?

Dovecot 登录失败 "auth failed, 1 attempts" 日志一直在报,怎么排查?
场景区分:先看日志中的来源 IP。如果是来自公网随机 IP 的高频尝试 → 暴力破解攻击,直接上 fail2ban 阻断;如果是你的办公网络或已知客户端 IP → 客户端配置问题或凭据错误。两者的处置方式完全不同。
Step 1 — 服务器端直接验证:doveadm auth test user@domain.com 'password' 在服务器本地测试用户凭据。如果 passdb 返回 ok —— 问题出在客户端(端口、TLS 设置、用户名格式);如果返回 passdb didn't return any userdb lookup —— passdb 配置或用户数据库有问题。
Step 2 — 检查 passdb 配置:doveconf -n auth_passdb 查看当前使用的 passdb 类型(passwd-file / SQL / LDAP)。如果是 passwd-file,确认文件路径正确、每行格式为 user@domain:{PLAIN}password:uid:gid,文件所有者和权限正确。
Step 3 — 验证用户 home 目录:doveadm user user@domain.com 应返回 uid、gid、home 目录。如果返回 "unknown user" 但 passdb 测试通过,检查 userdb 配置是否正确映射了用户属性。
Step 4 — 暴力破解防护:安装并配置 fail2ban,Dovecot 自带 dovecot.conf filter。启用后同 IP 连续失败 5 次自动封禁 10 分钟,可阻断大部分暴力扫描。

📎 Dovecot 官方文档 Authentication Overview;RFC 8314 TLS 收发强制