"좋은" 사용자에 대한 많은 인증 로그인 실패

"좋은" 사용자에 대한 많은 인증 로그인 실패

나는 최근에 내 서버가 mail.log에서 알고 있는 사용자에 대한 많은 잘못된 인증을 보고하고 있으며 이는 무차별 대입 공격이 아니라는 것을 확인했습니다. 그리고 나는 그러한 인증의 원인을 정말로 모릅니다. Gmail 앱, IOS의 메일, MacOSX의 메일 앱, ThunderBird 및 Outlook을 사용하는 사용자가 있으며 이 서버에 액세스하기 위한 웹메일 서비스도 있습니다. 이 서버에는 자체 서명된 인증서가 있으며 메일 스마트 호스트로도 작동하고 있습니다. 이 시스템은 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에서 했고, 두 번째는 메일 웹 서비스에서, 세 번째는 메일 앱에서 나온 것 같습니다.

원인이 무엇인지 알 수 없지만 여러 다른 소프트웨어 클라이언트의 인증이 잘못되었기 때문에 내 postfix 또는 dovecot 구성에 뭔가가 있다고 가정합니다.

여기에서 두 구성을 모두 확인할 수 있습니다.

접미사:http://pastebin.com/EU1iLjAP

비둘기장:http://pastebin.com/N9MfuvkD

사용 중인 포트:

  • 587 SMTP 시작

  • 993 IMAP SSL

업데이트 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으로 전환됩니다. localhost에서는 문제 없이 최소한 CRAM-MD5를 사용할 수 있습니다.

답변1

귀하가 겪고 있는 문제는 접미사가 아닌 Dovecot 문제입니다.
따라서 Dovecote 인증이 이 내용을 어떻게 읽는지 이해할 수 있을 것입니다.

클라이언트의 비밀번호가 데이터베이스에 일반 텍스트로 저장되어 있는 경우 crush-md5 및 다이제스트-md5(auth_mechanisms = 일반 로그인cram-md5)를 사용할 수 있다는 점을 이해해야 합니다. 다이제스트-md5). 그러나 데이터베이스의 비밀번호가 암호화된 경우; 여기 Dovecote 문서에 언급된 암호화 체계 중 하나를 사용하겠습니다.
http://wiki2.dovecot.org/Authentication/PasswordSchemes, 비밀번호가cram-md5 해시를 사용하여 데이터베이스에 이미 저장되어 있지 않으면crash-md5를 사용할 수 없습니다. 혼란스럽기 때문에 더 잘 이해하실 수 있을 것입니다. 귀하에게 이메일 계정이 있어서 로그인한다고 가정해 보겠습니다.
이메일 클라이언트 -----> 비밀번호---> 이메일 서버가 데이터베이스를 확인하고 다음과 같은 3가지 시나리오가 있습니다. 볼 수 있습니다:

  • 첫 번째 - 데이터베이스의 비밀번호가 일반 텍스트로 저장되는 시나리오:
    Email-server--(auth_mechanisms = 일반 로그인 crush-md5 다이제스트-md5)-->비밀번호 체계(없음)---->데이터베이스 crush-md5(password )/또는/ 다이제스트-md5(비밀번호)/또는/일반 비밀번호: 따라서 로깅 비밀번호는 데이터베이스 일반 텍스트로 저장된 비밀번호와 일치합니다.

  • 두 번째 시나리오는 데이터베이스의 비밀번호가 SHA512-CRYPT로 저장됩니다.
    EmailServer-- auth_mechanisms(일반 로그인)--→Email-server-비밀번호 확인--->default_pass_scheme = SHA512-CRYPT ----SHA512-CRYPT(password ) ---→데이터베이스(이미 SHA512-CRYPT 비밀번호) – 로그인 일치

  • 3번째 시나리오는 데이터베이스 비밀번호가 carm-md5로 암호화되어 있는 경우입니다.
    Email-server---->auth_mechanisms(일반 로그인cram-md5)--→Email-server---비밀번호 확인---default_pass_scheme =cram-md5-- >cram-md5(password)---->database(crash-md5password에 이미 저장된 비밀번호) – 로그인 일치

따라서 데이터베이스 비밀번호를 암호화하거나 암호화하지 않고 SSL/TLS를 사용하고 auth_mechanisms="plain login"으로 설정하거나:
SSL을 사용하지 않으려면 auth_mechanisms=cram-md5로 설정하고 비밀번호를 벼락치기로 DB에 저장합니다. 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 값은 main.cf의 smtpd_pw_server_security_options=plain과 같이 postfix에서 사용될 수 있습니다.

관련 정보