29.11. SMTP-Authentifizierung

Geschrieben von James Gorham.

Ein Mail-Server, der SMTP-Authentifizierung verwendet, bietet einige Vorteile. Die erforderliche Authentifizierung erhöht die Sicherheit von sendmail und Benutzer, die auf wechselnden entfernten Rechnern arbeiten, können denselben Mail-Server verwenden ohne Ihr Benutzerprogramm jedes Mal neu zu konfigurieren.

  1. Installieren Sie den Port security/cyrus-sasl2. Der Port verfügt über einige Optionen, die während der Übersetzung festgelegt werden. Für die in diesem Abschnitt beschriebene Methode zur SMTP-Authentifizierung muss die Option LOGIN aktiviert werden.

  2. Editieren Sie nach der Installation von security/cyrus-sasl2 die Datei /usr/local/lib/sasl2/Sendmail.conf (erstellen Sie die Datei, wenn sie nicht existiert) und fügen Sie die folgende Zeile hinzu:

    pwcheck_method: saslauthd
    
  3. Danach installieren Sie den Port security/cyrus-sasl2-saslauthd, und fügen die folgende Zeile in /etc/rc.conf ein:

    saslauthd_enable="YES"
    

    Zuletzt müssen Sie noch den saslauthd-Daemon starten:

    # /usr/local/etc/rc.d/saslauthd start
    

    Dieser Daemon agiert als Broker zwischen sendmail und Ihrer FreeBSD-passwd-Datenbank. Dadurch müssen zum Versenden von E-Mails keine zusätzlichen Accounts und Passwörter angelegt werden. Die Benutzer verwenden dasselbe Passwort zum Anmelden wie zum Verschicken von E-Mails.

  4. Fügen Sie jetzt in /etc/make.conf die nachstehenden Zeilen hinzu:

    SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL
    SENDMAIL_LDFLAGS=-L/usr/local/lib
    SENDMAIL_LDADD=-lsasl2
    

    Beim Übersetzen von sendmail werden damit die cyrus-sasl2-Bibliotheken benutzt. Stellen Sie daher vor dem Übersetzen von sendmail sicher, dass der Port cyrus-sasl2 installiert ist.

  5. Übersetzen Sie sendmail mit den nachstehenden Kommandos:

    # cd /usr/src/lib/libsmutil
    # make cleandir && make obj && make
    # cd /usr/src/lib/libsm
    # make cleandir && make obj && make
    # cd /usr/src/usr.sbin/sendmail
    # make cleandir && make obj && make && make install
    

    sendmail sollte sich ohne Probleme übersetzen lassen, wenn die Dateien in /usr/src nicht verändert wurden und die benötigten Bibliotheken installiert sind.

  6. Nachdem Sie sendmail installiert haben, editieren Sie /etc/mail/freebsd.mc beziehungsweise die verwendete .mc-Datei. Viele Administratoren verwenden die Ausgabe von hostname(1), um der .mc-Datei einen eindeutigen Namen zu geben. Fügen Sie die folgenden Zeilen in die .mc-Datei ein:

    dnl set SASL options
    TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
    define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
    

    Diese Anweisungen konfigurieren die Methoden, die sendmail zur Authentifizierung verwendet. Lesen Sie die mitgelieferte Dokumentation, wenn Sie eine andere Methode als pwcheck verwenden wollen.

  7. Abschließend rufen Sie make(1) im Verzeichnis /etc/mail auf. Damit wird aus der .mc-Datei eine neue .cf-Datei (zum Beispiel freebsd.cf) erzeugt. Das Kommando make install restart installiert die Datei nach /etc/mail/sendmail.cf und startet sendmail neu. Weitere Informationen entnehmen Sie bitte /etc/mail/Makefile.

Wenn alles funktioniert hat, tragen Sie in Ihrem Mail-Benutzerprogramm das Passwort für die Authentifizierung ein und versenden Sie zum Testen eine E-Mail. Wenn Sie Probleme haben, setzen Sie den LogLevel von sendmail auf 13 und untersuchen die Fehlermeldungen in /var/log/maillog.

Weitere Information erhalten Sie im WWW auf der Webseite von sendmail.

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <[email protected]>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <[email protected]>.