Mailserver Dovecot + Postfix / -Admin-Authentifizierung fehlgeschlagen

607
Cyberpunk7711

jeder. Ich habe in einigen Tagen nach dem Fehler gesucht ..

Wenn ich mein Webmail über Imap / Smtp mit meinem E-Mail-Server verbinden möchte, habe ich folgende Fehlermeldung erhalten: "Authentifizierung fehlgeschlagen". Wenn Sie weitere Informationen benötigen, fragen Sie bitte nach. Kannst du mein Konfigurationsproblem finden?

Mit freundlichen Grüßen.

Fehlermeldung:

Nov 19 19:00:43 mail dovecot: imap-login: Aborted login (no auth attempts in 0 secs): user=<>, rip=145.eineip, lip=188nocheineip, session=<mSW4Swh71NCR/idK> Nov 19 19:01:03 mail dovecot: imap-login: Disconnected (auth failed, 3 attempts in 14 secs): user=<test>, method=PLAIN, rip=145.eineip, lip=188.eineip, session=<omsPTAh71tCR/idK> Nov 19 19:01:29 mail dovecot: imap-login: Disconnected (auth failed, 3 attempts in 26 secs): user=<test@domain.eu>, method=PLAIN, rip=145.weitereip, lip=188.nochip, session=<wq7fTAh719CR/idK> 

Dovecot-Konfiguration:

###Dovecot service ################## service imap-login { inet_listener imap { port = 143 } inet_listener imaps { port = 993 ssl = yes } }  # Change this to where your mail root is, this needs to match whatever structure postfix expects.... # See also: https://wiki.dovecot.org/MailLocation - %d domain, %u full username, %n user part (%u with no domain) mail_location = maildir:/var/mail/vmail/%u/  namespace inbox { inbox = yes location =  mailbox Drafts { special_use = \Drafts } mailbox Junk { special_use = \Junk } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { special_use = \Trash } prefix =  }  protocols = "imap pop3" # change to 'no' if you don't have ssl cert/keys, and comment out ssl_cert/ssl_key ssl = no #ssl_cert = </etc/letsencrypt/live/mail.domain.eu/cert.pem #ssl_key = </etc/letsencrypt/live/mail.domain.eu/privkey.pem  # login is for outlook express smtpd auth auth_mechanisms = plain login  # If you're having trouble, try uncommenting these : #auth_debug = yes #auth_debug_passwords = yes  userdb {  driver = sql args = /etc/dovecot/dovecot-sql.conf  }  passdb {  driver = sql args = /etc/dovecot/dovecot-sql.conf  }  # Uncomment this if you want Postfix to be able to do smtpd auth through dovecot # At a minimum Postfix probably needs : smtpd_sasl_type = dovecot  # And additionally: smtpd_sasl_path = private/auth service auth { unix_listener /var/spool/postfix/private/auth { mode = 0660 user = postfix group = postfix } }  # Needs to match Postfix virtual_uid_maps first_valid_uid = 1001   # allow plaintext auth (change to 'yes' to block plaintext passwords) disable_plaintext_auth = no 

Postfix-Konfiguration:

# See /usr/share/postfix/main.cf.dist for a commented, more complete version   # Debian specific: Specifying a file name will cause the first # line of that file to be used as the name. The Debian default # is /etc/mailname. #myorigin = /etc/mailname  smtpd_banner = $domain ESMTP $mail_name (Ubuntu) biff = no  # appending .domain is the MUA's job. append_dot_mydomain = no  # Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h  readme_directory = no  # See http://www.postfix.org/COMPATIBILITY_README.html -- default to 2 on # fresh installs. compatibility_level = 2  # TLS parameters #smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem #smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key smtpd_use_tls=no #smtpd_tls_session_cache_database = btree:$/smtpd_scache #smtp_tls_session_cache_database = btree:$/smtp_scache  # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for # information on enabling SSL in the smtp client.  smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination myhostname = mail alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = mail.domain.eu, localhost.domain.eu, localhost relayhost =  mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.0.0/24 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all inet_protocols = all  ####### virtual_mailbox_domains = proxy:mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cf virtual_alias_maps = proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf virtual_mailbox_maps = proxy:mysql:/etc/postfix/sql/mysql_virtual_mailbox_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf # if you let postfix store your mails directly (without using maildrop, dovecot deliver etc.) #virtual_mailbox_base = /var/mail/vmail # Additional for quota support virtual_create_maildirsize = yes virtual_mailbox_extended = yes #virtual_mailbox_limit_maps = proxy:mysql:/etc/postfix /sql/mysql_virtual_mailbox_limit_maps.cf virtual_mailbox_limit_override = yes virtual_maildir_limit_message = Sorry, the user's maildir has overdrawn his diskspace quota, please try again later. virtual_overquota_bounce = yes 

Dovecot SQL

connect = host=localhost dbname=name user=name password=psw # Use either  driver = mysql # Or  # driver = pgsql  # Default password scheme - change to match your Postfixadmin setting. # depends on your $CONF['encrypt'] setting: # md5crypt -> MD5-CRYPT # md5 -> PLAIN-MD5 # cleartext -> PLAIN default_pass_scheme = MD5-CRYPT  # Query to retrieve password. user can be used to retrieve username in other # formats also.  password_query = SELECT username AS user,password FROM mailbox WHERE username = '%u' AND active='1'  # Query to retrieve user information, note uid matches dovecot.conf AND Postfix virtual_uid_maps parameter. user_query = SELECT maildir, 1001 AS uid, 1001 AS gid FROM mailbox WHERE username = '%u' AND active='1'   # MYSQL : user_query = SELECT CONCAT('/var/mail/vmail/', maildir) AS home, 1001 AS uid, 1001 AS gid, CONCAT('*:bytes=', quota) AS quota_rule FROM mailbox WHERE username = '%u' AND active='1' # PostgreSQL : (no Quota though) : # user_query = SELECT '/var/vmail/mail/' || maildir AS home, 1001 as uid, 1001 as gid FROM mailbox WHERE username = '%u' AND active = '1' 
0

1 Antwort auf die Frage

0
davidgo

Ein paar Dinge - Ihre Fähigkeit, sich bei Webmail anzumelden, hat nichts mit Postfix oder SMTP zu tun (dies kann für das Senden von E-Mails relevant sein, sonst nichts).

Sie scheinen zu vermuten, dass Webmail die IMAP-Authentifizierung verwendet (was eine vernünftige, aber nicht garantierte Annahme ist). Sie sollten IMAP zum Laufen bringen und mit einem regulären E-Mail-Client wie Thunderbird oder Outlook überprüfen. (Oder verwenden Sie Telnet- und IMAP-Befehle, aber das ist ziemlich fortgeschritten), um die IMAP-Funktionen zu überprüfen.

Ihre aktuelle Dovecot-Konfiguration scheint nur eine SQL-Datenbank zur Authentifizierung von Benutzern zu verwenden. Sie müssen dieses Verhalten entweder ändern oder den Administrator der SQL-Datenbank hinzufügen. (Sie können dieses Verhalten sehen, da der Treiber, der den Benutzer und das Kennwort in der Konfiguration überprüft, SQL ist). Sie haben die SQL-Konfigurationsdatei / etc / dovecot / dovecot-sql.conf nicht bereitgestellt, aber diese Datei sollte Ihnen mitteilen, welche Datenbank und Felder verwendet werden müssen.

Alternativ können Sie den Treiber so ändern, dass er die Systemdatenbank verwendet (siehe https://wiki.dovecot.org/PasswordDatabase/PAM ). Beachten Sie, dass dies die Sicherheit Ihres Systems beeinträchtigen kann. Sie müssen auch Ihre Konfiguration ändern, damit der Klartext-Autor diese Funktion ausführen kann.

Hallo. Vielen Dank für Ihre Antwort. in meiner frage kannst du meine sql conf sehen. Ich habe bereits einen Datenbankbenutzer. Ist es möglich, dass Dovecot nicht in die Datenbank schaut? Cyberpunk7711 vor 5 Jahren 0
Oben in Ihrer Dovecot-SQL-Datei befindet sich eine Zeile "connect = host = localhost dbname = name user = name password = psw" - Wenn diese Zeile nicht mit den von der Datenbank benötigten Verbindungsdetails übereinstimmt, authentifiziert sich Dovecot nicht. Wenn die Details des Benutzers in der Datenbank nicht übereinstimmen, schlägt dies ebenfalls fehl. Ich beobachte auch, dass (a) Sie über 2 user_query -Anweisungen verfügen, Sie sollten die falsche auskommentieren und (b) für Ihre Abfrageanweisung "active = 1" erforderlich ist. Stellen Sie also sicher, dass dies für den Benutzer in der Datenbank der Fall ist. .. davidgo vor 5 Jahren 0
Um dies weiter zu debuggen, würde ich die Abfrageprotokollierung in MySQL einschalten und sehen, was darauf ankommt. Ein Blick auf die MySQL-Protokolle sollte Aufschluss über Verbindungsfehler geben. Wenn Sie sich die Abfrageprotokollierung ansehen (und die Abfragen reproduzieren), erhalten Sie eine gute Vorstellung davon, wo der Fehler auftritt und warum. davidgo vor 5 Jahren 0
Ein weiterer Aspekt ist die Art und Weise, wie das Passwort in der Datenbank verschlüsselt wird. Sie haben ein default_pass_scheme von MD5-CRYPT. Laut https://wiki.dovecot.org/Authentication/PasswordSchemes muss das verschlüsselte Kennwort $ 1 $ beginnen. Wenn dies nicht der Fall ist, gehe ich davon aus, dass es nicht funktioniert. Möglicherweise haben Sie mehr Flexibilität, wenn Sie MD5-CRYPT in CRYPT ändern. davidgo vor 5 Jahren 0
Entschuldigung, dass ich deine Zeit vergeude. Die Zeile ist normalerweise mit meinem Passwort etc. gefüllt, aber ich möchte das nicht mit anderen teilen: DI habe beide Arten von user_query ausprobiert, aber ich bekomme jedes Mal den gleichen Fehler. Ist es möglich, dass user_query oder user_password falsch ist? Ich kann über das Web eine gute Lösung finden. Ich habe auch am Ende "aktiv = 1". Ich habe auch MD5-CRYPT in CRYPT geändert. Wenn ich $ 1 $ CRYPT verwende, bekam ich einen Fehler. Ich habe auch mein SQL-Debugging aktiviert. aber ich habe nur diese fehler: Cyberpunk7711 vor 5 Jahren 0
E-Mail-Server ist am Anfang sehr kompliziert ... 20.11.47.41 mail dovecot: imap-login: Getrennt (keine Auth-Versuche in 0 Sekunden): user = <>, rip = IP, lip = IP gesichert, Sitzung = 20. Nov. 22:47:51 Mail-Postfix / smtpd [30386]: Verbindung von mail.domain.eu [IP] Cyberpunk7711 vor 5 Jahren 0
20. November 22:47:51 mail postfix / smtpd [30386]: Verbindung nach EHLO von mail.domain.eu [1IP] unterbrochen 20. November 22:47:51 mail postfix / smtpd [30386]: Verbindung von mail.domain.eu trennen [IP] ehlo = 1 Befehle = 1 Nov 20 22:47:56 E-Mail-Nachricht: imap-login: Verbindung getrennt (auth fehlgeschlagen, 1 Versuche in 2 Sekunden): user =, method = PLAIN, rip = 188.IP, Lippe = IP, gesichert, Sitzung = Cyberpunk7711 vor 5 Jahren 0
Da das Problem wahrscheinlich zwischen Dovecot und MySQL liegt, müssen Sie das Debugging für MySQL aktivieren. Sie möchten (a) sehen, ob MySQL Verbindungen von Dovecot zulässt, und ob dies funktioniert (b), welche Abfragen MySQL anzeigt. Sobald Sie die Abfragen kennen, können Sie sie erneut abspielen und sehen, ob Sie die erwarteten Ergebnisse erhalten. davidgo vor 5 Jahren 0