Anpassung der Postfix-Konfiguration

Diese Seite beschreibt erforderliche Schritte und die Anpassung der Postfix-Konfiguration, sodass am Ende alles zusammenarbeitet.

Setuid-root Kopie von Dovecot's LDA für Postfix

Aus Sicherheitsgründen werden die Berechtigungen der Domain-/Benutzer-Verzeichnisse sehr restriktiv gesetzt.
Jeder Benutzer erhält seine eigene eindeutige UID und die GID der Domain, der er angehört. Daher wird es einem Benutzer möglich sein, nur lesend auf das Verzeichnis der Domain zuzugreifen. Nur für sein eigenes Verzeichnis erhält der Benutzer Lese-Schreib-Zugriff.

/!\ Es gilt als unsicher deliver (the Dovecot LDA) mit dem setuid-root Attribut zu versehen, wenn Die Datei für alle Anwender, auch die, denen Sie nicht trauen, zugänglich ist.

Aus diesem Grund ist es notwendig, eine Kopie des Dovecot LDA, mit gesetztem setuid-root-Attribut, für Postfix zur Verfügung zu stellen.
Postfix wird es aber ablehnen, Dateien mit Root-Rechten oder mit Rechten des mail_owners (in der Regel postfix) auszuführen. Von daher lassen wir den Job von nobody erledigen. Dazu werden wiederholt sehr restriktive Berechtigungen gewählt. Nur nobody wird es möglich sein, die Kopie des Dovecot LDA mit Root-Rechten auszuführen.

{i} Auf BSD und Gentoo Linux Systemen ist nobody Mitglied der Gruppe nobody, nicht nogroup.

mkdir -p /usr/local/lib/dovecot
chmod 700 /usr/local/lib/dovecot
chown nobody /usr/local/lib/dovecot
cp /usr/lib/dovecot/deliver /usr/local/lib/dovecot/
chown root:`id -g nobody` /usr/local/lib/dovecot/deliver
chmod u+s,o-rwx /usr/local/lib/dovecot/deliver

master.cf

Erweitern Sie Postfix' master-Prozess-Konfiguration um den Service dovecot. Fügen Sie dazu folgende Zeilen ein.

dovecot   unix  -       n       n       -       -       pipe
  flags=DORhu user=nobody argv=/usr/local/lib/dovecot/deliver -f ${sender}
  -d ${user}@${nexthop} -n -m ${extension}

Details zu den oben verwendeten flags stehen in pipe(8). Alle anderen Argumente werden in der Dovecot LDA Dokumentation erklärt.

main.cf

Fügen Sie folgende Einstellungen in Ihrer globalen Postfix Konfiguration ein oder passen Sie bereits vorhandene Einstellungen an.

# relocated users aus der Datenbank
#relocated_maps = pgsql:/etc/postfix/pgsql-relocated_maps.cf

# Virtuelle Domains
virtual_mailbox_domains = pgsql:/etc/postfix/pgsql-virtual_mailbox_domains.cf
virtual_alias_maps = pgsql:/etc/postfix/pgsql-virtual_alias_maps.cf
transport_maps = pgsql:/etc/postfix/pgsql-transport.cf
virtual_minimum_uid = 70000
virtual_uid_maps = pgsql:/etc/postfix/pgsql-virtual_uid_maps.cf
virtual_gid_maps = pgsql:/etc/postfix/pgsql-virtual_gid_maps.cf
virtual_mailbox_base = /
virtual_mailbox_maps = pgsql:/etc/postfix/pgsql-virtual_mailbox_maps.cf

# dovecot LDA
dovecot_destination_recipient_limit = 1
virtual_transport = dovecot:

# dovecot SASL
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
# Halten Sie smtpd_sasl_local_domain identisch zu Dovecots auth_default_realm: Leer.
# Beide enthalten standardmäßig keinen Wert. Lassen Sie smtpd_sasl_local_domain auskommentiert.
# Dazu mehr unter: http://wiki.dovecot.org/Authentication/Mechanisms/DigestMD5
#smtpd_sasl_local_domain =
smtpd_sasl_security_options = noplaintext, noanonymous
#smtpd_sasl_security_options = noanonymous
#broken_sasl_auth_clients = yes

# Minimale smtpd_recipient_restrictions
smtpd_recipient_restrictions =
  permit_mynetworks
  permit_sasl_authenticated
  reject_unauth_destination

Weitere Details zu den Postfix Konfigurationsparametern finden Sie in: postconf(5).


DovecotKonfigurieren

VMM_Installieren


KategorieInstallation

DeVMMWiki: PostfixKonfigurieren (last edited 2011-02-07 12:08:26 by PascalVolk)

SourceForge.net Logo