Schlagwort-Archive: Cyrus-SASL

Postfix mit SASL-Authentifizierung verwenden

SMTP-Server müssen entscheiden, ob ein SMTP-Client autorisiert ist E-Mails zu versenden, für die der Server selbst zuständig ist.

Simple Authentication and Security Layer (SASL) Integration Postfix


Diese Anleitung beschreibt, wie man ein MTA (Mail Transport Agent) Postfix unter CentOS 7 mit CyrusSASL zur SMTP-Authentifizierung (SMTP-Auth) erweitert. Danach können Clients E-Mails mittels SMTP-Auth versenden. Diese Anleitung ist geprüft unter CentOS Linux release 7.7.1908 (Core), mit Postfix v2.10.1 und Cyrus-SASL 2.1.26. Es wird davon ausgegangen das Postfix bereits konfiguriert ist und TLS (Transport Layer Security) implementiert ist.

Postfix implementiert die SASL Library nicht selbst, sondern verwendet vorhandene Implementierungen als Bausteine. Dies bedeutet, dass einige SASL-bezogene Konfigurationsdateien zu Postfix gehören, während andere Konfigurationsdateien zu der spezifischen SASL-Implementierung gehören, die Postfix verwenden wird.

Installieren von Cyrus-SASL auf dem MTA

Mit folgendem Befehl:

Die einzelnen SASL-Mechanismen werden als RPMs installiert.

Damit SASL konfiguriert werden kann, darf Postfix nicht im chroot-Verzeichnis laufen. Hierzu die modifikation der Datei /etc/postfix/master.cf wie folgt:

SMTP-Auth für lokale Benutzer konfigurieren, wir editieren die Postfix Datei /etc/postfix/main.cf:

Die Konfiguration von Cyrus-SASL erfolgt durch zwei Dateien. Die erste Datei /etc/sysconfig/saslauthd kann übernommen werden:

Die SASL-Mechanismen PLAIN und LOGIN, CRAM-MD5 und DIGEST-MD5 kommen oft zum Einsatz, hierfür ist die Konfigurationsdatei /etc/sasl2/smtpd.conf, die bereitstellung wurde ebenfalls bei der Installation durchgeführt:

Cyrus-SASL Library Daemon starten und systemd autostart aktivierung, sowie den Postfix Daemon neu starten:

SMTP-Submission Support auf Port 587 ist nun aktiviert, überprüfen lässt sich dies mit folgendem Kommando:

Zur Authentifizierung am SMTP-Gateway wird nun ein Benutzer erstellt, dieser E-Mails über den MTA versenden soll:

  Eine lokale UserID ist für unsere Anforderung hier ausreichend, Cyrus-SASL unterstützt weiter LDAP und SQL, um mit beispielweise Kopano oder einem AD Verzeichnisdienst zu interagieren.

Cyrus-SASL SMTP-Auth Testen

Welche Mechanismen zur Authentifizierung innerhalb von STARTTLS unterstützt werden, kann mit OpenSSL überprüft werden:

In der Ausgabe von openssl ein EHLO übergeben:

Eine telnet Session zum MTA mail.relayhost.net über Port 587 starten, dazu kann PuTTY oder KiTTY verwendet werden.

Der Benutzername und das Passwort muss Base64-kodiert an das SMTP-Gateway übertragen werden, ein solch kodierter String kann in der Shell Console erzeugt werden.

Folgende Eingaben im Terminal ausführen, um die SASL SMTP-Auth Konfiguration zu überprüfen.

Die Ausgabe von SMTP-Auth des Postfix MTA mit Cyrus-SASL.

Die oben kodierten Credentials bei den 334 Prompts einfügen, hier bei Zeile 15 als User24 und bei Zeile 17 unser Password.

  Ein 250 STARTTLS in der Ausgabe zeigt die Voraussetzungen, das Klartext-Benutzernamen mit Passwort durch STARTTLS geschützt an das SMTP-Gateway übermittelt werden.