Archiv verlassen und diese Seite im Standarddesign anzeigen : sasl_auth bei Postfix funzt nicht
Hallo, habe folgends Problem:
Bei Postfix habe ich in der Main.cf die Einträge nach folgendem HowTo vorgenommen, http://www.pl-berichte.de/berichte/postfix-smtp-auth.html#ToC15
cyrus-sasl ist auch installiert. trotzdem kann ich mich noch per telnet localhost 25 auf den server verbinden, ohne dass eine passwort authentifizierung erfolgen muss. Woran kann das liegen? möchte postfix gerne so eintellen, dass ohne passwortabfrage keine smtp Verbindung möglich ist.
kannst Du Dich auf den Server verbinden UND ein ehlo absetzen?
Was steht denn unter smtpd_recipient_restrictions?
Normalerweise siehts so aus:
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
Gruss...
Hallo, habe folgends Problem:
Bei Postfix habe ich in der Main.cf die Einträge nach folgendem HowTo vorgenommen, http://www.pl-berichte.de/berichte/postfix-smtp-auth.html#ToC15
cyrus-sasl ist auch installiert. trotzdem kann ich mich noch per telnet localhost 25 auf den server verbinden, ohne dass eine passwort authentifizierung erfolgen muss. Woran kann das liegen? möchte postfix gerne so eintellen, dass ohne passwortabfrage keine smtp Verbindung möglich ist.
Bitte Deine main.cf ohne Kommentare posten
Danke für die Antwort!
Also Ich kann per telnet auf den Server und ein ehlo (helo) absetzen.
Eingestellt habe ich in der main.cf:
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,
permit_mynetworks, reject_unauth_destination
check_relay_domains
Trotzdem kommt keine Passwortabfrage...
Muss nochwas eingestellt werden, cyrus.config o.ä.
Hier die vollständige main.cf:
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mail_owner = postfix
myhostname = mail.intranet.local
myorigin = $myhostname
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain
unknown_local_recipient_reject_code = 450
mynetworks_style = host
alias_maps = hash:/etc/postfix/aliases
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.0.16/samples
readme_directory = /usr/share/doc/postfix-2.0.16/README_FILES
alias_database = hash:/etc/postfix/aliases
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,
permit_mynetworks, reject_unauth_destination
check_relay_domains
Terran Marine
27.05.04, 12:21
D
Trotzdem kommt keine Passwortabfrage...
Kannst du per telnet Mails schicken ?
Von wo aus machst du den Telnet Zugriff ? (Welcher Rechner)
Gruß
Terran
ja ich kann per telnet mails verschicken, zugriff erfolgt vom selben rechner auf dem postfix installiert ist also per:
telnet localhost 25
ehlo mail.intranet.local
mail from: root@intranet.local
rcpt to: user@intranet.local
data
subject: test
testmail
.
quit
Terran Marine
27.05.04, 12:28
ja ich kann per telnet mails verschicken, zugriff erfolgt vom selben rechner auf dem postfix installiert ist also per:
Ok, dann ists klar :
smtpd_recipient_restrictions = permit_sasl_authenticated,
permit_mynetworks, reject_unauth_destination
permit_mynetworks erlaubt allen Clients im Netzwerk, und damit auch der Maschine selbst das Senden.
Teste es von einem anderem Rechner aus (der nicht im mynetworks-Subnetz ist)
Ok, dann ists klar :
smtpd_recipient_restrictions = permit_sasl_authenticated,
permit_mynetworks, reject_unauth_destination
permit_mynetworks erlaubt allen Clients im Netzwerk, und damit auch der Maschine selbst das Senden.
Teste es von einem anderem Rechner aus (der nicht im mynetworks-Subnetz ist)
Tja senden soll ja auch erlaubt sein, allerdings erst, nachdem ein Passwort zur Authentifizierung eingegeben wurde, jedenfalls wollte ich es so haben. Jeder Client im selben Subnetz wie der Mailserver soll Mails darüber verschicken dürfen, relay soll auch erlaubt sein, allerdings soll der Mailserver erst die smtp-Verbindung zulassen, wenn der client mit passwort angemeldet wurde. wie mache ich das?
Terran Marine
27.05.04, 21:25
Tja senden soll ja auch erlaubt sein, allerdings erst, nachdem ein Passwort zur Authentifizierung eingegeben wurde, jedenfalls wollte ich es so haben. Jeder Client im selben Subnetz wie der Mailserver soll Mails darüber verschicken dürfen, relay soll auch erlaubt sein, allerdings soll der Mailserver erst die smtp-Verbindung zulassen, wenn der client mit passwort angemeldet wurde. wie mache ich das?
permit mynetworks rausnehmen und per Mail-Client testen ob es klappt (Kmail, Mozilla, Outlook)
danke, relayt der dann auch noch? na ich werds testen....
Terran Marine
27.05.04, 22:02
danke, relayt der dann auch noch? na ich werds testen....
Clients die in den smtpd_recipient_restrictions "permitted" werden, dürfen relayen.
Ist ja der Sinn von permit_sasl_authenticated.
Gruß
Terran
ja schon klar, aber die passwortabfrage soll auch bei diesen permitted clients kommen, kommt aber nicht...
Terran Marine
27.05.04, 22:08
ja schon klar, aber die passwortabfrage soll auch bei diesen permitted clients kommen, kommt aber nicht...
Du musst bei den Clients einstellen, das sie sich authentifizieren sollen,
Haste permit_mynetworks rausgenommen ?
wenn die clients sich nicht authenifizieren, dann soll die verbindung verweigert werden. permit_mynetworks nehme ich mal raus, aber ich fürchte, dass es dann probleme mit dem relayen geben könnte...
Danke jedenfalls für die Hilfe, ich habe jetzt einen Ansatz! :)
jo, ohne permit_mynetworks nimmt er keine Mails mehr ohne Passwort an, jedoch relayt er auch nicht mehr, wenn ich permit_mynetworks wieder einstelle.
Na ich werde am wochenende mal ausgiebig weitertesten. Danke jedenfalls schon mal für die Tips!
ich kriege sasl einfach nicht zum laufen, jetzt habe ich schon den usereintrag in die sasldb gemacht aber wenn ich dann beim Versenden das Kennwort eingebe, kommt die Meldung, bad syntax, das kennwort falsch...
Was muss ich denn noch einstellen?
Hier meine Postfix main.cf:
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mail_owner = postfix
default_privs = nobody
myhostname = mail.intranet.local
mydomain = intranet.local
myorigin = $myhostname
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain $mydomain
unknown_local_recipient_reject_code = 450
mynetworks = 192.168.1.0/24, 127.0.0.0/8
relay_domains = $mydestination
relayhost = [mail.gmx.net]
alias_maps = hash:/etc/postfix/aliases
mail_spool_directory = /var/spool/mail
mailbox_command = /usr/bin/procmail -Y -a $Domain
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.0.16/samples
readme_directory = /usr/share/doc/postfix-2.0.16/README_FILES
alias_database = hash:/etc/postfix/aliases
smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/access
smtpd_recipient_restrictions = permit_sasl_authenthicated, permit_mynetworks, reject_unauth_destination, check_relay_domains
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
broken_sasl_auth_clients = yes
masquerade_exceptions = root
masquerade_domains = gmx.net
Hast Du
sasl_pwcheck_method: auxprop
in der /etc/imapd.conf?
Gruss...
Terran Marine
29.05.04, 21:53
Hast Du
sasl_pwcheck_method: auxprop
in der /etc/imapd.conf?
Afaik ist die imapd.conf die Konf. für einen IMAP-Server und nicht für postfix.
Auf welche Authentifizierung ist denn der saslauthd eingestellt ?
Gruß
Terran
jo, da muss ich Terran Marine recht geben, es geht mir hier nicht um die Authentifizierung zum Mailabholen sondern zum Mailversand (imap-Server ist bei mir eh nicht installiert, sondern nur pop3 server aber egal...).
unter /usr/lib/sasl2/smtpd.conf habe ich folgendes eingetragen:
pwcheck_method: saslauthd
Der saslauthd wird automatisch bei jedem systemstart mitgestartet.
ausserdem habe ich noch folgenden Befehl ausgeführt:
saslpasswd -a smtpd -c user
und das Kommando sasldblistusers gibt mir folgendes aus:
user: user realm: maschine mech: CRAM-MD5
user: user realm: maschine mech: DIGEST-MD5
user: user realm: maschine mech: PLAIN
sieht doch soweit alles richtig aus oder? Leider habe ich kein howto gefunden, das erklärt, wo man den saslauthd konfigurieren muss.
Wie habt ihr das hingekriegt?
habe es jetzt hingekriegt. der trick war, dass ich bisher mit saslpasswd statt mit saslpasswd2 gearbeitet habe. hier für alle nochmal die lösung:
unter /usr/lib/sasl2/smtpd.conf folgendes eintragen:
pwcheck_method: saslauthd
mech_list: plain login
dann user anlegen und password vergeben mit:
saslpasswd2 -c user
in der postfix main cf muss folgendes stehen:
#sender, recipient restrictions
#
smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/access
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, check_relay_domains
#saslauth configuration
#
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =
smtp_sasl_password_maps = hash:/etc/sasldb2
broken_sasl_auth_clients = yes
so, unter Fedora Core 1 funzt es wie oben beschrieben, allerdings unter mandrake 9.1 ist die Datei smtpd.conf gar nicht vorhanden obwohl cyrus-sasl installiert ist und der saslauthd sich starten lässt. Trotzdem meckert Postfix, dass er kein saslauth finden kann.
der Befehl saslpasswd -c user bringt auch die Fehlermeldung: "generischer Fehler" nachdem man das Passwort für den user 2x eingegben hat.
Weiss jemand eine Methode um saslauth unter JEDER Linux-Distri zu laufen zu bringen? Danke!
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.