in einer mehrstündigen Aktion habe ich es mit Hilfe von Monty geschafft mein postfix samt sasl bzw smtp auth zum laufen zu bringen.
Also als erstes mal. Das was in den Tutorials steht ist total veraltet.
Um nicht durch vorher gemachte Fehler behindert zu werden haben wir als erstes mal alle Pakete deinstalliert.
Also erst alle dienste stoppen. je nach dem, was installiert ist, kann das anders aussehen:
Code: Select all
/etc/init.d/postfix stop
/etc/init.d/saslauthd stop
/etc/init.d/pwcheck stop
wie gesagt pwcheck ist eher bei sasl installationen und saslauthd bei sasl2 insallationen!
dazu schauen wir uns am besten zunächst folgendes an:
Dabei sollte eine Liste rauskommen, die in etwa so aussieht:
ema-hosting:/# dpkg -l *sasl*
Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Säubern/Halten
| Status=Nicht/Installiert/Config/U=Entpackt/Fehlgeschl. Konf./Halb install.
|/ Fehler?=(keiner)/Halten/R=Neuinst. notw/X=beides (Status, Fehler: GROÃ?=schlecht)
||/ Name Version Beschreibung
+++-=================================-=================================-==================================================================================
un libsasl-bin <keine> (keine Beschreibung vorhanden)
un libsasl-digestmd5-des <keine> (keine Beschreibung vorhanden)
un libsasl-digestmd5-plain <keine> (keine Beschreibung vorhanden)
un libsasl-gssapi-heimdal <keine> (keine Beschreibung vorhanden)
pn libsasl-gssapi-mit <keine> (keine Beschreibung vorhanden)
un libsasl-modules <keine> (keine Beschreibung vorhanden)
un libsasl-modules-krb5 <keine> (keine Beschreibung vorhanden)
un libsasl-modules-nonus <keine> (keine Beschreibung vorhanden)
pn libsasl-modules-plain <keine> (keine Beschreibung vorhanden)
ii libsasl2 2.1.19-1.5 Authentication abstraction library
un libsasl2-digestmd5-plain <keine> (keine Beschreibung vorhanden)
un libsasl2-gssapi-mit <keine> (keine Beschreibung vorhanden)
un libsasl2-krb4-mit <keine> (keine Beschreibung vorhanden)
ii libsasl2-modules 2.1.19-1.5 Pluggable Authentication Modules for SASL
un libsasl2-modules-plain <keine> (keine Beschreibung vorhanden)
pn libsasl7 <keine> (keine Beschreibung vorhanden)
pn sasl-bin <keine> (keine Beschreibung vorhanden)
ii sasl2-bin 2.1.19-1.5 Programs for manipulating the SASL users database
ema-hosting:/# dpkg -l *postfix*
Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Säubern/Halten
| Status=Nicht/Installiert/Config/U=Entpackt/Fehlgeschl. Konf./Halb install.
|/ Fehler?=(keiner)/Halten/R=Neuinst. notw/X=beides (Status, Fehler: GROÃ?=schlecht)
||/ Name Version Beschreibung
+++-=================================-=================================-==================================================================================
ii postfix 2.1.5-9 A high-performance mail transport agent
un postfix-doc <keine> (keine Beschreibung vorhanden)
un postfix-ldap <keine> (keine Beschreibung vorhanden)
un postfix-mysql <keine> (keine Beschreibung vorhanden)
un postfix-pcre <keine> (keine Beschreibung vorhanden)
un postfix-pgsql <keine> (keine Beschreibung vorhanden)
un postfix-snap-tls <keine> (keine Beschreibung vorhanden)
ii postfix-tls 2.1.5-9 TLS and SASL support for Postfix
ema-hosting:/#
Egal ob es so aussieht oder nicht. Als erstes bitte mal alle angegebenen installierten Pakete deinstallieren!
Welche Pakete installiert sind sieht man an dem "ii" am Anfang einer jeden Zeile.
Deinstallieren geht wie folgt:
Wir können auch alle zusammen deinstallieren:
(Beispiel:)
Code: Select all
apt-get remove libsasl2 libsasl2-modules sasl2-bin postfix postfix-tls
Aber wie gesagt. Es sollen die Pakete deinstalliert werden, welche installiert sind und nicht, welche ich als Beispiel gezeigt habe.
nach dem das passiert ist können wir auch schon damit beginnen, es wieder zu installieren.
Wir fangen mit postfix an:
Dazu benötigen wir die Pakete "postfix" und "postfix-tls". Letzteres is für wichtig, damit postfix mit SASL kommunizieren kann.
Code: Select all
apt-get install postfix postfix-tls
Danach koennen wir auch gleich SASL installieren. Wir nutzen allerddings sasl2!
Code: Select all
apt-get install libsasl2 libsasl2-modules sasl2-bin
So. Jetzt ist alles installiert. Kommen wir zur Konfiguration.
In dieser Datei ist irhgendwo folgende Zeile zu finden:
smtp inet n - - - - smtpd
Diese ersetzt Ihr nun durch diese hier:
smtp inet n - n - - smtpd -o smtpd_sasl_auth_enable=yes
#
Datei speichern ^^
So als nächstes die Datei main.cf
Ich weiss nicht eure ganze postfix Konfiguration, da möchte ich nun auch nicht drauf eingehen. Also erwähne ich nur mal eben die für SASL wichtigen Operatoren!
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, reject
mynetworks = 127.0.0.0/8
Das sollte es gewesen sein. Je nach dem, wie Ihr euren Mailserver betreibt könnten diese Einstellungen ein wenig variieren.
Weiter gehts...
pwcheck_method:saslauthd
mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5
Als nächstes berechtigen wir postfix mit sasl zu "reden"
Dazu öffnen wir die Datei /etc/groups und tragen postfix in die sasl gruppe ein.
sasl:*:45:
wird zu
sasl:*:45:postfix
nächstes File:
Sollte so aussehen. Wenn nicht ... anpassen!
START=yes
MECHANISMS="pam"
Weiter ....
wir wechseln mal ins Verzeichnis /etc/pam.d
Dort ist zum einen die Datei "smtp"
und zum anderen eine Datei eures POP3 servers! Bei mir ist das Qpopper!
Die Datei heisst also qpopper! Solltet Ihr auch Qpopper nutzen öffnet diese Datei und schaut sie euch mal an. Bei anderen pop3-deamons öffnet ihr halt die entsprechende Datei!
auth required pam_unix_auth.so shadow
account required pam_unix_acct.so
Solle so aussehen.
Dann öffnet Ihr die Datei smtp
Sollte die datei smtp jetzt davon abweichen
gleicht ihr die datei smtp an!
am besten erstellen wir dazu ein backup der "smtp" und kopieren die qpopper als neue smtp!
Code: Select all
mv /etc/pam.d/smtp /etc/pam.d/smtp.orig
cp /etc/pam.d/qpopper /etc/pam.d/smtp
nun können wir die deamons wieder starten:
Code: Select all
/etc/init.d/saslauthd start
/etc/init.d/postfix start
Nun sollte soweit alles funktionieren... Aber Ihr wisst ja wie es ist.. Es klappt nie wie es soll:p
Also...
So könnt Ihr mal schauen ob euer sasl richtig arbeitet:
am besten dazu eine zweite console auf machen... und...
und evtl. eine dritte
Dann könnt ihr LIVE sehen, was passiert, wenn ihr versucht eine mail zu senden!