Mir ist vor Kurzem aufgefallen, dass mein Server bei mail.log viele fehlerhafte Authentifizierungen für bekannte Benutzer meldete, und es handelt sich nicht um einen Brute-Force-Angriff. Und ich kenne die Ursache für solche Authentifizierungen nicht wirklich. Ich habe Benutzer, die die Gmail-App, Mail unter iOS, die Mail-App unter MacOSX, ThunderBird und Outlooks sowie einen Webmail-Dienst verwenden, um auf diesen Server zuzugreifen. Auf diesem Server habe ich ein selbstsigniertes Zertifikat und er arbeitet auch als Mail-Smarthost. Dieses System ist ein MacOSX 10.9.5.
Von allen Plattformen ist Outlook die einzige, die ein seltsames Verhalten zeigt, während eine Verbindung zu diesem Server besteht. Es wird ständig aus heiterem Himmel ein nerviges Anmelde-Popup mit den Anmeldeinformationen des Benutzers angezeigt, und das passiert bei allen meinen Outlook-Benutzern. Benutzer können Outlook zum Senden und Empfangen verwenden, und alles scheint zu funktionieren, außer diesem Anmelde-Popup.
Aus meiner Mail.log-Datei geht hervor, dass dieses Problem mit SAL DIGEST-MD5, SASL PLAIN und SASL CRAM-MD5 besteht, zum Beispiel einige zufällige Beispiele:
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
Der erste Versuch erfolgte aus Outlook, der zweite kam, glaube ich, vom Mail-Webdienst und der dritte aus der Mail-App.
Ich kann nicht herausfinden, woran das liegt, aber da ich von mehreren verschiedenen Softwareclients ungültige Authentifizierungen habe, gehe ich davon aus, dass etwas an meinem Postfix oder an den Dovecot-Konfigurationen liegt.
Hier können Sie beide Konfigurationen überprüfen:
Nachsatz:http://pastebin.com/EU1iLjAP
Taubenschlag:http://pastebin.com/N9MfuvkD
Verwendete Ports:
587 SMTP-STARTLS
993 IMAP SSL
UPDATE 1:
Folgendes passiert: Hier können Sie sehen, dass die Authentifizierung nach einer ersten fehlerhaften Authentifizierung anschließend erfolgreich ist:
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
UPDATE2:
Es scheint, als ob mein Server DIGEST-MD5 und CRAM-MD5 nicht zulässt und dann für bestimmte Benutzer auf PLAIN umschaltet. Auf dem lokalen Host kann ich zumindest CRAM-MD5 problemlos verwenden.
Antwort1
Das Problem, das Sie haben, ist ein Dovecot-Problem, kein Postfix.
Damit Sie verstehen, wie die Dovecote-Authentifizierung funktioniert, lesen Sie bitte Folgendes:
Sie müssen verstehen, dass Sie cram-md5 und digest-md5 verwenden können, wenn die Passwörter für Ihren Client im Klartext in der Datenbank gespeichert sind (auth_mechanisms = plain login cram-md5 digest-md5). Aber wenn das Passwort in der Datenbank verschlüsselt ist, sagen wir mit einem der in den Dovecote-Dokumenten hier erwähnten Verschlüsselungsschemata:
http://wiki2.dovecot.org/Authentication/PasswordSchemes, dann können Sie cram-md5 nicht verwenden, es sei denn, das Passwort ist bereits mit cram-md5-Hash in der Datenbank gespeichert. Das ist verwirrend, damit Sie es besser verstehen. Nehmen wir an, ich habe ein E-Mail-Konto bei Ihnen, also melde ich mich an:
E-Mail-Client ----->Passwort--->E-Mail-Server überprüft die Datenbank und ich kann mir 3 Szenarien vorstellen:
1. Szenario: Das Kennwort wird in der Datenbank im Klartext gespeichert:
E-Mail-Server – (Authentifizierungsmechanismen = einfacher Login cram-md5 digest-md5) –> Ihr Kennwortschema (keines) –> Datenbank cram-md5 (Kennwort)/oder/ digest-md5 (Kennwort)/oder/einfaches Kennwort: Das Anmeldekennwort stimmt also mit dem im Klartext gespeicherten Kennwort der Datenbank überein.2. Szenario: Das Passwort in der Datenbank wird mit SHA512-CRYPT gespeichert:
E-Mail-Server – Authentifizierungsmechanismen (einfache Anmeldung) – → E-Mail-Server – Passwort prüfen – > Standardpasswortschema = SHA512-CRYPT – SHA512-CRYPT (Passwort) – → Datenbank (BEREITS SHA512-CRYPT-Passwort) – Login-Übereinstimmung3. Szenario: Das Datenbankkennwort ist mit carm-md5 verschlüsselt:
E-Mail-Server ----> Authentifizierungsmechanismen (einfache Anmeldung cram-md5) --→ E-Mail-Server --- Kennwort prüfen --- Standardkennwortschema = cram-md5 --> cram-md5 (Kennwort) ----> Datenbank (Kennwort bereits im cram-md5-Kennwort gespeichert) – Anmeldeübereinstimmung
Sie verschlüsseln also entweder das Datenbankkennwort oder nicht und verwenden SSL/TLS und setzen auth_mechanisms=„plain login“ oder:
Wenn Sie SSL nicht verwenden möchten, setzen Sie auth_mechanisms=cram-md5 und speichern Sie das Kennwort in der Datenbank als cram-md5. Wenn Sie DIGEST-MD5 und CRAM-MD5 verwenden möchten, muss Ihr Kennwort im PLAIN_TEXT gespeichert werden. Wenn Sie
also nur CRAM-MD5 verwenden, kann das Kennwort in der Datenbank CRAM-MD5 oder Klartext sein oder wenn Sie DIGEST-MD5 und CRAM-MD5 verwenden: Das Kennwort in der Datenbank darf nur im Klartext gespeichert werden.
Unter dem nächsten Link finden Sie einige Skripte, die Ihnen dabei helfen, Ihr Passwort in der Datenbank zu verschlüsseln: http://wiki2.dovecot.org/HowTo/ConvertPasswordSchemes
Wenn Sie das Passwort als DIGEST-MD5 in der Datenbank speichern möchten, müssen Sie diese Seite lesen:http://wiki2.dovecot.org/Authentication/Mechanisms/DigestMD5
Wie Sie in unserem Chat erwähnt haben, können die in Dovecote verwendeten Auth_Mechanisms-Werte in Postfix als smtpd_pw_server_security_options=plain in main.cf verwendet werden.