AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 827279
Accepted
marafado88
marafado88
Asked: 2017-01-20 04:57:55 +0800 CST2017-01-20 04:57:55 +0800 CST 2017-01-20 04:57:55 +0800 CST

“好”用户的许多身份验证失败登录

  • 772

我最近注意到我的服务器在 mail.log 上报告了许多已知用户的错误身份验证,这不是暴力攻击。而且我真的不知道这种身份验证的原因。我有用户使用 Gmail 应用程序、IOS 上的邮件、MacOSX 上的邮件应用程序、ThunderBird 和 Outlooks,以及访问该服务器的网络邮件服务。在此服务器中,我有一个自签名证书,并且还用作邮件智能主机。该系统是 MacOSX 10.9.5。

在所有平台中,Outlook 是唯一一个在连接到此服务器时出现奇怪行为的平台。不断显示带有用户凭据的烦人的登录弹出窗口,不知从何而来,这发生在我所有的 Outlook 用户身上。用户可以使用 Outlook 发送和接收,一切似乎都可以正常工作,除了登录弹出窗口。

从我的 mail.log 中,我遇到了 SAL DIGEST-MD5、SASL PLAIN 和 SASL CRAM-MD5 的问题,例如一些随机样本:

Jan 19 11:43:43 remote.x.pt postfix/smtpd[53889]: error: validate response: authentication failed for user=lcg (method=DIGEST-MD5)
Jan 19 11:43:43 remote.x.pt postfix/smtpd[53889]: warning: unknown[192.168.1.72]: SASL DIGEST-MD5 authentication failed

Jan 18 17:10:46 remote.x.pt postfix/smtpd[5838]: error: verify password: authentication failed: [email protected]
Jan 18 17:10:46 remote.x.pt postfix/smtpd[5838]: warning: hq2.pacsis.pt[x]: SASL PLAIN authentication failed

Jan 16 15:13:06 remote.x.pt postfix/smtpd[17510]: error: validate response: authentication failed for user=teste3 (method=CRAM-MD5)
Jan 16 15:13:06 remote.x.pt postfix/smtpd[17510]: warning: remote.x.pt[192.168.1.1]: SASL CRAM-MD5 authentication failed

第一次尝试来自 Outlook,第二次我认为它来自邮件网络服务,第三次来自邮件应用程序。

我不知道是什么原因造成的,但由于我从几个不同的软件客户端获得了错误的身份验证,我认为我的后缀或 dovecot 配置中有一些东西。

在这里您可以检查两个配置:

后缀: http: //pastebin.com/EU1iLjAP

鸽舍:http : //pastebin.com/N9MfuvkD

正在使用的端口:

  • 第587章

  • 第993章

更新 1:

这就是正在发生的事情,在这里您可以看到,在最初的身份验证错误之后,接下来它会成功进行身份验证:

Jan 19 14:33:05 remote.x.pt postfix/smtpd[62409]: error: validate response: authentication failed for user=lcg (method=DIGEST-MD5)
Jan 19 14:33:05 remote.x.pt postfix/smtpd[62409]: warning: unknown[192.168.1.72]: SASL DIGEST-MD5 authentication failed
Jan 19 14:33:05 remote.x.pt postfix/smtpd[62409]: verify password: AUTH PLAIN: authentication succeeded for user=lcg

更新2:

对于某些用户,似乎我的服务器不允许 DIGEST-MD5 和 CRAM-MD5,然后它切换到 PLAIN。在本地主机上,我至少可以毫无问题地使用 CRAM-MD5。

unix outlook postfix dovecot
  • 1 1 个回答
  • 811 Views

1 个回答

  • Voted
  1. Best Answer
    Talal Al-Khalifa
    2017-01-20T15:40:42+08:002017-01-20T15:40:42+08:00

    您遇到的问题是 Dovecot 问题而不是后缀问题。
    所以你可以理解 Dovecote Authentication 如何阅读这个:

    你必须明白,如果你的客户端的密码以纯文本形式保存在数据库中,那么你可以使用 cram-md5 和 digest-md5 (auth_mechanisms = plain login cram-md5摘要-md5)。但是如果数据库中的密码是加密的;可以说这里的 Dovecote 文档中提到的一种加密方案:
    http : //wiki2.dovecot.org/Authentication/PasswordSchemes,那么你不能使用 cram-md5,除非密码已经用 cram- 保存在数据库中md5 哈希。这很令人困惑,所以您可以更好地理解,假设我有一个电子邮件帐户,所以我登录:
    电子邮件客户端 ----->密码--->电子邮件服务器将检查数据库,我可以看到 3 个场景:

    • 第一种 - 场景数据库中的密码以纯文本形式保存:
      电子邮件服务器--(auth_mechanisms = 普通登录 cram-md5 摘要-md5)-->您的密码方案(无)---->数据库 cram-md5(密码)/or/digest-md5(password)/or/plain password:所以登录密码将与数据库明文保存的密码相匹配。

    • 2nd-Scenario数据库中的密码用SHA512-CRYPT保存:
      EmailServer--auth_mechanisms(plain login)--→Email-server-check password-->default_pass_scheme = SHA512-CRYPT ----SHA512-CRYPT(password ) ---→database(ALREADY SHA512-CRYPT Password) – 登录匹配

    • 3rd-scenario数据库密码用carm-md5加密:
      Email-server---->auth_mechanisms(plain login cram-md5)--→Email-server---check password---default_pass_scheme =cram-md5-- > cram-md5(密码)---->数据库(密码已经保存在cram-md5密码中) - 登录匹配

    因此,您要么加密或不加密数据库密码并使用 SSL/TLS 并制作 auth_mechanisms="plain login" 或者:
    如果您不想使用 SSL,请制作 auth_mechanisms=cram-md5 并将密码作为临时文件存储在数据库中md5 如果您想使用 DIGEST-MD5 和 CRAM-MD5,您的密码必须存储在 PLAIN_TEXT 中。
    因此仅使用 CRAM-MD5,数据库中的密码可以是 CRAM-MD5 或纯文本或使用 DIGEST-MD5 和 CRAM-MD5:数据库中的密码必须仅以纯文本形式存储。

    在下一个链接中,您将找到一些可帮助您在数据库中加密密码的脚本: http ://wiki2.dovecot.org/HowTo/ConvertPasswordSchemes

    如果您想将数据库中的密码保存为 DIGEST-MD5,您必须阅读此页面:http

    : //wiki2.dovecot.org/Authentication/Mechanisms/DigestMD5 此外,正如您在我们的聊天中提到的,可以使用 Dovecote 中使用的 auth_mechanisms 值在后缀中作为 smtpd_pw_server_security_options=plain 在 main.cf

    • 1

相关问题

  • Windows 有符号链接吗?

  • 控制 UNIX 目录内容用户组所有权

  • 在命令行上从 csv 文件中过滤带有空格字符的字段

  • 如何将 VAR 从子 shell 导出到父 shell?

  • 查找文件大小(以 MB 为单位)

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve