Archive

Virtuelle Mailboxen – Postfix

Bei einer Vielzahl von E-Mail Accounts ist es üblich virtuelle Benutzer und virtuelle Mailboxen zu verwenden. Nicht jeder Mail Account benötigt somit einen eigenen Shell-Account. Folgende Optionen müssen hierzu in der main.cf angegeben werden.

1
2
3
4
5
6
7
8
9
10
virtual_mailbox_domains = /etc/postfix/virtual_domains
virtual_mailbox_base = /var/mail/vhosts
virtual_mailbox_maps = hash:/etc/postfix/vmailbox
virtual_alias_maps = hash:/etc/postfix/virtual_alias
virtual_minimum_uid = 100
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
mailbox_size_limit = 0

In diesem Fall werden alle Mailboxen von einem einzelnen Benutzer mit der UID/GID verwaltet. Dieser Benutzer sollte über keinen direkten Login verfügen.

1
2
groupadd -g 5000 vmail
useradd -s /usr/sbin/nologin -u 5000 -g 5000 vmail

Der Benutzer vmail benötigt nun noch entsprechende Verzeichnis-Rechte

1
chown -R vmail:vmail /var/mail/vhosts

Da ich bereits in der Postfix Konfiguration unter mydestination meine Domains angegeben habe, muss ich in /etc/postfix/virtual_domains keine Angaben machen.

Ein offenes Relay erkennen und schließen

Was ist überhautp ein offenes Relay?

Als ein offenes Relay bezeichnet man einen Mail Server, der Mails weiterleitet, obwohl weder Absender noch Empfänger von ihm selbst verwaltet werden. So ein falsch konfigurierter Mailserver wird dann von Spammern für den Versand von Spam Mails verwendet. Zum manuellen testen, ob der eigene Mail Server korrekt konfiguriert ist, kann man Telnet verwenden.

Hier ein Beispiel für ein offenes Relay.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
telnet marvinziegenhorn.de 25
 
220 n112h147.rs.de.inter.net ESMTP
helo marvinziegenhorn.de
250 n112h147.rs.de.inter.net
mail from: irgendeineausgedachteAdresse@domain.de
250 2.1.0 Ok
rcpt to:meineMailAdresse@domain.de
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
From:irgendeineausgedachteAdresse@domain.de
To:meineMailAdresse@domain.de
Subject: Eine TestMail
Hier kommt eine Test Mail
.
250 2.0.0 Ok: queued as 8EEF97EA004
quit
221 2.0.0 Bye

Um ein offenes Relay testen zu können, habe ich in der main.cf meine öffentliche IP Adresse temporär unter mynetworks eingetragen.

1
2
less /etc/postfix/main.cf
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/12 78.54.4.213

Wird der Eintrag aus der main.cf allerdings wieder gelöscht. Dann erhalte ich beim Zugriff via Telnet folgende Meldung

1
554 5.7.1 <marvinziegenhorn@gmx.de>: Relay access denied

Nun versendet mein Postfix also nur noch aus dem lokalen Netz seine Mails. Zum Beispile für die Tripwire Status Meldung.Was aber wenn ich mit mobilen Clients Mails über diesen Server versenden möchte? Die mobilen Clients befinden sich nicht im selben Netzwerk vom Postfix Server. Um dies zu nutzen unterstützt Postfix bzw. Dovecot die Simple Authentication and Security Layer(SASL) Authentication.

Weiter zum Artikel Authentifizierung der Clients via Dovecot SASL

Ich bei Twitter