PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Postfix und SMTP AUTH



z0ny
29.06.03, 19:34
Ich habe wirklich schon jede mögliche Ecke dieses Forums durchsucht und mir alle Tutorials durchgelesen, die ich finden konnte, jedoch konnte mir keiner helfen. Ich habe einen dedizierten Server mit Redhat Linux 8 und möchte dort eine Mailumgebung (Mailversand und -empfang via SMTP/POP3 über Mail-Konten) einrichten. Als MTA habe ich mich für Postfix entschieden. Absichern wollte ich das ganze mit SMTP AUTH, da ich nicht umbedingt Systemuser anlegen will, habe ich mich noch für die SASL Datenbank entschieden (in der smtpd.conf ist auch sasldb als Methode eingetragen!), wie es diverse Tutorials empfohlen haben.

Postfix habe ich installiert und konfiguriert - es funktioniert auch soweit, wenn ich meine IP in mynetworks eintrage, kann ich (ohne SMTP AUTH) Mails senden. Nun habe ich einen User in der SASL Datenbank angelegt:


user: zony realm: joker mech: DIGEST-MD5
user: zony realm: joker mech: PLAIN
user: zony realm: joker mech: CRAM-MD5

Schließlich habe ich folgende Zeilen zur main.cf hinzugefügt:


broken_sasl_auth_clients = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = joker
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination

Nur leider fragt mich Outlook ständig nach einem Passwort, wenn ich eine Mail versenden will. Als AUTH-Methoden werden LOGIN, PLAIN, DIGEST-MD5 und CRAM-MD5 angeboten, afaik nutzt Outlook ja LOGIN - was soweit passen würde. Woran kann das liegen? Ach ja, die Zugriffsrechte auf die /etc/sasldb müssten auch richtig sein. Welche alternative User-Datenbank könnte ich verwenden? Es sollen auch ankommende Mails in den Postfächern der User gespeichert werden (logisch oder? ;)). Um POP3 wollte ich mich danach kümmern. Danke schon mal.

z0ny

lonF
29.06.03, 21:56
Hallo allerseits,

ich habe auch gerade nen Mailserver aufgesetzt(allerdings noch ohne smtp auth).
Unter

www.tuxhausen.de habe ich eine recht gute Anleitung gefunden.

Vielleicht hilft Dir das ja.

MfG lonF

z0ny
30.06.03, 08:52
Ich hatte unter anderem auch die Anleitung von tuxhausen zur Hilfe. Hat aber nicht viel gebracht. Trotzdem danke.

z0ny

alias_maya
30.06.03, 17:52
Hi,

Bei Redhat läuft der smtpd-Prozess defaultmäßig chrooted,
was grundsätzlich auch ganz gut so ist,
allerdings kann der Prozess aus diesem chroot heraus nicht auf die
sasldb in /etc zugreifen.
Dieses Verhalten kannst du in postfix's master.cf umstellen.
Zusätzlich solltest du zum Testen everyone Leserechte auf die sasldb geben.

lg, Peter

z0ny
01.07.03, 18:34
Perfekt, das wars tatsächlich. Habe nun chroot für den smtpd deaktiviert, die Datei /etc/sasldb hatte ich bereits auf chmod 600 für postfix.postdrop. Dann gehen wir mal das Speichern ankommender Mails und die Sache mit POP3 an. ;) Danke nochmals!

z0ny

z0ny
01.07.03, 19:17
Sieht so aus als gäbe es doch noch ein Problem. Wenn ich SASL User anlege, kriegen die ja kein Postfach, also ist es vielleicht doch am sinnvollsten (bzw. schnellsten für die Verwaltung später), Systemuser ohne Home und Shell anzulegen!? Dabei tritt aber wieder ein AUTH-Problem auf. Ich habe in der smtpd.conf die Methode auf pam gestellt (oder sollte ich dafür shadow/pwcheck benutzen? Wobei sich mir dann die Frage der korrekten Berechtigung der /etc/shadow stellt...) und 'smtpd_sasl_local_domain' auskommentiert. Jedoch ist das einzige, was ich in den Logs zu sehen bekomme ein 'SASL LOGIN authentication failed'. Woran liegt das nun wieder? Danke.

z0ny

alias_maya
02.07.03, 16:16
Hi,

die systemuser authentifiziert man am besten über den saslauthd,
das ist ein Deamon, welcher als Authentication-Proxy arbeitet.
Wenn Du über PAM authentifiziert, muss der smtpd als root laufen,
um die /etc/shadow zu lesen.

lg, Peter

z0ny
02.07.03, 19:09
Ich hänge leider immernoch daran, das darf doch nicht wahr sein. Was muss in der smtpd.conf denn für eine Methode drinstehen, wenn ich den SASLAuthd verwenden will? Ich habe folgendes versucht (mit dem Ergebnis aus der maillog darunter):


pwcheck_method: saslauthd
warning: SASL authentication problem: unrecognized plaintext verifier saslauthd

pwcheck_method: saslauthd -a pam
warning: SASL authentication problem: unrecognized plaintext verifier saslauthd -a pam

pwcheck_method: saslauthd -a shadow
warning: SASL authentication problem: unrecognized plaintext verifier saslauthd -a shadow

Auf der Konsole hingegen:


# saslauthd
saslauthd: no authentication mechanism specified
# saslauthd -a pam
# saslauthd -a shadow
#

Das kann doch nicht so schwierig sein, User auf Systembasis zu authentifizieren (auch Outlook als Client) ... :confused:

z0ny

alias_maya
02.07.03, 22:47
Hi,

nur um sicherzugehen:
Du hast den saslauthd doch gestartet ?
(service saslauthd start)
In der smtpd.conf sollte ein pwcheck_method:saslauthd reichen.

lg,

z0ny
03.07.03, 16:34
Ja sicher, der ist gestartet und läuft auch (kein Fehler).

z0ny

z0ny
03.07.03, 16:52
Vielleicht noch ein paar Informationen. Hier erstmal der Ablauf:


# > maillog
# cat maillog
# service postfix start
Starting postfix: [ OK ]
# service saslauthd start
saslauthd starten: [ OK ]
# cat /usr/lib/sasl/smtpd.conf
pwcheck_method: saslauthd
<Hier erfolgt nun der Connect über Outlook!>
# cat maillog
Jul 3 16:42:27 linux postfix/postfix-script: warning: /var/spool/postfix/etc/localtime and /etc/localtime differ
Jul 3 16:42:27 linux postfix/postfix-script: starting the Postfix mail system
Jul 3 16:42:28 linux postfix/master[10885]: daemon started
Jul 3 16:45:33 linux postfix/smtpd[10912]: connect from myhost[myip]
Jul 3 16:45:33 linux postfix/smtpd[10912]: warning: SASL authentication problem: unrecognized plaintext verifier saslauthd
Jul 3 16:45:33 linux postfix/smtpd[10912]: warning: myhost[myip]: SASL LOGIN authentication failed
Jul 3 16:45:38 linux postfix/smtpd[10912]: disconnect from myhost[myip]
#

Dann meine master.cf:


# cat /etc/postfix/master.cf | grep '^[^#]'
smtp inet n - n - - smtpd
pickup fifo n - y 60 1 pickup
cleanup unix n - y - 0 cleanup
qmgr fifo n - y 300 1 nqmgr
rewrite unix - - y - - trivial-rewrite
bounce unix - - y - 0 bounce
defer unix - - y - 0 bounce
flush unix n - y 1000? 0 flush
smtp unix - - y - - smtp
showq unix n - y - - showq
error unix - - y - - error
local unix - n n - - local
virtual unix - n y - - virtual
lmtp unix - - y - - lmtp
cyrus unix - n n - - pipe
flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail.postfix ($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=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient

Und meine main.cf:


# cat /etc/postfix/main.cf | grep '^[^#]'
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mail_owner = postfix
myhostname = server.domain1.de
mydomain = domain2.de
myorigin = $mydomain
inet_interfaces = all
mydestination = mail.$mydomain localhost.$mydomain $mydomain
mynetworks_style = host
mynetworks = 127.0.0.1 1.1.1.1 // (<- die Server IP)
relay_domains = $mydestination
alias_maps = hash:/etc/postfix/aliases

debug_peer_level = 2
debugger_command =
PATH=/usr/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-1.1.11/samples
readme_directory = /usr/share/doc/postfix-1.1.11/README_FILES
alias_database = hash:/etc/postfix/aliases
broken_sasl_auth_clients = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination

Vielleicht hilft das weiter.

z0ny

thegrinch
04.07.03, 03:02
hi!
versuche gerade smtp auth auf meinem debian hinzukriegen.
benutze auch postfix.
jetzt mal ne frage:
nach ca 1000 howtos und tuts, und ca 10 mal so vielen mailinglisten-posts,
ist mir klar geworden, dass ich keinen plan habe, wo ich mittels apt die cyrus-sasl bibliothek herbekommen soll. es läuft bis jetzt doch alles so toll bei mir. wenn ich jetzt anfange, alles selbst neu zu komilieren, geht hinter nix mehr! ICH WEISS ES!

Also, mein anliegen ähnelt dem hier diskutierten:

unix user (keine shell, werden momentan als mail-user für den qpoopper verwendet) sollen sich mit ihrem login und passwort am postfix anmelden und danach lustig über meinen postfix relayen können. die betreffenden user sind alle mitglied einer gruppe "popper".

Jetzt war in diesem thread oefters die rede von diesem saslauthd-deamon. sagt mir zu, diese idee. beim nachvollziehen der posts hier viel mir nur leider auf, das ich weder einen saslauthd noch eine sasluserdb, noch eine smtpd.conf hab.
daraus schliesse ich, das mir ein wichtiges programmpaket fehlt.

NUR WELCHES???

hier mal ein auszug aus einem # apt-cache search sasl:



# apt-cache search sasl
gq - GTK-based LDAP client
gsasl - GNU SASL commandline utility
libauthen-sasl-cyrus-perl - Perl extension for Cyrus SASL library
libgsasl1 - GNU SASL library
libgsasl1-dev - Development files for the GNU SASL library
libsasl-dev - Development files for authentication abstraction library.
libsasl-digestmd5-plain - DIGEST-MD5 module for SASL
libsasl-gssapi-mit - Pluggable Authentication Modules for SASL - MIT GSSAPI
libsasl-krb4-mit - Pluggable Authentication Modules for SASL - MIT Kerberos4
libsasl-modules-plain - Basic Pluggable Authentication Modules for SASL
libsasl2 - Authentication abstraction library
libsasl2-dev - Development files for authentication abstraction library
libsasl2-gssapi-mit - GSSAPI module for SASL using MIT Kerberos
libsasl2-krb4-mit - Kerberos4 module for SASL using MIT Kerberos
libsasl2-modules - Pluggable Authentication Modules for SASL
libsasl2-modules-gssapi-heimdal - Pluggable Authentication Modules for SASL
libsasl2-modules-kerberos-heimdal - Pluggable Authentication Modules for SASL
libsasl7 - Authentication abstraction library.
postfix - A high-performance mail transport agent
postfix-tls - TLS and SASL support for Postfix snapshots
sasl-bin - Programs for manipulating the SASL users database
sasl2-bin - Programs for manupulating the SASL users database
sendmail - A powerful, efficient, and scalable Mail Transport Agent.
sfront - MPEG 4 Structured Audio decoder.


BITTE HELF' MIR JEMAND, BIN AM VERZWEIFELN!

Vielen Dank im Voraus an alle

euer grinch

z0ny
08.07.03, 20:12
alias_maya, keine Idee mehr? Oder sonst jemand? :rolleyes:

z0ny

alias_maya
09.07.03, 09:59
Hallo,

war ne' Zeitlang außer Landes...
Hab momentan leider auch keine Idee,
wo der Haken liegt.

lg, Peter

z0ny
14.07.03, 18:15
Das kann doch nicht sein, dass keiner eine Idee hat? :eek: Hier hat doch bestimmt jeder zweite einen MTA, wie habt ihr es denn gemacht?

z0ny