[Postfixbuch-users] SASL2 für lokale User

Andreas Winkelmann ml at awinkelmann.de
Fr Nov 18 20:38:56 CET 2005


Am Wednesday 16 November 2005 00:49 schrieb Patrick Ben Koetter:

> > Zunächst danke für die Ausführliche Erklärung!
> >
> > > Also, Deine Domain ist moduleworks.com. Dein Postfix nimmt mails für
> > > diese Domain (und andere hosts in der Domain) an - das ist in
> > > $mydestination konfiguriert.
> >
> > [.....]
> >
> > Was du beschreibst kenne ich auch als "normale" Konfiguration von unix
> > mail systemen. Problem ist, dass ich glaube, dass das auf dem alten
> > Server von dem ich migriere anders gelöst war bzw ist. Denn
> >
> > www:/etc # grep -r alexg *
> > Binary file postfix/virtual.db matches
> > postfix/virtual:developers      costin cristi yavuz zhenya gokhan ata
> > alexc nini alexg andrey ahmet octavian sebastian mary
> > sergiy.nevstruyev at tsengineers.com
> > Binary file sasldb matches
> > Binary file sasldb2 matches
> >
> > Da gibts also keinen Eintrag für alexg (außer developers, aber der alias
> > ist ja "in die andere Richtung".
> > Die Frage ist, warum nimmt der postfix auf dem DIng die Mail trotzdem an.
> > ICh war davon ausgegangen, dass er die Benutzer - wie der imap Dienst -
> > über sasl findet (in den dbs steht alexg ja)
>
> Dünnes Eis für mich, denn mit Cyrus IMAP kenne ich mich nicht aus. Ich habe
> nach meinen Erfahrungen mit Cyrus-SASL den IMAP-Server bisher gemieden - zu
> unrecht wie einige bestimmt gleich sagen werden. Anyway...
>
> > bezüglich local_recipient_maps gibts dort:
> > www:~ # postconf -n local_recipient_maps
> > www:~ # postconf -d local_recipient_maps
> > local_recipient_maps =
>
> Das ist output von Deinem "alten" Server, ja?
> Dort verfügt Postfix über keine map, die es auswerten kann und es wird jede
> mail annehmen.

Jep, es landet jeglicher Müll in der Queue.

> Ab hier beginnt die Spekulation:
>     Wenn du das auch auf Deinem neuen Server so einrichtest, dann wird
> einfach alles angenommen. Dann liegt es am IMAP server (Du hast einen lmtp
> Transport eingerichtet zum Cyrus IMAP) die guten von den Schlechten zu
> trennen. Das würde ich mal versuchen.

Ist eigentlich nicht Cyrus-Imap speziell. Wenn erst im mailbox_transport 
entschieden wird, ob der Empfänger existiert, ist die Mail bereits in der 
Queue und Postfix muss Bounces bzw. NDRs generieren und versenden. Da der 
meiste Müll von Spammern kommt, deren Absender gefakt sind bzw. nicht 
existieren verstopfen solche Mails die Queue. Deshalb ist es gut schon 
beim Empfang der Mail im smtpd sowas abzuweisen, dazu muss man Postfix 
eine Map mit den gültigen Usern mitgeben. Im Falle von Domains in 
$mydestination ist das die $local_recipient_maps.

Dort hat sich bei den Postfix Versionen der Default geändert, von "" 
( Alles wird angenommen) zu "proxy:unix:passwd.byname $alias_maps" 
(/etc/passwd und /etc/aliases). Im Falle von Mailsystemen, die eigene 
Userdatenbanken mitbringen (z.B. Cyrus-Imap) muss man dies halt auch 
Postfix mitteilen. Am Besten IMHO mit ner dritten, eigenen Map wo der 
Username mit einem x-beliebigen RHS steht.

local_recipient_maps = proxy:unix:passwd.byname $alias_maps
	hash:/etc/postfix/cyrus_recipients

Wenn eine mögliche Quelle bei Ihm die sasldb ist, evtl die Map damit aufbauen:

# sasldblistusers2 | sed 's/^\(.*\)@.*$/\1 OK/' > /etc/postfix/cyrus_recipients

Anschliessend mit postmap in eine DB wandeln.

# postmap hash:/etc/postfix/cyrus_recipients

Und Postfix nimmt nur noch Mails für gültige, zustellbare Empfänger an.

> Jemand, der sich mit Cyrus IMAP auskennt, kann Dir da aber sicherlich
> besseren Rat geben. Mag jemand übernehmen?

-- 
	Andreas



Mehr Informationen über die Mailingliste Postfixbuch-users