Howto: Debian 3.0, Postfix, SMTP_AUTH via PAM ...

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
jayc
Posts: 87
Joined: 2002-11-26 23:07
Location: Karlsruhe

Howto: Debian 3.0, Postfix, SMTP_AUTH via PAM ...

Post by jayc » 2003-01-16 23:59

Hallo liebe Rooties,

nach langem hin und her habe ich es endlich geschafft, meinem Mailserver (Postfix) SMTP_AUTH via PAM beizubringen. :lol:

Mein Vorteil:
Ich benötige keine "/etc/sasldb". Für die über Confixx angelegten Mailaccounts sind keine weiteren Konfigurationen erforderlich.

Der Kompromiss:
Ich habe Postfix so konfiguriert, dass dieser nun nichtmehr in einer chroot-Umgebung läuft.

Meine Fragen:
- welche "Scheunentore" habe ich dadurch evtl. geöffnet?
- läuft Postfix auf anderen Distris (z.B. SuSE) per default überhaupt in einer chroot-Umgebung?
Last edited by jayc on 2003-01-18 01:12, edited 1 time in total.

Anonymous

Re: Howto: Debian 3.0, Postfix, SMTP_AUTH via PAM ...

Post by Anonymous » 2003-01-17 15:22

8O Hi, ja dann sag doch mal wie ... lechz ... :roll:

patrickwolf
Posts: 15
Joined: 2002-09-04 14:37

Re: Howto: Debian 3.0, Postfix, SMTP_AUTH via PAM ...

Post by patrickwolf » 2003-01-17 15:51

Hallo,

würde mich auch sehr interessieren :lol:

jayc
Posts: 87
Joined: 2002-11-26 23:07
Location: Karlsruhe

Re: Howto: Debian 3.0, Postfix, SMTP_AUTH via PAM ...

Post by jayc » 2003-01-17 16:02

dann werde ich mich mal am WE dran machen einen kleinen Entwurf für ein Howto zu machen... :lol:

Wobei mich schon interessieren würde wies nun mit der Sicherheit (bzgl. chroot) aussieht...

patrickwolf
Posts: 15
Joined: 2002-09-04 14:37

Re: Howto: Debian 3.0, Postfix, SMTP_AUTH via PAM ...

Post by patrickwolf » 2003-01-17 17:11

Das wäre sehr nett,

ich kann Dir ja dann noch helfen das HOWTO zuschreiben (wenn ich es selbst hinbekommen habe :-D )...

- Das mit der Sicherheit interessiert mich allerdings auch noch etwas genauer :!: :?: :!:

User avatar
nyxus
RSAC
Posts: 697
Joined: 2002-09-13 08:41
Location: Lübeck

Re: Howto: Debian 3.0, Postfix, SMTP_AUTH via PAM ...

Post by nyxus » 2003-01-17 22:40

Postfix läuft fast überall ohne chroot. Und mit SASL wird es auch nur shwer zu schaffen sein, steht sogar im Readme.


Gruß, Nyx

jayc
Posts: 87
Joined: 2002-11-26 23:07
Location: Karlsruhe

Re: Howto: Debian 3.0, Postfix, SMTP_AUTH via PAM ...

Post by jayc » 2003-01-18 01:06

Ich habe mal einen ersten "Entwurf" bzgl. eines Howtos zusammengestellt.
Ich bitte um Feedback...
Gruß,
Jay

***********************************************************

SMTP_AUTH mit Postfix unter Debian (auf einem 1&1 Rootserver)
Voraussetzung ist die erfolgreiche Installation von Debian 3.0 gemäß Lordy´s Howto.

Als erstes müssen wir die erforderlichen Pakete installieren. Am einfachsten geht das mit apt-get:

Code: Select all

apt-get install postfix postfix-tls qpopper sasl-bin libsasl-modules-plain libsasl2 libsasl-gssapi-mit libsasl-digestmd5-des
Es wird automatisch exim entfernt. Bitte die nötigen Abhängigkeiten auflösen.

Im Anschluss wird eine erste Konfiguration von Postfix vorgenommen.

Code: Select all

General type of configuration: Internet Site
Mail name: deinedomain.tld
Append .domain to simple addesses: <No>
Other destinations to accept mail for?: <Vorgabe einfach übernehmen>
Where should mail for root go: NONE
Danach ist es bereits möglich, via POP3 Mails vom Server abzuholen.

Als nächstes benötigen wir ein par weitere Einträge in der Datei /etc/postfix/main.cf:

Code: Select all

echo 'mydomain = deinedomain.tld' >> /etc/postfix/main.cf
echo 'smtpd_sasl_local_domain = $myhostname' >> /etc/postfix/main.cf
echo 'smtpd_sasl_auth_enable = yes' >> /etc/postfix/main.cf
echo 'amtpd_sasl_security_options = noanonymous' >> /etc/postfix/main.cf
echo 'broken_sasl_auth_clients = yes' >> /etc/postfix/main.cf
echo 'smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, check_relay_domains' >> /etc/postfix/main.cf
Nun müssen wir in der Datei /etc/postfix/master.cf die Zeile:

Code: Select all

# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (50)
# ==========================================================================
smtp      inet  n       -       -       -       -       smtpd
wie folgt ändern:

Code: Select all

# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (50)
# ==========================================================================
smtp      inet  n       -       n       -       -       smtpd
Außerdem muss der User postfix noch Mitglied der Gruppe shadow werden. Hierzu muss /etc/group wie folgt geändert werden:

Code: Select all

shadow:x:42:postfix
Wir benötigen paradoxerweise eine sasldb, obwohl nicht über diese authentifiziert wird. Also genrieren wir einfach einen Dummy-Eintrag:

Code: Select all

echo geheim | saslpasswd -p -c dummy
Nun legen wir fest, dass die Authentifizierung via PAM erfolgen soll:

Code: Select all

echo 'pwcheck_method: PAM' > /etc/postfix/sasl/smtpd.conf
Danach erstellen wir noch folgende Datei:

Code: Select all

echo '#%PAM-1.0' > /etc/pam.d/smtp
echo 'auth       required     unix_auth.so' >> /etc/pam.d/smtp
echo 'account    required     unix_acct.so' >> /etc/pam.d/smtp
Nun müssen wir noch folgende Links anlegen:

Code: Select all

ln -s /lib/security/pam_unix.so /lib/security/unix_auth.so
ln -s /lib/security/pam_unix.so /lib/security/unix_acct.so
Damit die Ã?nderungen aktiv werden, muß Postfix natürlich noch neu gestartet werden:

Code: Select all

/etc/init.de/postfix restart

User avatar
nyxus
RSAC
Posts: 697
Joined: 2002-09-13 08:41
Location: Lübeck

Re: Howto: Debian 3.0, Postfix, SMTP_AUTH via PAM ...

Post by nyxus » 2003-01-18 11:54

folgende Ã?nderungen würde ich machen:
apt-get install postfix postfix-tls qpopper
postfix wird automatisch mitinstalliert, muß also nicht extra aufgeführt werden.
qpopper ist natürlich Geschmackssache, ich habe courier-pop-ssl, courier-imap-ssl und courier-imap (dieses nur für Squirrelmail von localhost aus) genommen.
Als nächstes benötigen wir ein par weitere Einträge in der Datei /etc/postfix/main.cf:
diese Ã?nderungen über postconf vornehmen, dann ist egal was in der main.cf schon drinsteht (bei der ersten Konfiguration zwar egal, aber irgendwie "sauberer").
Außerdem muss der User postfix noch Mitglied der Gruppe shadow werden. Hierzu muss /etc/group wie folgt geändert werden:
würde ich nicht machen und lieber über den pwcheck-Deamon gehen. Der läuft als root und überprüft die Passwörter.

Gruß, Nyx

wirsing
RSAC
Posts: 611
Joined: 2002-11-20 21:32
Location: Vaihingen und Karlsruhe

Re: Howto: Debian 3.0, Postfix, SMTP_AUTH via PAM ...

Post by wirsing » 2003-01-18 17:59

Wenn ich es nach der Anleitung installiere (ich habe bereits cyrus am laufen, aber das ist ja nicht so wichtig), kann ich postfix nicht mehr nutzen: Wenn ich telnet localhost 25 mache, dauert es kurz und es heißt "Connection closed by remote host."

Die syslog-Einträge dazu sind

Code: Select all

Jan 18 17:38:54 odysseus postfix/smtpd[3173]: fatal: no SASL authentication mechanisms
Jan 18 17:38:55 odysseus postfix/master[3168]: warning: process /usr/lib/postfix/smtpd pid 3173 exit status 1
Jan 18 17:38:55 odysseus postfix/master[3168]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling
Ich benutze Debian testing/sarge und habe die folgenden postfix-Pakete installiert
ii postfix 1.1.11.0-3 A high-performance mail transport agent
ii postfix-doc 1.1.11.0-3 Postfix documentation
ii postfix-mysql 1.1.11.0-3 MYSQL map support for Postfix
ii postfix-pcre 1.1.11.0-3 PCRE map support for Postfix
ii postfix-tls 1.1.11.0-3 TLS and SASL support for Postfix snapshots

jayc
Posts: 87
Joined: 2002-11-26 23:07
Location: Karlsruhe

Re: Howto: Debian 3.0, Postfix, SMTP_AUTH via PAM ...

Post by jayc » 2003-01-18 23:10

Hast Du die Pakete
sasl-bin libsasl-modules-plain libsasl2 libsasl-gssapi-mit libsasl-digestmd5-des
installiert?

Oder fhellt evtl.
/etc/postfix/sasl/smtpd.conf
?

Versetze mal Deinen Postix in den Debug-Modus, iindem Du die Zeile in /etc/postfix/master.cf wie folgt änderst:
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (50)
# ==========================================================================
smtp inet n - n - - smtpd -v

jayc
Posts: 87
Joined: 2002-11-26 23:07
Location: Karlsruhe

Re: Howto: Debian 3.0, Postfix, SMTP_AUTH via PAM ...

Post by jayc » 2003-01-18 23:31

qpopper ist natürlich Geschmackssache, ich habe courier-pop-ssl, courier-imap-ssl und courier-imap (dieses nur für Squirrelmail von localhost aus) genommen.
Ich habs mal auf meiner Testtmaschine "drübergebügelt", aber irgendwie kann ich keine Mails mehr abrufen (POP) - nachdem ich das Maildir angelegt habe sucht er dieses immernoch...
Ich werds mal auf einer "nackten" Installation testen.
Als nächstes benötigen wir ein par weitere Einträge in der Datei /etc/postfix/main.cf:
diese Ã?nderungen über postconf vornehmen, dann ist egal was in der main.cf schon drinsteht (bei der ersten Konfiguration zwar egal, aber irgendwie "sauberer").
Stimmt, dann werde ich das wie folgt ändern:

Code: Select all

postconf -e mydomain=deinedomain.tld
postconf -e 'smtpd_sasl_local_domain=$myhostname'
postconf -e smtpd_sasl_auth_enable=yes
postconf -e amtpd_sasl_security_options=noanonymous
postconf -e broken_sasl_auth_clients=yes
postconf -e smtpd_recipient_restrictions=permit_sasl_authenticated, postconf -e permit_mynetworks, check_relay_domains
Außerdem muss der User postfix noch Mitglied der Gruppe shadow werden. Hierzu muss /etc/group wie folgt geändert werden:
würde ich nicht machen und lieber über den pwcheck-Deamon gehen. Der läuft als root und überprüft die Passwörter.
Das mit dem Zugriff auf das shadow-file ist mir auch ein Dorn im Auge.
Auf meinem System gibt es "/usr/sbin/pwcheck". Wenn ich dies versuche als Dienst zum laufen zu bringen, dann legt er mir zwar ein pwcheck.pid-file an, aber laufen tut nichts.
Die manpage zu pwcheck sagt mir nur, dass es keine manpage dazu gibt ( :?: )
Kann mir jemand einen Tip geben (Link, Stichwort, ...)?

Danke für die konsttruktiven Hinweise!

User avatar
nyxus
RSAC
Posts: 697
Joined: 2002-09-13 08:41
Location: Lübeck

Re: Howto: Debian 3.0, Postfix, SMTP_AUTH via PAM ...

Post by nyxus » 2003-01-19 08:42

damit es funktioniert benötigst Du noch ein Verzeichnis /var/pwcheck. Dieses muß von den Prozessen, die SASL nutzen möchten beschreibbar sein. Wenn Postfix Dein einziger SASL-Prozess ist, dann kannst Du einfach die Gruppe auf postfix setzen.


Gruß, Nyx

jayc
Posts: 87
Joined: 2002-11-26 23:07
Location: Karlsruhe

Re: Howto: Debian 3.0, Postfix, SMTP_AUTH via PAM ...

Post by jayc » 2003-01-20 23:36

Nyxus wrote:damit es funktioniert benötigst Du noch ein Verzeichnis /var/pwcheck. Dieses muß von den Prozessen, die SASL nutzen möchten beschreibbar sein. Wenn Postfix Dein einziger SASL-Prozess ist, dann kannst Du einfach die Gruppe auf postfix setzen.
Das hatte ich bei meinen Tests genau so eingerichtet - aber vielleicht war ich einfach zu doof... ;-)
Am kommenden Wochenende werde ichs mal testen - momentan habe ich wenig Zeit.

yoda
Posts: 17
Joined: 2003-01-27 09:15

Re:

Post by yoda » 2003-01-27 21:11

Hallo,

Ich wollte gerade auch Debian3.0,postfix,smtp-auth über pwcheck probieren. Beim pwcheck Daemon den ich apt-get install cyrus-common installiert habe gehört ja /var/state/pwcheck cyrus:mail

Wenn ich jetzt postfix:postfix rechte gebe, dann wird pwcheck nicht mehr gestartet! Weiss jemand was ich tun muss, damit es funzt?

Gruss Mario

yoda
Posts: 17
Joined: 2003-01-27 09:15

Lösung:

Post by yoda » 2003-01-29 09:57

Hallo,

Für Smtp-Auth mit pwcheck muss folgendes getan werden.

mkdir /var/run/pwcheck
chown postfix.root /var/run/pwcheck
chmod 700 /var/run/pwcheck

mit /usr/sbin/pwcheck
starten, dann gehts

Am besten noch ein init script schreiben, damit pwcheck beim booten
gestartet wird.

Gruss, Mario

tobi
Posts: 121
Joined: 2002-08-02 20:58
Location: München

Re: Howto: Debian 3.0, Postfix, SMTP_AUTH via PAM ...

Post by tobi » 2003-02-09 15:59

hi,

mein postfix läuft soweit! :)
Nun habe ich noch zwei fragen.
Wird die einbindung von pwcheck noch in die howto geschrieben? Und habt ihr auch confixx drauf? Geht bei euch der autoresponder? Welchen user und welche rechte hat euer "/usr/bin/autoresponder.pl"?

tobi

bernostern
Posts: 129
Joined: 2003-02-09 12:52

Re: Howto: Debian 3.0, Postfix, SMTP_AUTH via PAM ...

Post by bernostern » 2003-05-27 16:47

Hallo,

also ich habe gerade ein jungfräuliches Debian und möchte es mir jetzt nicht wieder "versauen". Daher diese Frage. Ich habe schon alle möglichen Sachen hier im Forum gelesen, nur leider stiftet die Flut an Infos eher Unmut anstatt das es hilft.

Ich möchte folgendes erreichen:
Meine User sollen ihre Mailboxen selbst über Confixx 2.0.10 anlegen und verwalten können. Folgendes soll dann möglich sein:
1) POP3 (mit und ohne SSL)
2) SMTP mit SMTP-AUTH (mit und ohne SSL)
3) IMAP (mit und ohne SSL)
( 4) zentrale Installation von Squirrelmail oder Horde/IMP )

Kann ich das erreichen, wenn ich Postfix usw. nach diesem Thread installe?

Kann ich die IMAP-Funtkionalität (Punkt 3) über courier-pop-ssl, courier-imap-ssl und courier-imap so wie Nyxus das hat? Sollte doch gehen mit dem pop_homedir=1 (oder so ähnlich) von Confixx.

Bekomme ich den pwcheck Daemon nur über das cyrus-common Paket?


Bin natürlich auch für andere Lösungen, die obige Punkte erreichen dankbar!!

Vielen Dank und schöne Grüße,
Bern

[ djthesound ]
Posts: 300
Joined: 2003-04-21 01:15

Re: Howto: Debian 3.0, Postfix, SMTP_AUTH via PAM ...

Post by [ djthesound ] » 2003-05-27 17:26

Hallo Leute,

habe mit Interesse das Posting über Postfix und IMAP & Co. gelesen. Da ich mich auch sehr dafür interessieren ebenso IMAP-Zugänge für meine Freunde am Server anzubieten, wäre ich froh ob mir jemand sagen kann, ob dies auch mit VHCS Pro 1.6 funktioniert, wenn ich mich an dieses How-To in diesem Posting halte? 8O

Ich bin eigentlich froh, dass meine Postfix-Config soweit mal ganz gut läuft, aber wie gesagt, es reizt mich sehr IMAP noch ins Spiel zu bringen. Da ich aber nix bestehendes gefährden möchte, bitte ich euch um Rat im Vorraus. Vielen Dank... 8)

bernostern
Posts: 129
Joined: 2003-02-09 12:52

Re: Howto: Debian 3.0, Postfix, SMTP_AUTH via PAM ...

Post by bernostern » 2003-05-30 12:02

Hallo,

also hab alles installiert wie oben beschrieben, (nur ohne POP und ohne das Postfix Mitglied von shadow ist). Postfix und pwcheck laufen soweit, jetzt habe ich mit Confixx ein Postfach angelegt, nur leider wird mein User/PW zurückgewiesen, d.h. ich kann keine mails versenden (von localhost aus funkts)

pwcheck hab ich nach dem Posting von Yoda eingerichtet.

Kann mir einer einen Tipp geben, wo ich zum suchen anfangen soll? Im log steht nur:
connect from xxx.xxx.xxx.xxx
warning: xxx.xxx.xxx.xxx: SASL LOGIN authentication failed
disconnect from xxx.xxx.xxx.xxx

Ich hab danach Confixx installiert und das hat noch
virtual_maps = hash:/etc/postfix/confixx_virtualUsers, hash:/etc/postfix/confixx_localDomains
in die main.cf eingefügt. Ist das ein Problem?

Danke,
Bern

wirtsi
Posts: 29
Joined: 2002-07-18 14:12

Auth Failed

Post by wirtsi » 2003-06-08 12:33

Ich hatte auch dieses Problem.

Gelöst habe ich es, indem ich den Dummy user wieder aus der sasldb gelöscht habe.

Scheinbar versuchen manche Mailprogramme die stärkste angebotene Verschlüsselung zu nhemen (also Cram), können damit aber nicht richtig umgehen. Wenn du den Benutzer löscht, wird nur noch Plaintext angeboten, was ja eigentlich ausreichen sollte. Für eine richtige Verschlüsselung des Kanals muß man meines Wissens tls einsetzen.

Edit: Die Datei /etc/sasldb darf nicht vorhanden sein, dann bietet er Cram und den ganzen anderen Krempel nicht an!

Peace

Wirtsi
Last edited by wirtsi on 2003-07-03 13:30, edited 1 time in total.

wirtsi
Posts: 29
Joined: 2002-07-18 14:12

Und dann noch chroot

Post by wirtsi » 2003-06-12 12:19

Hello

so, ich habe jetzt auch noch rausgefunden, wie man den smptd Daemon noch dazu bringt, in einem chroot zu laufen.

Also: Installation wie gehabt, Authentisierung über pwcheck. Will man smtpd im chroot betreiben, so müssen die benötigten Dateien unter /var/spool/postfix liegen.

Also folgendes:

Code: Select all

mkdir  /var/spool/postfix/var/run/pwcheck
chown postfix.root /var/spool/postfix/var/run/pwcheck/
chmod 700  /var/spool/postfix/var/run/pwcheck/
Und jetzt verschieben wir den Socket von pwcheck in dieses Verzeichnis und legen einen Link darauf an.

Code: Select all

mv /var/run/pwcheck/pwcheck /var/spool/postfix/var/run/pwcheck/
ln -s /var/spool/postfix/var/run/pwcheck/pwcheck /var/run/pwcheck/
In der /etc/postfix/master.cf

noch
smtp inet n - n - - smtpd
in
smtp inet n - - - - smtpd
ändern, freuen und sich ein Eis kaufen.

Wirtsi 8)

bodo
Posts: 99
Joined: 2002-12-29 11:55
Location: Nürnberg

Re: Howto: Debian 3.0, Postfix, SMTP_AUTH via PAM ...

Post by bodo » 2003-08-08 11:06

Hallo, ich habe das Postfix bei mir wie beschrieben installiert. Es geht auch weitestgehend, also ich kann mir per Outlook die Testmail schicken und diese dann empfangen, aber ich kann keinen E-Mails an externe Adressen versenden, an welcher schraube muss ich da drehen? Kann mir da ggf. jemand helfen?

Danke schon mal,
Bodo

krispin
Posts: 216
Joined: 2003-04-14 16:30

Re: Howto: Debian 3.0, Postfix, SMTP_AUTH via PAM ...

Post by krispin » 2003-08-16 19:11

haste bei Outlook auch ein Passwort für SMTP_AUTH angeben,

gucke mal da bei der Registrierkarte "Server", weiter unten.

Ist das gleiche Passwort wie für den POP3-Account

isch2k
Posts: 13
Joined: 2005-10-04 14:36
Location: Frankenthal

postfix + smtp auth funktioniert nicht

Post by isch2k » 2005-10-04 14:54

Hi, bin neu hier im Forum, also bitte nich hauen, wenn ich was falsch mache!

Ich habe vor ein paar Tagen nen Debian System aufgesetzt.

Es handelt sich um debian woody (kernel: 2.4.29)
Auf diese Basis habe ich ein komplettes Confixx-System installiert.
Als MTA habe ich eben postfix genommen. Als POP3 dient qpopper.

Naja wichtig ist, dass ich postfix nun mit smtp auth ausstatten möchte. Sollte meines erachten kein Problem darstellen, tut es anscheinen aber trotzdem.

Ich habe es also erst ohne howtos probiert und bin gescheitert.
Dann hab ich eine weile gegoogelt und bin auf diesen drei Seiten hängengeblieben:
http://www.debianforum.de/wiki/?page=Postfix+SMTP-AUTH
http://www.rootforum.org/forum/viewtopic.php?t=6387
http://www.rootforum.org/forum/viewtopic.php?t=11886

Deshalb auch der post hier.

Nunja. Fakt ist: Es funktioniert immer noch nicht.
Sobald ich

Code: Select all

smtpd_sasl_auth_enable = yes
setze, ist es nicht mehr möglich Mails zu senden.
Im ersten Moment dachte ich, dass das ganz gut sein sollte, aber auch mit den richtigen Clienteinstellungen hat es nicht geklappt.

Also, ich werde gleich mal configfiles posten und hoffe, dass mir jemand helfen kann!


Gruss Isch2k


    /etc/postfix/main.cf

Code: Select all

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
append_dot_mydomain = no
myhostname = foo.de
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = foo.de, bar.de, ...
relayhost = mail.foo.de:25
#mynetworks = 0.0.0.0/8
mynetworks = 0.0.0.0/0
#mailbox_command = procmail -a "$EXTENSION"
mailbox_command = /usr/bin/procmail
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
smtpd_sasl_local_domain = $myhostname

### CONFIXX POSTFIX ENTRY ###
virtual_maps = hash:/etc/postfix/confixx_virtualUsers, hash:/etc/postfix/confixx_localDomains
### /CONFIXX POSTFIX ENTRY ###

#smtpd_sasl_auth_enable = yes
smtpd_sasl_auth_enable = no
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, check_relay_domains
maps_rbl_domains = relays.ordb.org
smtpd_client_restrictions = reject_maps_rbl
    /etc/postfix/master.cf (Auszug)

Code: Select all

# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       n       -       -       smtpd
    /etc/postfix/sasl/smtpd.conf

Code: Select all

pwcheck_method: PAM
(ja, mehr steht wirklich nich in dem file)




so. Vielen dank schonmal für die Hilfe!

isch2k
Posts: 13
Joined: 2005-10-04 14:36
Location: Frankenthal

Re: Howto: Debian 3.0, Postfix, SMTP_AUTH via PAM ...

Post by isch2k » 2005-10-07 09:40

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:

Code: Select all

dpkg -l *sasl*
dpkg -l *postfix*
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:

Code: Select all

apt-get remove <paketname>


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.

Code: Select all

vi /etc/postfix/master.cf


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

Code: Select all

vi /etc/postfix/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...

Code: Select all

vi /etc/postfix/sasl/smtpd.conf

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.

Code: Select all

vi /etc/groups

sasl:*:45:

wird zu
sasl:*:45:postfix



nächstes File:

Code: Select all

vi /etc/default/saslauthd


Sollte so aussehen. Wenn nicht ... anpassen!
START=yes
MECHANISMS="pam"



Weiter ....

wir wechseln mal ins Verzeichnis /etc/pam.d

Code: Select all

cd /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!

Code: Select all

vi /etc/pam.d/qpopper
auth required pam_unix_auth.so shadow
account required pam_unix_acct.so


Solle so aussehen.
Dann öffnet Ihr die Datei smtp

Code: Select all

vi /etc/pam.d/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:

Code: Select all

testsaslauthd -u <user> -p <pass>


am besten dazu eine zweite console auf machen... und...

Code: Select all

tail -f /var/log/auth.log


und evtl. eine dritte

Code: Select all

tail -f /var/log/mail.log


Dann könnt ihr LIVE sehen, was passiert, wenn ihr versucht eine mail zu senden!