Was bewirkt smtpd_sasl_local_domain bei Postfix?
Hallo LeserIn, mir ist die Anwendung/Bedeutung von smtpd_sasl_local_domain (leider) nicht klar und vermute, dass mein nicht funktionierendes SMTP AUTH (im Log steht: warning: SASL authentication failure: can only find author/en (no password)) mit der falschen Verwendung zusammen hängt. Bei der Installation habe ich die domain "intern" mezera.xx benannt, nach aussen wird postfix für mezera.at zuständig sein. Ich denke aus dieser "Mixtur" habe ich mir ein oder mehrere Probleme generiert. Für geeignete Tipps dankbar! Liebe Grüße aus Wien, Heinz -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Heinz Mezera wrote:
Hallo LeserIn,
mir ist die Anwendung/Bedeutung von smtpd_sasl_local_domain (leider) nicht klar und vermute, dass mein nicht funktionierendes SMTP AUTH (im Log steht: warning: SASL authentication failure: can only find author/en (no password)) mit der falschen Verwendung zusammen hängt.
Bei der Installation habe ich die domain "intern" mezera.xx benannt, nach aussen wird postfix für mezera.at zuständig sein. Ich denke aus dieser "Mixtur" habe ich mir ein oder mehrere Probleme generiert.
smtpd_sasl_local_domain legt den Domainteil des Anmeldenamens bei smtp auth fest. Wenn du also nur den Usernamen abfragst, dann muss "smtpd_sasl_local_domain = " gesetzt werden, also leer. Ansonsten halt der Wert für die Domain, die du in deiner Datenbank angegeben hast. Falls du über PAM authentifizierst und die Domain in $mydestination ist, dann sollte es leer sein und nur der Username verwendet werden. -- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Sandy, danke für die Erklärung. Ich habe diesen "Abschnitt" im Postfix-Buch mehrmals gelesen und dennoch nicht wirklich verstanden, wie das mit dem realm ist. Am Mittwoch, 25. April 2007 16:20 schrieb Sandy Drobic:
Heinz Mezera wrote:
Hallo LeserIn,
mir ist die Anwendung/Bedeutung von smtpd_sasl_local_domain (leider) nicht klar und vermute, dass mein nicht funktionierendes SMTP AUTH (im Log steht: warning: SASL authentication failure: can only find author/en (no password)) mit der falschen Verwendung zusammen hängt.
Bei der Installation habe ich die domain "intern" mezera.xx benannt, nach aussen wird postfix für mezera.at zuständig sein. Ich denke aus dieser "Mixtur" habe ich mir ein oder mehrere Probleme generiert.
smtpd_sasl_local_domain legt den Domainteil des Anmeldenamens bei smtp auth fest. Wenn du also nur den Usernamen abfragst, dann muss "smtpd_sasl_local_domain = " gesetzt werden, also leer. Ansonsten halt der Wert für die Domain, die du in deiner Datenbank angegeben hast.
Falls du über PAM authentifizierst und die Domain in $mydestination ist, dann sollte es leer sein und nur der Username verwendet werden.
Nachdem ich alle mir sinnvoll erscheinenden Varianten versucht hatte, hab ich schlußendlich smtpd_sasl_local_domain auskommentiert. Ich verwende übrigens PAM. Irgendwie klappts aber immer noch nicht "mit dem Nachbarn" :-( Deshalb ein Auszug aus /var/log/mail, kannst du den Fehler "erkennen", was mache ich flasch? Apr 26 08:59:54 hmserver postfix/smtpd[4168]: > N932P003.dipool.highway.telekom.at[212.183.126.99]: 250-PIPELINING Apr 26 08:59:54 hmserver postfix/smtpd[4168]: > N932P003.dipool.highway.telekom.at[212.183.126.99]: 250-SIZE 10240000 Apr 26 08:59:54 hmserver postfix/smtpd[4168]: > N932P003.dipool.highway.telekom.at[212.183.126.99]: 250-VRFY Apr 26 08:59:54 hmserver postfix/smtpd[4168]: > N932P003.dipool.highway.telekom.at[212.183.126.99]: 250-ETRN Apr 26 08:59:54 hmserver postfix/smtpd[4168]: > N932P003.dipool.highway.telekom.at[212.183.126.99]: 250-STARTTLS Apr 26 08:59:54 hmserver postfix/smtpd[4168]: > N932P003.dipool.highway.telekom.at[212.183.126.99]: 250-AUTH LOGIN PLAIN Apr 26 08:59:54 hmserver postfix/smtpd[4168]: match_list_match: N932P003.dipool.highway.telekom.at: no match Apr 26 08:59:54 hmserver postfix/smtpd[4168]: match_list_match: 212.183.126.99: no match Apr 26 08:59:54 hmserver postfix/smtpd[4168]: > N932P003.dipool.highway.telekom.at[212.183.126.99]: 250-AUTH=LOGIN PLAIN Apr 26 08:59:54 hmserver postfix/smtpd[4168]: > N932P003.dipool.highway.telekom.at[212.183.126.99]: 250-ENHANCEDSTATUSCODES Apr 26 08:59:54 hmserver postfix/smtpd[4168]: > N932P003.dipool.highway.telekom.at[212.183.126.99]: 250-8BITMIME Apr 26 08:59:54 hmserver postfix/smtpd[4168]: > N932P003.dipool.highway.telekom.at[212.183.126.99]: 250 DSN Apr 26 09:00:38 hmserver postfix/smtpd[4168]: < N932P003.dipool.highway.telekom.at[212.183.126.99]: AUTH PLAIN aG10dXgAa(Rest gelöscht) Apr 26 09:00:38 hmserver postfix/smtpd[4168]: xsasl_cyrus_server_first: sasl_method PLAIN, init_response aG10dXgAa(Rest gelöscht) Apr 26 09:00:38 hmserver postfix/smtpd[4168]: xsasl_cyrus_server_first: decoded initial response hm(gelöscht) Apr 26 09:00:38 hmserver postfix/smtpd[4168]: warning: SASL authentication failure: Can only find author/en (no password) Apr 26 09:00:38 hmserver postfix/smtpd[4168]: warning: N932P003.dipool.highway.telekom.at[212.183.126.99]: SASL PLAIN authentication failed: bad protocol / cancel Apr 26 09:00:38 hmserver postfix/smtpd[4168]: > N932P003.dipool.highway.telekom.at[212.183.126.99]: 535 5.7.0 Error: authentication failed: bad protocol / cancel Apr 26 09:00:50 hmserver postfix/smtpd[4168]: < N932P003.dipool.highway.telekom.at[212.183.126.99]: quit
-- Sandy
Schönen Tag und liebe Grüße aus Wien, Heinz -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Heinz Mezera wrote:
Falls du über PAM authentifizierst und die Domain in $mydestination ist, dann sollte es leer sein und nur der Username verwendet werden.
Nachdem ich alle mir sinnvoll erscheinenden Varianten versucht hatte, hab ich schlußendlich smtpd_sasl_local_domain auskommentiert. Ich verwende übrigens PAM.
Der Default ist IHMO leer.
Irgendwie klappts aber immer noch nicht "mit dem Nachbarn" :-( Deshalb ein Auszug aus /var/log/mail, kannst du den Fehler "erkennen", was mache ich flasch?
Apr 26 08:59:54 hmserver postfix/smtpd[4168]: > N932P003.dipool.highway.telekom.at[212.183.126.99]: 250-AUTH LOGIN PLAIN
Server bietet als auth mechanismen login und plain an.
Apr 26 08:59:54 hmserver postfix/smtpd[4168]: > N932P003.dipool.highway.telekom.at[212.183.126.99]: 250-AUTH=LOGIN PLAIN
Du hast "broken_sasl_auth_clients = yes" gesetzt.
Apr 26 09:00:38 hmserver postfix/smtpd[4168]: xsasl_cyrus_server_first: sasl_method PLAIN, init_response aG10dXgAa(Rest gelöscht) Apr 26 09:00:38 hmserver postfix/smtpd[4168]: xsasl_cyrus_server_first: decoded initial response hm(gelöscht) Apr 26 09:00:38 hmserver postfix/smtpd[4168]: warning: SASL authentication failure: Can only find author/en (no password) Apr 26 09:00:38 hmserver postfix/smtpd[4168]: warning:
Viel kann ich daraus leider nicht sehen. Nur, dass der Server auth anbietet, der Client versucht, mit plain zu authentifizieren, aber die Authentifikation nicht funktioniert. Hast du mal versucht, über Telnet die Authentifikation vorzunehmen? -- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Sandy, Am Donnerstag, 26. April 2007 11:00 schrieb Sandy Drobic:
Heinz Mezera wrote:
Falls du über PAM authentifizierst und die Domain in $mydestination ist, dann sollte es leer sein und nur der Username verwendet werden.
Nachdem ich alle mir sinnvoll erscheinenden Varianten versucht hatte, hab ich schlußendlich smtpd_sasl_local_domain auskommentiert. Ich verwende übrigens PAM.
Der Default ist IHMO leer.
was meinst du mit default (hier)?
Irgendwie klappts aber immer noch nicht "mit dem Nachbarn" :-( Deshalb ein Auszug aus /var/log/mail, kannst du den Fehler "erkennen", was mache ich flasch?
Apr 26 08:59:54 hmserver postfix/smtpd[4168]: > N932P003.dipool.highway.telekom.at[212.183.126.99]: 250-AUTH LOGIN PLAIN
Server bietet als auth mechanismen login und plain an.
Korrekt, so ist es gedacht. TSL kommt im nächsten Schritt, sobald AUTH läuft.
Apr 26 08:59:54 hmserver postfix/smtpd[4168]: > N932P003.dipool.highway.telekom.at[212.183.126.99]: 250-AUTH=LOGIN PLAIN
Du hast "broken_sasl_auth_clients = yes" gesetzt.
Ja, gibt auch M$ clients, die zugreifen.
Apr 26 09:00:38 hmserver postfix/smtpd[4168]: xsasl_cyrus_server_first: sasl_method PLAIN, init_response aG10dXgAa(Rest gelöscht) Apr 26 09:00:38 hmserver postfix/smtpd[4168]: xsasl_cyrus_server_first: decoded initial response hm(gelöscht) Apr 26 09:00:38 hmserver postfix/smtpd[4168]: warning: SASL authentication failure: Can only find author/en (no password) Apr 26 09:00:38 hmserver postfix/smtpd[4168]: warning:
Viel kann ich daraus leider nicht sehen. Nur, dass der Server auth anbietet, der Client versucht, mit plain zu authentifizieren, aber die Authentifikation nicht funktioniert.
Hast du mal versucht, über Telnet die Authentifikation vorzunehmen?
Der Log-Ausschnitt stammt aus einer Telnet session eines mittels Modem bei der Telekom Austria eingewählten Win XP clients. Was brauchst du noch am Informationen bzw. Unterlagen?
-- Sandy
LG Heinz -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Heinz Mezera wrote:
Hallo Sandy,
Am Donnerstag, 26. April 2007 11:00 schrieb Sandy Drobic:
Heinz Mezera wrote:
Falls du über PAM authentifizierst und die Domain in $mydestination ist, dann sollte es leer sein und nur der Username verwendet werden. Nachdem ich alle mir sinnvoll erscheinenden Varianten versucht hatte, hab ich schlußendlich smtpd_sasl_local_domain auskommentiert. Ich verwende übrigens PAM. Der Default ist IHMO leer.
was meinst du mit default (hier)?
# postconf -d smtpd_sasl_local_domain smtpd_sasl_local_domain = Das hier. (^-^)
Apr 26 09:00:38 hmserver postfix/smtpd[4168]: xsasl_cyrus_server_first: sasl_method PLAIN, init_response aG10dXgAa(Rest gelöscht) Apr 26 09:00:38 hmserver postfix/smtpd[4168]: xsasl_cyrus_server_first: decoded initial response hm(gelöscht) Apr 26 09:00:38 hmserver postfix/smtpd[4168]: warning: SASL authentication failure: Can only find author/en (no password) Apr 26 09:00:38 hmserver postfix/smtpd[4168]: warning: Viel kann ich daraus leider nicht sehen. Nur, dass der Server auth anbietet, der Client versucht, mit plain zu authentifizieren, aber die Authentifikation nicht funktioniert.
Hast du mal versucht, über Telnet die Authentifikation vorzunehmen?
Der Log-Ausschnitt stammt aus einer Telnet session eines mittels Modem bei der Telekom Austria eingewählten Win XP clients. Was brauchst du noch am Informationen bzw. Unterlagen?
Ich würde mal überprüfen, ob du wirklich die richtigen auth Phrasen verwendet hast. Die Meldung "Can only find author/en (no password)" deutet darauf hin, dass die Phrase falsch ist und das Passwort nicht mit enthalten ist. Bei LOGIN wird username und Passwort getrennt encodiert, bei PLAIN ist das ganze in einem Rutsch. Dieses kleine Perlscript erzeugt die notwendige Auth Phrase aus username und Passwort. Die Anwendung ist, glaube ich, selbsterklärend. (^-^) --------------------------- #!/usr/bin/perl use strict; use MIME::Base64; if ( $#ARGV != 1 ) { die "Usage: encode_sasl_plain.pl <username> <password>\n"; } print encode_base64("$ARGV[0]\0$ARGV[0]\0$ARGV[1]"); exit 0; --------------------------- Versuche es mal damit: telnet server 25 ehlo clientname.example.tld auth plain <auth-phrase> Die Auth-phrase erzeugst du mit dem Perlscript von oben. Funktioniert das jetzt? -- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Sandy, danke für das Script. Ich habe es gestern Nachmittag bereits über google grooups bei einer deiner Antworten gefunden. Ergebnis siehe unten. Am Donnerstag, 26. April 2007 19:38 schrieb Sandy Drobic:
Heinz Mezera wrote:
Hallo Sandy,
Am Donnerstag, 26. April 2007 11:00 schrieb Sandy Drobic:
Heinz Mezera wrote: <...>
Apr 26 09:00:38 hmserver postfix/smtpd[4168]: xsasl_cyrus_server_first: sasl_method PLAIN, init_response aG10dXgAa(Rest gelöscht) Apr 26 09:00:38 hmserver postfix/smtpd[4168]: xsasl_cyrus_server_first: decoded initial response hm(gelöscht) Apr 26 09:00:38 hmserver postfix/smtpd[4168]: warning: SASL authentication failure: Can only find author/en (no password) Apr 26 09:00:38 hmserver postfix/smtpd[4168]: warning:
<...> Ich würde mal überprüfen, ob du wirklich die richtigen auth Phrasen verwendet hast. Die Meldung "Can only find author/en (no password)" deutet darauf hin, dass die Phrase falsch ist und das Passwort nicht mit enthalten ist. Bei LOGIN wird username und Passwort getrennt encodiert, bei PLAIN ist das ganze in einem Rutsch.
Dieses kleine Perlscript erzeugt die notwendige Auth Phrase aus username und Passwort. Die Anwendung ist, glaube ich, selbsterklärend. (^-^)
--------------------------- #!/usr/bin/perl use strict; use MIME::Base64; if ( $#ARGV != 1 ) { die "Usage: encode_sasl_plain.pl <username> <password>\n"; } print encode_base64("$ARGV[0]\0$ARGV[0]\0$ARGV[1]"); exit 0;
Das zuerst überraschende Ergebnis war, dass dein Script und das Kommando aus dem Postfix-Buch (perl -MMIME::Base64 -e ...) unterschiedliche Ergebnisse liefern. Ich war verblüfft und habe mich gefragt, wie es so was gibt. Die Erklärung ist mir dann bald eingefallen. Mein Passwort war rein numerisch und wird beim Kommado falsch "interpretiert" (z.B. user\0user\01234567). Ich habe mit deinem Script den base64-kodierten String erzeugt und der klappte auch in der telnet session. Da ich alles von "aussen" testete, konnte ich mein Passwort erst jetzt ändern und werde dann weiter testen. Ich gehe aber schon jetzt davon aus, dass es nun funktionieren wird. Übrigens, den "gleichen" encoding Fehkler macht auch das Wüstenreittier. Gibts für KMail eine Adresse, an dich mein finding melden kann? ---------------------------
Versuche es mal damit:
telnet server 25 ehlo clientname.example.tld auth plain <auth-phrase>
Die Auth-phrase erzeugst du mit dem Perlscript von oben.
Funktioniert das jetzt?
Ja, siehe einige Zeilen oberhalb. Werde mich dann an TLS versuchen, mal sehen was ich da wieder für Fehler mache. Bevor die Kiste nicht so läuft, wie ich es mir vorstelle und mit Tests abzusichern versuche, geht die nicht ans Netz.
-- Sandy
Liebe Grüße aus Wien, Heinz -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Heinz Mezera wrote:
Hallo Sandy,
danke für das Script. Ich habe es gestern Nachmittag bereits über google grooups bei einer deiner Antworten gefunden. Ergebnis siehe unten.
Yepp, ich sehe die Mailinglisten auch als eine Wissensfundgrube.
Dieses kleine Perlscript erzeugt die notwendige Auth Phrase aus username und Passwort. Die Anwendung ist, glaube ich, selbsterklärend. (^-^)
--------------------------- #!/usr/bin/perl use strict; use MIME::Base64; if ( $#ARGV != 1 ) { die "Usage: encode_sasl_plain.pl <username> <password>\n"; } print encode_base64("$ARGV[0]\0$ARGV[0]\0$ARGV[1]"); exit 0;
Das zuerst überraschende Ergebnis war, dass dein Script und das Kommando aus dem Postfix-Buch (perl -MMIME::Base64 -e ...) unterschiedliche Ergebnisse liefern. Ich war verblüfft und habe mich gefragt, wie es so was gibt. Die Erklärung ist mir dann bald eingefallen. Mein Passwort war rein numerisch und wird beim Kommado falsch "interpretiert" (z.B. user\0user\01234567). Ich habe mit deinem Script den base64-kodierten String erzeugt und der klappte auch in der telnet session. Da ich alles
Sehr schön. Ich habe auch schon einige andere Passwörter gesehen, die Probleme machen, wenn etwa Sonderzeichen wie '"/\@ und ähnliche Zeichen in dem Passwort enthalten sind.
von "aussen" testete, konnte ich mein Passwort erst jetzt ändern und werde dann weiter testen. Ich gehe aber schon jetzt davon aus, dass es nun funktionieren wird. Übrigens, den "gleichen" encoding Fehkler macht auch das Wüstenreittier. Gibts für KMail eine Adresse, an dich mein finding melden kann?
---------------------------
Versuche es mal damit:
telnet server 25 ehlo clientname.example.tld auth plain <auth-phrase>
Die Auth-phrase erzeugst du mit dem Perlscript von oben.
Funktioniert das jetzt?
Ja, siehe einige Zeilen oberhalb. Werde mich dann an TLS versuchen, mal sehen was ich da wieder für Fehler mache.
Eines nach dem anderen, dann kommt schon alles zusammen.
Bevor die Kiste nicht so läuft, wie ich es mir vorstelle und mit Tests abzusichern versuche, geht die nicht ans Netz.
Sehr gut, ich wünschte, dieses Vorgehen wäre Pflicht, dann müsste ich mich mit erheblich weniger Spam herumschlagen. -- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (2)
-
Heinz Mezera
-
Sandy Drobic