Unter Linux können zwei Programme für E-Mail konfiguriert werden: Ein E-Mail-Client-Programm (z.B. Thunderbird) und der E-Mail-Dienst (z.B. Postfix).
Der E-Mail-Client wird normalerweise interaktiv vom Benutzer verwendet, um Mail zu lesen und zu senden.
Der E-Mail-Dienst wird von anderen Diensten (z.B. cron, automatische Updates, Kommandozeilenprogramme mail oder mailx…) benutzt, um E-Mails zu versenden.
Dieser Artikel behandelt die Konfiguration des E-Mail-Dienstes Postfix als „Satellite System“ für Linux-PCs außerhalb der FHS (also PCs/Laptops zu Hause, die über einen beliebigen Provider eine Internet-Verbindung herstellen).
Werden von außerhalb der FHS E-Mails über den SMTP-Server der Hochschule verschickt, verlangt dieser eine Authentifizierung des Nutzers mit Namen und Passwort. Diese Daten werden nicht im Klartext übertragen, der SMTP-Server fordert eine TLS-Verschlüsselung mit STARTTLS.
Für die verschlüsselte Verbindung zur FHS werden Zertifikate benötigt, diese müssen zunächst installiert werden.
Laden Sie jeweils die Zertifikate im PEM-Format herunter:
Legen Sie das Verzeichnis /etc/postfix/certs an, falls es noch nicht existiert!
Speichern Sie die drei Zertifikate in /etc/postfix/certs!
Mit dem nachfolgenden Script Legen Sie symbolische Links an, die den Hash des jeweiligen Zertifikates im Namen tragen. Bitte beachten Sie: Vor dem .0 im Namen muss der jeweils ausgegebene Hash-Wert stehen. Dieser hängt einerseits von der bei Ihnen installierten openssl-Version ab, andererseits ändert er sich, wenn Zertifikate erneuert werden.
cd /etc/postfix/certs openssl x509 -subject_hash -noout -in telekom.crt ln -s telekom.crt 812e17de.0 openssl x509 -subject_hash -noout -in dfn.crt ln -s dfn.crt 6107e209.0 openssl x509 -subject_hash -noout -in fhs-ca.crt ln -s fhs-ca.crt 74f0e817.0 chmod 644 812e17de.0 6107e209.0 74f0e817.0
bitte prüfen ob die Zertifikatskette ausreicht:
https://pki.pca.dfn.de/fh-schmalkalden-ca/pub/cacert/chain.txt
Vergewissern Sie sich, dass in der Datei /etc/services die Einträge
submission 587/tcp msa submission 587/udp msa
vorhanden sind. Erstellen Sie die Einträge, falls noch nicht vorhanden!
In /etc/postfix/main.cf nehmen Sie folgende Einstellungen vor:
relayhost=[smtp.fh-schmalkalden.de]:submission smtp_tls_security_level = encrypt smtp_tls_CApath = /etc/postfix/certs smtp_sasl_auth_enable = yes smtp_sasl_security_options = noanonymous smtp_sasl_password_maps = hash:/etc/postfix/sasl_password sender_canonical_maps = hash:/etc/postfix/sender_canonical
Der erste Block mit dem Eintrag „relayhost=[smtp.fh-schmalkalden.de]:submission“ legt fest, dass alle ausgehenden E-Mails über Port 587 auf Host smtp.fh-schmalkalden.de versendet werden.
Der zweite Block mit den „smtp_tls…“-Einträgen sorgt dafür, dass TLS-Verschlüsselung verwendet wird und gibt an, wo die für den Vertrauenspfad benötigten CA-Zertifikate zu finden sind.
Der dritte Block mit den „smtp_sasl…“-Einträgen konfiguriert die Authentifizierung. Die erste Zeile erlaubt die Authentifizierung für ausgehendes SMTP, die zweite Zeile verbietet SMTP ohne Authentifizierung. Die dritte Zeile legt fest, dass die Angaben zu Benutzernamen und Passwort in der Datenbank-Datei /etc/postfix/sasl_password.db stehen, die aus der Textdatei /etc/postfix/sasl_password erzeugt wird. Diese Dateien müssen wir später noch anlegen.
Der vierte Block mit dem „sender_canonical_maps“-Eintrag konfiguriert die benutzten Absender-Adressen.
In der Datei /etc/postfix/sasl_password wird der Benutzername und das Passwort für die Verbindung mit smtp.fh-schmalkalden.de festgelegt:
[smtp.fh-schmalkalden.de]:submission user:password
Sie müssen hier Nutzernamen und Passwort Ihrer FHS-ID einsetzen. Mit
chown root:root /etc/postfix/sasl_password chmod 600 /etc/postfix/sasl_password postmap /etc/postfix/sasl_password
setzen Sie die erforderlichen Zugriffsrechte auf die Datei und legen die Datenbank an. Nach jeder Änderung an /etc/postfix/sasl_password muss der postmap-Befehl erneut verwendet werden.
Einige Dienste und Programme senden E-Mails an lokale Benutzer. In der Datei /etc/aliases wird festgelegt, welche E-Mail-Adresse lokalen Benutzern zugeordnet ist. Wichtig ist, dass für Postmaster, root und alle „normalen“ Nutzeraccounts eine E-Mail-Adresse festgelegt ist.
Nach Änderungen an /etc/aliases benutzen Sie
newaliases
um die Änderungen wirksam zu machen.
Werden ausgehende E-Mails über einen Relay-Host verschickt, muss auch als Absender eine „richtige“ E-Mail-Adresse verwendet werden. Die Datei /etc/postfix/sender_canonical nimmt die Zuordnung von lokalen Benutzeraccounts zu E-Mail-Adressen vor. Für root und für jeden „normalen“ Nutzeraccount sollte hier ein Eintrag stehen.
Nach Änderungen an der Datei muss
postmap /etc/postfix/sender_canonical
ausgeführt werden, um die Datenbank neu zu erzeugen.
Mit
/etc/init.d/postfix stop /etc/init.d/postfix start
wird postfix neu gestartet, um die geänderte Konfiguration zu übernehmen.