Mit E-Mail-Diensten muss sich jeder Administrator früher oder später einmal beschäftigen. Das zur CeBIT erscheinende ADMIN 02/2012 gibt dazu Praxis-Tipps und ... (mehr)

Sichere Authentifizierung

Bekanntlich bietet SMTP von Haus aus keine Authentifizierungsmechanismen. Zweifelsohne hat die Verfügbarkeit nicht authentifizierender SMTP-Server, sogenannter offener Relays, der heute allgegenwärtigen Spam-Problematik enormen Vorschub geleistet. Wer wie in unserem Beispiel einen eigenen Mailserver mit direkter Internetanbindung plant, muss sich daher Gedanken über die Authentifizierung seiner Clients machen, sofern es sich nicht um Hosts aus den eigenen Netz handelt. Die SASL-Bibliotheken haben sich in diesem Zusammenhang über die Jahre als zuverlässige SMTP-AUTH-Lösung bewährt und existieren sowohl in einer Implementation für Cyrus als auch für Dovecot. SASL lässt sich mit folgenden Directiven in »/etc/postfix/main.cf« aktivieren:

 

Dabei legt »smtpd_sasl_type« die Art der SASL-Implementierung fest, »smtpd_sasl_path« den Pfad zum Authentifizierungs-Daemon. Achtung: Die Pfadangabe zum SASL-Daemon erfolgt hier aus den geschilderten Gründen relativ, weil Postfix im Beispiel auf Basis von Ubuntu (Debian) zum Einsatz kommt und daher im Chroot-Modus läuft. Der Einsatz der Dovecot-SASL-Bibliotheken und -Module sorgt dafür, dass nur solche Clients E-Mails über den konfigurierten SMTP-Server versenden dürfen, die sich vorher erfolgreich bei diesem authentifiziert haben. Postfix-seitig genügt dazu das gezeigte Aktivieren von Dovecot SASL, weil Dovecot dann die gesamte Authentifizierung selbst übernimmt.

OpenSSL einrichten

SASL sorgt zwar dafür, dass sich Clients gegenüber dem SMTP-Server authentifizieren können, die eigentlichen Zugangsdaten gehen aber ohne weitere Konfiguration im Klartext beziehungsweise Base64 kodiert über die Leitung. Daher ist es für einen sicheren Mailserver auf jeden Fall unumgänglich, die gesamte Kommunikation zwischen Client und Server mit TLS zu verschlüsseln. Damit Postfix TLS verwendet, muss der Administrator die Datei »/etc/postfix/main.cf« um einige Direktiven erweitern. Zunächst schaltet die Anweisung »smtpd_use_tls=yes« die TLS-Verschlüsselung ein. Das auf den ersten Blick tolerante Security-Level

 

ist leider meist nötig, weil es sonst nicht möglich wäre, E-Mails von Mailservern ohne TLS-Unterstützung anzunehmen. Insofern ist der Parameter auch nur mit »may« wirklich sinnvoll, wenngleich »encrypt« konsequenter wäre. Daher ist auch »smtpd_tls_auth_only = no« folgerichtig. Danach folgen die Pfade zu den Zertifikats- und Schlüsseldateien.

 

Außerdem muss der Admin die folgenden beiden TLS-spezifischen Zeilen in die »main.cf« einfügen:

 

Was die SSL-Zertifikate angeht, spricht nichts dagegen, ein freies Zertifikat, etwa von CAcert, zu verwenden. Hat der Admin beispielsweise ein CAcert-Zertifikat generiert, das für alle Hosts der Domain »meinefirma.de« gültig ist, muss er das Zertifikat »Zertifikat.pem« nach »/etc/ssl/certs« und die zugehörigen privaten Schlüssel »Schluessel.key« nach »/etc/ssl/private« kopieren und darf danach nicht vergessen, den privaten Schlüssel vor Lesezugriffen Dritter zu schützen (»chmod 0600« ).

Selbstverständlich spricht auch nichts dagegen, mit OpenSSL selbst temporär gültige lokale Zertifikaten zu verwenden. So erstellt etwa

 

einen privaten RSA-Schlüssel mit 2048 Bit Länge und

 

erstellt einen sogenannten CSR (Certificate Signing Request), der die Funktion eines public key, erweitert um einige zusätzlichen Informationen, übernimmt. Hier muss der Admin nur darauf achten, bei der Frage nach dem Common Name (CN) den gewünschten vollständigen Hostnamen einzutragen (zum Beispiel »mail.meinefirma.de« ). Mit

 

kann der Admin dann ein selbst signierten Zertifikat mit einer Gültigkeit von 365 Tagen erzeugen.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Setup eines Kubernetes-Clusters mit Kops

Vor allem für Testinstallationen von Kubernetes gibt es einige Lösungen wie Kubeadm und Minikube. Für das Setup eines Kubernetes-Clusters in Cloud-Umgebungen hat sich Kops als Mittel der Wahl bewährt. Wir beschreiben seine Fähigkeiten und geben eine Anleitung für den praktischen Einsatz. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Container

Wie setzen Sie Container ein?

  • Gar nicht
  • Docker standalone
  • Docker mit Kubernetes
  • Docker mit Swarm
  • Docker mit anderem Management
  • LXC/LXD
  • Rocket
  • CRI-O auf Kubernetes
  • Container auf vSphere
  • Andere (siehe Kommentare auf der Ergebnisseite)

Google+

Ausgabe /2018

Microsite