DannySol
Anmeldungsdatum: 6. Dezember 2017
Beiträge: Zähle...
|
Guten morgen !
Undzwar habe ich folgendes Problem....
Momentan versuche ich einen lokalen Mailserver für das Firmen Netzwerk aufzustellen, mithilfe von Postfix und Dovecot auf einem Ubuntu 16 Server.
Eigentlich ist alles bereits Konfiguriert und ich kann mich mit einem Mailclienten auf dem Server anmelden. Beim versuch eine mail abzuschicken wird mir im Syslog jedoch folgende Meldung angezeigt .... Dec 15 08:53:31 DannySol postfix/smtps/smtpd[26474]: warning: SASL authentication failure: Password verification failed
Dec 15 08:53:31 DannySol postfix/smtps/smtpd[26474]: warning: DannySol.dvg[127.0.0.1]: SASL PLAIN authentication failed: authentication failure
Dec 15 08:53:31 DannySol postfix/smtps/smtpd[26474]: warning: DannySol.dvg[127.0.0.1]: SASL LOGIN authentication failed: authentication failure
... und die Mail wird (logischerweise) nicht abgeschickt.
Kann mir jemand helfen und einen Tipp geben was ich falsch gemacht habe oder woran es liegen könnte ? Meine postconf sieht folgendermaßen aus.... alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
broken_sasl_auth_clients = yes
home_mailbox = Maildir/
inet_interfaces = all
inet_protocols = all
mailbox_command =
mailbox_size_limit = 0
mydestination = DannySol.dvg
myhostname = DannySol.dvg
mynetworks = 127.0.0.0/8
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost =
smtp_use_tls = no
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_tls_loglevel = 4
smtpd_use_tls = no
transport_maps = hash:/etc/postfix/transport
|
JensHol
Anmeldungsdatum: 31. Oktober 2017
Beiträge: 324
|
Beim Client in den Mail Einstellungen bei smtp konfiguriert, dass eine Anmeldung erforderlich ist für smtp? Mit Nutzer und kennwort?
|
DannySol
(Themenstarter)
Anmeldungsdatum: 6. Dezember 2017
Beiträge: 23
|
Als Client wird Thunderbird genutzt, falls das eventuell wichtig ist 😀 Also unter "connection security" wurde TLS deaktiviert.
Und unter dem Punkt "authentication method" ist "password, transmitted insecurely" ausgewählt.
Weitere möglichkeiten wären :
no authentication encrypted password Kerberos / GSSAPI NTLM * OAuth2
Nutzername ist angegeben, und das Passwort stimmt auch.
|
sebix
Ehemalige
Anmeldungsdatum: 14. April 2009
Beiträge: 5582
|
DannySol schrieb: Eigentlich ist alles bereits Konfiguriert und ich kann mich mit einem Mailclienten auf dem Server anmelden. Beim versuch eine mail abzuschicken wird mir im Syslog jedoch folgende Meldung angezeigt ....
Also funktioniert IMAP/PO3, aber nicht SMTP? Wie sieht die Konfiguration von SASL und die master.cf aus? DannySol schrieb: Also unter "connection security" wurde TLS deaktiviert.
Welcher Port?
|
DannySol
(Themenstarter)
Anmeldungsdatum: 6. Dezember 2017
Beiträge: 23
|
Also funktioniert IMAP/PO3, aber nicht SMTP?
Wie genau kann ich das auf der Shell-Ebene überprüfen ?
Wie sieht die Konfiguration von SASL und die master.cf aus?
Gibt es für diese beiden config Dateien einen ähnlichen Befehl wie "postconf" ?
Welcher Port?
Port 25 Sorry für vielleicht sehr naive Fragen, bin noch relativ neu in der ganzen Sache 😀
|
sebix
Ehemalige
Anmeldungsdatum: 14. April 2009
Beiträge: 5582
|
DannySol schrieb: Also funktioniert IMAP/PO3, aber nicht SMTP?
Wie genau kann ich das auf der Shell-Ebene überprüfen ?
Im Terminal zB mit netcat -v example.com Port , mit openssl s_client -connect example.com:port fuer TLS und fuer STARTTLS noch ein -starttls smpt/imap anhanegen, siehe Manpages. Aber es reicht eigentlich fuer die Beantwortung der Frage, was nun mit Thunderbird funktioniert. Wie sieht die Konfiguration von SASL und die master.cf aus?
Gibt es für diese beiden config Dateien einen ähnlichen Befehl wie "postconf" ?
Fuer letzteres ja, siehe Manpage von postconf : postconf -M . Fuer SASL: Dort wo du es konfiguriert hast, also wohl dovecot. Welcher Port?
Port 25
Bitte verwende dafuer submission/587, wofuer du nur lokale Mails, mit Auth und STARTTLS akzeptierst. Und die Auth auf 25 und 465 abdrehen. Bevor du da selbst Mailserver aufsetzt, befasse dich bitte ausfuehrlich mit den verwendeten Protokollen, der Dokumentation und teste das in abgeschotteten Netzwerken, bevor du das auf das Internet loslaesst. Mit deinem Unwissen gefaehrdest du nicht nur dein eigenes Netzwerk.
|
DannySol
(Themenstarter)
Anmeldungsdatum: 6. Dezember 2017
Beiträge: 23
|
Bevor du da selbst Mailserver aufsetzt, befasse dich bitte ausfuehrlich mit den verwendeten Protokollen, der Dokumentation und teste das in abgeschotteten Netzwerken, bevor du das auf das Internet loslaesst. Mit deinem Unwissen gefaehrdest du nicht nur dein eigenes Netzwerk.
Na klar, deswegen das ganze auch nur lokal ! ☺
Zeigt mir folgendes an :
dknuf@dannysol:~$ netcat -v DannySol.dvg 25
Connection to DannySol.dvg 25 port [tcp/smtp] succeeded!
220 DannySol.dvg ESMTP Postfix (Ubuntu) Also scheint IMAP ja zu funktionieren richtig ? Meine master.cf sieht folgendermaßen aus :
smtp inet n - n - - smtpd -vv
smtp inet n - y - 1 postscreen
smtpd pass - - y - - smtpd -o syslog_name=postfix/smtps -o smtpd_sasl_auth_enable=yes -o smtpd_relay_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING
pickup unix n - y 60 1 pickup
cleanup unix n - y - 0 cleanup
qmgr unix n - n 300 1 qmgr
tlsmgr unix - - y 1000? 1 tlsmgr
rewrite unix - - y - - trivial-rewrite
bounce unix - - y - 0 bounce
defer unix - - y - 0 bounce
trace unix - - y - 0 bounce
verify unix - - y - 1 verify
flush unix n - y 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - y - - smtp
relay unix - - y - - smtp
showq unix n - y - - showq
error unix - - y - - error
retry unix - - y - - error
discard unix - - y - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - y - - lmtp
anvil unix - - y - 1 anvil
scache unix - - y - 1 scache
maildrop unix - n n - - pipe flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
uucp unix - n n - - pipe flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail unix - n n - - pipe flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix - n n - 2 pipe flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman unix - n n - - pipe flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user} Und die SASL-Konfiguration so :
service auth {
# auth_socket_path points to this userdb socket by default. It's typically
# used by dovecot-lda, doveadm, possibly imap process, etc. Users that have
# full permissions to this socket are able to get a list of all usernames and
# get the results of everyone's userdb lookups.
#
# The default 0666 mode allows anyone to connect to the socket, but the
# userdb lookups will succeed only if the userdb returns an "uid" field that
# matches the caller process's UID. Also if caller's uid or gid matches the
# socket's uid or gid the lookup succeeds. Anything else causes a failure.
#
# To give the caller full permissions to lookup all users, set the mode to
# something else than 0666 and Dovecot lets the kernel enforce the
# permissions (e.g. 0777 allows everyone full permissions).
unix_listener auth-userdb {
#mode = 0666
#user =
#group =
}
# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
mode = 0666
#user = postfix
#group = postix
}
|
sebix
Ehemalige
Anmeldungsdatum: 14. April 2009
Beiträge: 5582
|
DannySol schrieb: Bevor du da selbst Mailserver aufsetzt, befasse dich bitte ausfuehrlich mit den verwendeten Protokollen, der Dokumentation und teste das in abgeschotteten Netzwerken, bevor du das auf das Internet loslaesst. Mit deinem Unwissen gefaehrdest du nicht nur dein eigenes Netzwerk.
Na klar, deswegen das ganze auch nur lokal ! ☺
Zeigt mir folgendes an :
dknuf@dannysol:~$ netcat -v DannySol.dvg 25
Connection to DannySol.dvg 25 port [tcp/smtp] succeeded!
220 DannySol.dvg ESMTP Postfix (Ubuntu) Also scheint IMAP ja zu funktionieren richtig ?
Port 25 ist SMTP. Wie gesagt: Bitte befasse dich mal mit den Grundlagen, sonst wird das hier zur Farce. Meine master.cf sieht folgendermaßen aus :
smtp inet n - n - - smtpd -vv
smtp inet n - y - 1 postscreen
Zwei Eintraege fuer smtp? Ich wuerde postscreen ausserdem mal weglassen, bevor nicht alles andere funktioniert. smtpd pass - - y - - smtpd -o syslog_name=postfix/smtps -o smtpd_sasl_auth_enable=yes -o smtpd_relay_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING
Welcher Port ist denn smtpd? Aendere das bitte auf submission, uns streiche smtpd_sasl_auth_enable=yes aus der main.cf , dann gilt es nur fuer submission. Stell das dann auch so auf den clients ein.
Weiters, wuerde ich noch zumindest das dazugeben:
-o smtpd_enforce_tls=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject Und die SASL-Konfiguration so :
service auth {
# auth_socket_path points to this userdb socket by default. It's typically
# used by dovecot-lda, doveadm, possibly imap process, etc. Users that have
# full permissions to this socket are able to get a list of all usernames and
# get the results of everyone's userdb lookups.
#
# The default 0666 mode allows anyone to connect to the socket, but the
# userdb lookups will succeed only if the userdb returns an "uid" field that
# matches the caller process's UID. Also if caller's uid or gid matches the
# socket's uid or gid the lookup succeeds. Anything else causes a failure.
#
# To give the caller full permissions to lookup all users, set the mode to
# something else than 0666 and Dovecot lets the kernel enforce the
# permissions (e.g. 0777 allows everyone full permissions).
unix_listener auth-userdb {
#mode = 0666
#user =
#group =
}
# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
mode = 0666
#user = postfix
#group = postix
}
Da fehlt zumindest eine abschliessende Klammer } . Beim unix_listener wuerde ich noch den mode auf 0660 setzten, sowie den Nutzer und die Gruppe auf postfix.
|
DannySol
(Themenstarter)
Anmeldungsdatum: 6. Dezember 2017
Beiträge: 23
|
Sooo, den Port habe ich geändert auf 587: root@DannySol:~# netcat -v DannySol.dvg 587
Connection to DannySol.dvg 587 port [tcp/submission] succeeded!
220 DannySol.dvg ESMTP Postfix (Ubuntu)
Der zweite SMTP Eintrag, sowie postscreen sind auch entfernt.
smtpd_sasl_auth_enable=yes
Ist auch aus der Mainconfig auskommentiert, und die SASL-config ist auch angepasst worden. Die Mails gehen jedoch immernoch nicht raus, und Syslog zeigt mir die selbe Fehlermeldung an wie zuvor....
Dec 15 11:13:41 DannySol postfix/smtps/smtpd[27147]: connect from DannySol.dvg[127.0.0.1]
Dec 15 11:13:42 DannySol postfix/smtps/smtpd[27147]: warning: SASL authentication failure: Password verification failed
Dec 15 11:13:42 DannySol postfix/smtps/smtpd[27147]: warning: DannySol.dvg[127.0.0.1]: SASL PLAIN authentication failed: authentication failure
Dec 15 11:13:42 DannySol postfix/smtps/smtpd[27147]: warning: DannySol.dvg[127.0.0.1]: SASL LOGIN authentication failed: authentication failure
|
sebix
Ehemalige
Anmeldungsdatum: 14. April 2009
Beiträge: 5582
|
DannySol schrieb: Die Mails gehen jedoch immernoch nicht raus, und Syslog zeigt mir die selbe Fehlermeldung an wie zuvor....
Wir haben daran auch nichts geaendert. Aber es ist immer noch unklar, ob nun die Authentfizierung ueber IMAP/POP3 nun funktioniert oder nicht.
|
DannySol
(Themenstarter)
Anmeldungsdatum: 6. Dezember 2017
Beiträge: 23
|
root@dannySol:~# telnet DannySol.dvg 143
Trying 127.0.0.1...
Connected to DannySol.dvg.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN] Dovecot ready. Stimmt dass so ?
|
sebix
Ehemalige
Anmeldungsdatum: 14. April 2009
Beiträge: 5582
|
DannySol schrieb: root@dannySol:~# telnet DannySol.dvg 143
Trying 127.0.0.1...
Connected to DannySol.dvg.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN] Dovecot ready. Stimmt dass so ?
Auth wird angeboten, ja. Aber probier sie mal aus.
EDIT: Und ich wuerde Auth nur fuer TLS/STARTTLS erlauben.
|
DannySol
(Themenstarter)
Anmeldungsdatum: 6. Dezember 2017
Beiträge: 23
|
root@DannySol:~# telnet DannySol.dvg 143
Trying 127.0.0.1...
Connected to DannySol.dvg.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN] Dovecot ready.
a login dknuf *****
a OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SPECIAL-USE] Logged in
b select inbox
* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted.
* 0 EXISTS
* 0 RECENT
* OK [UIDVALIDITY 1511359315] UIDs valid
* OK [UIDNEXT 29] Predicted next UID
* OK [HIGHESTMODSEQ 52] Highest
b OK [READ-WRITE] Select completed (0.000 + 0.000 secs).
c list ""*
* LIST (\HasNoChildren \Sent) "." Sent
* LIST (\HasNoChildren \Trash) "." Trash
* LIST (\HasNoChildren \Drafts) "." Drafts
* LIST (\HasNoChildren) "." Templates
* LIST (\HasNoChildren) "." INBOX
c OK List completed (0.000 + 0.000 secs).
1 SELECT INBOX
* OK [CLOSED] Previous mailbox closed.
* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted.
* 0 EXISTS
* 0 RECENT
* OK [UIDVALIDITY 1511359315] UIDs valid
* OK [UIDNEXT 29] Predicted next UID
* OK [HIGHESTMODSEQ 52] Highest
1 OK [READ-WRITE] Select completed (0.000 + 0.000 secs).
d lsub ""*
* LSUB (\Trash) "." Trash
* LSUB (\Sent) "." Sent
* LSUB (\Drafts) "." Drafts
d OK Lsub completed (0.000 + 0.000 secs).
e logout
* BYE Logging out
e OK Logout completed. Der Test lief ohne Fehler durch. root@DannySol:~# doveadm auth -Flush/lookup/test authentication data
usage: doveadm [-Dv] [-f <formatter>] auth <command> [<args>]
cache flush
login [-a <auth-login socket path>] [-m <auth-master socket path>] [-x <auth info>] [-M <master user>] <user> [<password>]
lookup [-a <userdb socket path>] [-x <auth info>] [-f field] <user> [...]
test [-a <auth socket path>] [-x <auth info>] [-M <master user>] <user> [<password>] Mir ist klar dass der Befehl "doveadm auth" einige Authentifizierungen testet, aber was genau spuckt er mir da aus ?
|
sebix
Ehemalige
Anmeldungsdatum: 14. April 2009
Beiträge: 5582
|
DannySol schrieb: root@DannySol:~# telnet DannySol.dvg 143
Trying 127.0.0.1...
Connected to DannySol.dvg.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN] Dovecot ready.
a login dknuf *****
a OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SPECIAL-USE] Logged in
b select inbox
* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted.
* 0 EXISTS
* 0 RECENT
* OK [UIDVALIDITY 1511359315] UIDs valid
* OK [UIDNEXT 29] Predicted next UID
* OK [HIGHESTMODSEQ 52] Highest
b OK [READ-WRITE] Select completed (0.000 + 0.000 secs).
c list ""*
* LIST (\HasNoChildren \Sent) "." Sent
* LIST (\HasNoChildren \Trash) "." Trash
* LIST (\HasNoChildren \Drafts) "." Drafts
* LIST (\HasNoChildren) "." Templates
* LIST (\HasNoChildren) "." INBOX
c OK List completed (0.000 + 0.000 secs).
1 SELECT INBOX
* OK [CLOSED] Previous mailbox closed.
* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted.
* 0 EXISTS
* 0 RECENT
* OK [UIDVALIDITY 1511359315] UIDs valid
* OK [UIDNEXT 29] Predicted next UID
* OK [HIGHESTMODSEQ 52] Highest
1 OK [READ-WRITE] Select completed (0.000 + 0.000 secs).
d lsub ""*
* LSUB (\Trash) "." Trash
* LSUB (\Sent) "." Sent
* LSUB (\Drafts) "." Drafts
d OK Lsub completed (0.000 + 0.000 secs).
e logout
* BYE Logging out
e OK Logout completed. Der Test lief ohne Fehler durch.
Ok, das klappt. Kannst du das gleiche noch fuer postfix probieren? http://www.postfix.org/SASL_README.html#server_test root@DannySol:~# doveadm auth -Flush/lookup/test authentication data
usage: doveadm [-Dv] [-f <formatter>] auth <command> [<args>]
cache flush
login [-a <auth-login socket path>] [-m <auth-master socket path>] [-x <auth info>] [-M <master user>] <user> [<password>]
lookup [-a <userdb socket path>] [-x <auth info>] [-f field] <user> [...]
test [-a <auth socket path>] [-x <auth info>] [-M <master user>] <user> [<password>] Mir ist klar dass der Befehl "doveadm auth" einige Authentifizierungen testet, aber was genau spuckt er mir da aus ?
Einen Fehler, weil er sich mit deinen Parameter nicht auskennt. Aber wenn du es eh schon mit telnet getestet hast, ist das wurscht.
|
DannySol
(Themenstarter)
Anmeldungsdatum: 6. Dezember 2017
Beiträge: 23
|
Sorry da ist mir ein Fehler unterlaufen !
Ich habe überlesen dass ich den "Dovecot-Test" von einem anderen Computer ausführen soll.
Dann schaut das ganze schon nicht mehr so rosig aus.... :
dknuf@senefelder1404:~$ telnet 192.168.2.138 143
Trying 192.168.2.138...
Connected to 192.168.2.138.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LOGINDISABLED] Dovecot ready.
a login dknuf *****
* BAD [ALERT] Plaintext authentication not allowed without SSL/TLS, but your client did it anyway. If anyone was listening, the password was exposed.
a NO [PRIVACYREQUIRED] Plaintext authentication disallowed on non-secure (SSL/TLS) connections.
* BYE Disconnected for inactivity.
Connection closed by foreign host.
|