SASL: Unterschied zwischen den Versionen
K Textersetzung - „Exit-Status“ durch „Rückgabewert“ |
K Textersetzung - „== Syntax ==“ durch „== Aufruf ==“ |
||
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''topic''' | '''topic''' - Kurzbeschreibung | ||
== Beschreibung == | == Beschreibung == | ||
Zeile 24: | Zeile 24: | ||
== Installation == | == Installation == | ||
== | == Aufruf == | ||
=== Optionen === | === Optionen === | ||
=== Parameter === | === Parameter === | ||
=== | === Umgebung === | ||
=== Rückgabewert === | === Rückgabewert === | ||
Zeile 135: | Zeile 135: | ||
== Dokumentation == | == Dokumentation == | ||
=== RFC === | === RFC === | ||
=== Man- | === Man-Page === | ||
=== Info-Pages === | === Info-Pages === | ||
=== Siehe auch === | === Siehe auch === |
Aktuelle Version vom 12. November 2024, 18:48 Uhr
topic - Kurzbeschreibung
Beschreibung
Die SMTP-Protokollspezifikationen enthalten eine Möglichkeit zur Benutzerauthentifizierung, geben jedoch nicht die genauen Details des Protokollnachrichtenaustauschs an und greifen stattdessen auf den SASL-Standard (Simple Authentication and Security Layer) zurück (siehe RFC 4954 und RFC 4422 ).
- SASL ist ein generisches Authentifizierungs-Framework für Authentifizierungsmechanismen, von denen es viele gibt, und jeder von ihnen hat sein eigenes spezielles Verfahren, das die notwendigen kryptografischen Schritte vorschreibt, die mit den Authentifizierungsdaten und Nachrichten zum Austausch über die Verbindung durchzuführen sind.
- Daher authentifiziert Postfix selbst SMTP-Benutzer nicht mit Benutzernamen und Passwörtern oder auf andere Weise, um keine künstlichen Grenzen für die damit verwendbaren Authentifizierungsmechanismen aufzuerlegen.
- Es verlagert diese Aufgabe auf eine SASL-Implementierung, die separat installiert werden muss.
- Der SASL-Authentifizierungs-Daemon ist sowohl für die Richtlinie (dh wo gültige Benutzernamen und Geheimnisse wie Passwörter aufbewahrt werden) als auch für den Mechanismus (wie genau Clients Anmeldeinformationen bereitstellen) verantwortlich.
- Dies steht im Gegensatz zu zB OpenSMTPD , das nur PLAIN- und LOGIN-SASL-Mechanismen unterstützt, aber nicht auf externe Bibliotheken oder Dämonen angewiesen ist.
Einführung
Sobald Postfix eingerichtet ist und ausgeführt wird, können Sie die SASL-Authentifizierung hinzufügen, um eine Weiterleitung zu vermeiden.
- Um zu verhindern, dass anonyme Benutzer spammen, können nur authentifizierte und vertrauenswürdige Benutzer E-Mails senden.
Da Postfix -Paket in [extra] bereits mit SASL-Unterstützung kompiliert ist, haben Sie zwei Möglichkeiten, um die SASL-Authentifizierung zu aktivieren:
- Verwenden Sie das cyrus-sasl- Paket.
- Oder aktivieren Sie Ihr bereits konfiguriertes Dovecot , um die Postfix-Authentifizierung (sowie seine eigene) zu handhaben.
- Von der Postfix-Website
- Leute, die sich die Mühe machen, Postfix zu installieren, haben vielleicht die Erwartung, dass Postfix sicherer ist als einige andere Mailer.
- Die Cyrus SASL-Bibliothek enthält viel Code.
- Damit wird Postfix so sicher wie andere Mailsysteme, die die Cyrus SASL-Bibliothek verwenden.
- Dovecot bietet eine Alternative, die eine Überlegung wert sein könnte.
Installation
Aufruf
Optionen
Parameter
Umgebung
Rückgabewert
Konfiguration
Dateien
Anwendung
Konfiguration mit dem Paket cyrus-sasl
Installieren Sie das cyrus-sasl- Paket.
Um SASL für das Akzeptieren von E-Mails von anderen Benutzern zu aktivieren, öffnen Sie den „Nachrichtenübermittlung“ (TCP 587) in /etc/postfix/master.cf
, indem Sie diese Zeilen auskommentieren (die standardmäßig vorhanden sind, nur kommentiert):
Übermittlung inet n - n - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=verschlüsseln -o smtpd_sasl_auth_enable=ja -o smtpd_reject_unlisted_recipient=nein # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions -o smtpd_recipient_restrictions=permit_sasl_authenticated,ablehnen -o milter_macro_daemon_name=URSPRUNG
Beachten Sie, dass dies auch SSL aktiviert.
- Wenn Sie also kein SSL-Zertifikat haben, lassen Sie die Option "smtpd_tls_security_level" auskommentiert.
Die drei Restriktionsoptionen (client, helo, sender) können auch auskommentiert bleiben, da smtpd_recipient_restrictions bereits SASL-Benutzer behandelt.
SASL kann verschiedene Authentifizierungsmethoden verwenden. Der Standardwert ist PAM (wie konfiguriert in /etc/conf.d/saslauthd
), aber um es richtig einzurichten, müssen Sie es erstellen /etc/sasl2/smtpd.conf
:
pwcheck_method: saslauthd mech_list: EINFACHES LOGIN log_level: 7
Da pambase 20190105.1-1 und neuer einen restriktiven Fallback für "andere" PAM-Dienste verwendet, ist jetzt eine pam-Konfigurationsdatei erforderlich. [1] [2]
Schaffen /etc/pam.d/smtp
.
#%PAM-1.0 Authentifizierung erforderlich pam_unix.so Konto erforderlich pam_unix.so
Bei Verwendung von PAM in Verbindung mit openldap zur Authentifizierung ist eine alternative pam-Konfigurationsdatei ( /etc/pam.d/smtp
) könnte ähnlich aufgebaut sein wie: LDAP-Authentifizierung#PAM-Konfiguration
#%PAM-1.0 auth ausreichend pam_ldap.so try_first_pass minimum_uid=2000 Authentifizierung erforderlich pam_unix.so Konto ausreichend pam_ldap.so minimum_uid=2000 Konto erforderlich pam_unix.so
Starten/aktivieren Sie die saslauthd.service
.
Starten Sie die postfix.service
.
Wenn Sie den SASL-PAM-Authentifizierungsprozess validieren möchten, kann der folgende Befehl ausgeführt werden, um festzustellen, ob SASL über PAM authentifizieren kann:
# testsaslauthd -u <Benutzername> -p <Passwort> -s smtp
Hoffentlich sollten Sie mit Telnet auf Ihren Postfix-Server zugreifen können:
telnet localhost 587
Sie sollten dann Folgendes eingeben:
EHLO example.com
Dies ist ungefähr das, was Sie sehen sollten:
Versuche es mit 127.0.0.1... Verbunden mit localhost.localdomain Escape-Zeichen ist '^]' 220 Justin ESMTP-Postfix EHLO-Beispiel.com 250-justin 250-PIPELINING 250-GRÖSSE 10240000 250-VRFY 250-ETRN 250-AUTH PLAIN OTP DIGEST-MD5 CRAM-MD5 250 8BITMIME
Konfiguration mit Dovecot
Wenn Sie Dovecot als IMAP- oder POP-Mailserver verwenden und sich Ihre Benutzer bereits authentifizieren (möglicherweise mit PAM), müssen Sie kein weiteres Paket konfigurieren.
Einfach bearbeiten /etc/postfix/master.cf
und fügen Sie die folgenden Zeilen unter der hinzu submission
oder smtp
Abschnitt (je nachdem, was Sie verwenden):
# SASL-Authentifizierung mit dovecot -o smtpd_tls_security_level=verschlüsseln -o smtpd_sasl_auth_enable=ja -o smtpd_sasl_type=Taubenschlag -o smtpd_sasl_path=privat/auth -o smtpd_sasl_security_options=noanonymous -o smtpd_sasl_local_domain=$meinHostname -o smtpd_client_restrictions=permit_sasl_authenticated,ablehnen -o smtpd_recipient_restrictions=reject_non_fqdn_recipient,reject_unknown_recipient_domain,permit_sasl_authenticated,reject
Die Verwendung dieser Konfiguration impliziert, dass nur authentifizierte Benutzer E-Mails senden können. Sie können dies von sehen smtpd_client_restrictions
Möglichkeit.
Fügen Sie nun Folgendes zur Dovecot-Konfigurationsdatei hinzu /etc/dovecot/conf.d/10-master.conf
:
Service-Authentifizierung { unix_listener /var/spool/postfix/private/auth { Gruppe = Postfix Modus = 0660 Benutzer = postfix } Benutzer = root }
Wie Sie sehen, wird ein Unix-Socket erstellt /var/spool/postfix/private/auth
, das gleiche angegeben in smtpd_sasl_path
Option von master.cf
abschließend Postfix- als auch den Dovecot-Dienst neu.
Sicherheit
Dokumentation
RFC
Man-Page
Info-Pages
Siehe auch
- Postfix SASL Readme in der offiziellen Postfix-Dokumentation.
- SASL-Authentifizierung mit Dovecot in der offiziellen Dovecot-Dokumentation.
- Centos Howto Postfix SASL