SASL: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
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 <nowiki>RFC 4954</nowiki> und <nowiki>RFC 4422</nowiki> ). 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.  
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 <nowiki>RFC 4954</nowiki> und <nowiki>RFC 4422</nowiki> ).  
* 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 ==
== Einführung ==
Zeile 27: Zeile 32:
     -o smtpd_recipient_restrictions=permit_sasl_authenticated,ablehnen
     -o smtpd_recipient_restrictions=permit_sasl_authenticated,ablehnen
     -o milter_macro_daemon_name=URSPRUNG  
     -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.  
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.  
Die drei Restriktionsoptionen (client, helo, sender) können auch auskommentiert bleiben, da smtpd_recipient_restrictions bereits SASL-Benutzer behandelt.  

Version vom 20. Juli 2022, 22:47 Uhr

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

In diesem Artikel erfahren Sie, wie Sie die SASL-Authentifizierung für Postfix einrichten.

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.

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.cfund fügen Sie die folgenden Zeilen unter der hinzu submissionoder smtpAbschnitt (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_restrictionsMö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_pathOption von master.cf

abschließend Postfix- als auch den Dovecot-Dienst neu.

Siehe auch

  1. Postfix SASL Readme in der offiziellen Postfix-Dokumentation.
  2. SASL-Authentifizierung mit Dovecot in der offiziellen Dovecot-Dokumentation.
  3. Centos Howto Postfix SASL