SMTP-Auth

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

SMTP-Auth (SMTP-Authentifizierung, auch als ASMTP bezeichnet) ist eine Erweiterung des ESMTP-Protokolls, die einem Mailserver eine Authentifizierung des Clients anhand seines Nutzernamens und Kennworts ermöglicht.

Über einen SMTP-Auth-fähigen Server können normalerweise nur noch authentifizierte Absender Mails weiterleiten, was dazu beiträgt, den Missbrauch des Mailservers für Spam zu verhindern. Weiterleiten bezeichnet dabei das Versenden einer E-Mail an Empfänger außerhalb der Zuständigkeit des verwendeten Mailservers (siehe SMTP-Relay-Server). Gleichzeitig kann in den Log-Dateien nachvollzogen werden, wer einen SMTP-Server zum Mailrelay genutzt hat.

Der Server bietet verschiedene Authentifizierungsmechanismen an, wovon sich der Client einen aussucht. Der Server stellt dem Client daraufhin je nach Mechanismus einen Challenge oder weist ihn zum Fortfahren an. Je nach gewählten Verfahren erfolgt eine Verschlüsselung.

Die SMTP-Authentifizierung ist im RFC 4954 (welches RFC 2554 obsolet macht) festgehalten.

Authentifizierungs-Verfahren[Bearbeiten]

Für die Authentifizierung am Server sind verschiedene Mechanismen verfügbar. Je nach SMTP-Server und dessen Konfiguration werden verschiedene Verfahren durch den Server angeboten.

PLAIN[Bearbeiten]

Die PLAIN-Authentifizierung ist im RFC 4616 standardisiert. Hierbei wird Benutzername (zur Autorisierung), Benutzername (zur Authentifizierung) und Passwort unverschlüsselt übertragen. Die drei Zeichenketten werden in einer Zeichenkette zusammengefasst und Base64-kodiert.

LOGIN[Bearbeiten]

Bei der LOGIN-Authentifizierung wird wie bei der PLAIN-Authentifizierung der Benutzername und das Passwort unverschlüsselt Base64-kodiert übertragen. Im Unterschied zur PLAIN-Authentifizierung werden die beiden Zeichenketten in zwei Schritten übertragen.

CRAM-MD5[Bearbeiten]

Die CRAM-MD5-Authentifizierung ist im RFC 2195 standardisiert.

SCRAM-SHA-1[Bearbeiten]

Die SCRAM-SHA-1-Authentifizierung ist im RFC 5802 standardisiert.

NTLM[Bearbeiten]

Die Authentifizierung erfolgt über NTLM.

Beispiel[Bearbeiten]

Die folgende ESMTP-Session demonstriert die Authentifizierung mittels des LOGIN-Verfahrens. Somit erfolgt eine Base64-Kodierung des Benutzernamens "hans". Beachte: Base64-Kodierung stellt keine Verschlüsselung dar.

> 220 mail.example.org ESMTP
< EHLO example.net
> 250-example.org Hello example.net
> 250 AUTH CRAM-MD5 LOGIN PLAIN
< AUTH LOGIN
> 334 VXNlcm5hbWU6
< aGFucw==
> 334 UGFzc3dvcmQ6
< c2Nobml0emVsbWl0a2FydG9mZmVsc2FsYXQ=
> 235 ok
< MAIL FROM:<hans@example.net>
> 250 ok
< RCPT TO:<fritz@example.org>
> 250 ok
< DATA
> 354 Go ahead.
< From:<hans@example.net>
< To:<fritz@example.org>
< Subject: Hallo
<
< Hallo Fritz.
< .
> 250 Mail delivered.
< QUIT
Klartext (base64 decoded)



334 Username:
hans
334 Password:
schnitzelmitkartoffelsalat

Siehe auch[Bearbeiten]

Weblinks[Bearbeiten]

  • RFC 1321 – The MD5 Message Digest Algorithm
  • RFC 2104 – HMAC: Keyed-Hashing for Message Authentication
  • RFC 2195 – IMAP/POP AUTHorize Extension for Simple Challenge/Response
  • RFC 2554 – SMTP Service Extension for Authentication (obsolet durch RFC 4954)
  • RFC 2595 – Using TLS with IMAP, POP3 and ACAP
  • RFC 4616 – The PLAIN Simple Authentication and Security Layer (SASL) Mechanism
  • RFC 4954 – SMTP Service Extension for Authentication