Open Source im professionellen Einsatz

Postfix

Postfix wird über »/etc/postfix/main.cf« konfiguriert. Diese Datei legt unter anderem fest, welche Datenquellen der MTA für die einzelnen so genannten Lookup Tables verwendet. In diesen Tabellen stehen die Einstellungen für Postfächer, Weiterleitungen, Umleitungen, Zugriffskontrollen und Ähnliches. Postfix kennt verschiedene Typen von Quellen für die einzelnen Tabellen, die es beliebig kombinieren kann. Wer mehr über die Bedeutung der rund 300 verschiedenen Parameter erfahren möchte, sollte einen Blick in das Postfix-Buch von Peer Heinlein[10] werfen.

Listing 4 zeigt einen Ausschnitt der »main.cf« mit den für dieses Beispiel wichtigen Parametern. Die Zeilen 1 bis 3 steuern die SMTP-Authentifizierung. Damit sie funktioniert, muss der Administrator außerdem die Datei »/usr/lib/sasl2/smtpd.conf« anlegen. Sie enthält nur zwei Zeilen:

pwcheck_method: saslauthd
mech_list: plain login

Der Parameter »permit_sasl_authenticated« in Zeile 4 in Listing 4 sorgt dafür, dass nur per SASL authentifizierte Benutzer über den Server Mails versenden dürfen. Ein unautorisiertes Versenden unterbindet der Parameter »reject_unauth_destination«. Damit ist sichergestellt, dass der Server kein offenes Relay ist, das Spammer missbrauchen könnten. Zeile 5 weist Postfix an, E-Mails lokal über Cyrus-IMAP zu verteilen.

Listing 4: »/etc/postfix/main.cf«

01 smtpd_sasl_auth_enable = yes
02 smtpd_sasl_security_options = noanonymous
03 broken_sasl_auth_clients = yes
04 smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
05 mailbox_transport = cyrus
06 mydestination = mysql:/etc/postfix/mysql-mydestination.cf
07 virtual_alias_maps = mysql:/etc/postfix/mysql-virtual.cf
08 sender_canonical_maps = mysql:/etc/postfix/mysql-canonical.cf

Datenbank-Zugriff

Die restlichen Zeilen legen fest, welche Konfigurationsdateien Postfix für den Zugriff auf die Datenbank verwenden soll. Der Aufbau dieser Dateien ist immer derselbe, lediglich die Angaben über die Tabellen und Spalten ändern sich. Listing 5a zeigt eine vollständige Datei »mysql-canonical.cf«, Listings 5b und 5c enthalten nur die davon abweichenden Zeilen der übrigen Dateien.

Listing 5a: »/etc/postfix/ mysql-canonical.cf«

01 # user name and password to log into the mysql server
02 hosts = localhost
03 user = mailadmin
04 password = geheim
05 # database name on the servers
06 dbname = mail
07 # table name and columns
08 table = virtual
09 select_field = alias
10 where_field = username
11 # return the first match only
12 additional_conditions = and status = '1' limit 1

Listing 5b: »mysql-virtual.cf«

01 # table name and columns
02 table = virtual
03 select_field = dest
04 where_field = alias
05 additional_conditions = and status = '1'

Listing 5c: »mysql-mydestination .conf«

01 # table name and columns
02 table = domain
03 select_field = domain_name
04 where_field = domain_name

Diesen Artikel als PDF kaufen

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook