[Postfixbuch-users] RelayServer, Postfix vor Exchange, Imap und Altlasten wie korregieren?

Sandy Drobic postfixbuch-users at drobic.de
Mi Jun 3 15:43:35 CEST 2009


Jan Scholten wrote:
> Ich bin in der traurigen Position einen Mailserver zu "kennen" der sich nicht sauber verhält.. 
> Nachdem ich schonmal angemerkt hatte das es nicht schön ist, wenn man am Tag einen größeren Betrag an Mails bounced, weil der Empfänger unbekannt ist scheint es jetzt auch irgendwo weiter oben angekommen zu sein. Vielleicht ist aber auch das Spamhaus Listing schuld gewesen.. *g*
> Jedenfalls ist jetzt das Commitment da (um ein bischen Bullshit Bingo zu spielen) alles besser zu machen.
> Leider ist es gewachsene Struktur, und daher nicht wirklich durchschaubar.
> Ich würde die Bounces gern einschränken/stoppen ohne im laufenden Betreib viel kaputt zumachen..
> 
> 
> Zum Aufbau:
> Postfix steht vor einem Exchange, einem Imap und diversen Test-Email-VMs
> 
> Es gibt eine virtual_maps =hash:/etc/postfix/virtual, wo bestimmte Domains ausgetauscht werden. User at alteDomain user at neueDomain
> aber immerhin keine Wildcards..
> 
> Es hat 5 relay domains definiert und wählt (?) das richtige Zeil mittels Transport Map.. Diese sieht etwa so aus:
> 
> #EXCHANGE 2007 - USER
> user.nachname at example.com         smtp:[172.25.1.31]
> ..
> #Subdomain
> user2.nachnahme at subdomain.example.com         smtp:[172.25.1.111]
> ..
> #Ticketsystem
> ticket at _weitere_domain.com         smtp:[172.25.1.100]
> ..
> # ?? ka kann ich nicht erklären default? auf IMAP
> example.com                       smtp:[172.25.1.50]
> _weitere_domain.de               smtp:[172.25.1.50]
> # ..
> _andere_domain.fr               smtp:[172.25.1.77]
> 
> 
> d.h. die Exchange User werden (noch) händisch eingetragen und auf den Exchange Server (172.25.1.31) transportiert, Andere User auf andere Server, ganze Domains (das was überbleibt?) auf einen anderen (IMAP) Server
> 
> Eine recipient verfication findet erst auf dem IMAP (der ja die Reste sammelt) statt - nicht auf dem postfix - NOCH...
> 
> smtpd_recipient_restrictions = check_recipient_access regexp:/etc/postfix/access, permit_mynetworks, reject_unauth_destination
> 
> Die Folge die hohe anzahl von Bounces, weil ja für verschiedene Domains angenommen wird und dann erst der IMAP sagt: kenn ich nicht.. 
> 
> 
> 
> Nach viel Erklärung: Wie geht man hier sinnvoll vor?
> 
> Ich dachte an: 
> - relay_recipient_maps mit allen Nutzern von Exchange, IMAP, Alias etc füllen.
> - dann reject_unlisted_recipients an die smtpd_restrictions anhängen.

Nicht anhängen, entweder direkt hinter reject_unauth_destination oder sogar
ganz als erster Check. Da dieser Check nur für die eigenen Domains greift, ist
das problemlos und verhindert, dass man Mails für nicht existierende Benutzer
annimmt.

Die Nutzung von relay_recipient_maps ist jedenfalls die optimale Lösung. Wenn
irgend möglich solltest du versuchen, eine automatisierte Lösung zur Befüllung
der relay_recipient_maps zu verwenden, sonst bekommst du inkonsistente gültige
Empfängerlisten.

Ansonsten solltest du mal sehen, ob die Zielserver (auch Postfix?) in der
transport_maps denn address verification können, die sollten ja schließlich
als Endserver Zugriff auf die gültigen Empfängerlisten haben.

> schiesse ich mir da irgendwo ins Bein? bzw. brauche ich bei so einem Setup noch mehr Einstellungen?

Nö, das Konzept so ist in Ordnung.

> 
> postconf -n
> mailgate:/etc/postfix# postconf -n
> alias_maps = hash:/etc/aliases
> allow_untrusted_routing = yes
> always_bcc =archive at _meinedomain.de
> append_dot_mydomain = no
> biff = no
> command_directory = /usr/sbin
> command_time_limit = 5000s
> config_directory = /etc/postfix
> daemon_directory = /usr/lib/postfix
> debug_peer_level = 2
> default_process_limit = 512

Wie sieht deine Hardware aus und wie stark ist der Server ausgelastet
(empfangene Mails pro Minute)?

> header_checks = regexp:/etc/postfix/header_checks
> in_flow_delay = 1s

Darf es auch ein Schleppanker sein?!? (^-^)

> mailbox_size_limit = 0
> mailq_path = /usr/bin/mailq
> manpage_directory = /usr/local/man
> message_size_limit = 51200000
> mydestination = $myhostname

Wenn das ein Relayserver ist, würde ich das leer lassen.

> mydomain = _meinedomain.de
> mynetworks = !172.25.1.2, 172.25.1.0/24, 172.25.0.0/24, 172.22.0.18, 127.0.0.0/8, 172.22.90.118, 172.22.0.160, 172.22.5.121, 172.22.5.120, 172.22.81.11, 172.22.5.115, 172.22.11.11
> myorigin = $mydomain
> newaliases_path = /usr/bin/newaliases
> readme_directory = /usr/share/doc/postfix
> recipient_delimiter = +
> relay_domains = _meinedomain.de _meinedomain.fr _meinedomain.com mailserv._meinedomain.de mail3._meinedomaintest.de
> relocated_maps = hash:/etc/postfix/relocated
> sample_directory = /usr/share/doc/postfix/examples
> sender_canonical_maps = hash:/etc/postfix/sender_canonical
> sendmail_path = /usr/sbin/sendmail
> setgid_group = postdrop
> smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
> smtpd_recipient_restrictions = check_recipient_access regexp:/etc/postfix/access, permit_mynetworks, reject_unauth_destination
> transport_maps = hash:/etc/postfix/transport



Mehr Informationen über die Mailingliste Postfixbuch-users