Post Office Protocol
Aus Tuxfutter
Das Post Office Protocol version 3 (POP3) wurde ursprünglich im RFC 918 definiert, aktuell ist derzeit (Juni 2004) RFC 1939.
Es beschreibt das Verfahren, von einem entsprechenden Mailserver seine E-Mails abzuholen. POP3 wurde unter dem Gesichtspunkt entwickelt, dass nicht jeder Rechner, welcher mittels E-Mail kommuniziert, dauerhaft an ein Netzwerk angebunden ist bzw. einen MTA betreibt. Endsysteme von Benutzern verwenden häufig einen MUA (Mail User Agent), welcher nur von selbst tätig wird. Dieser nutzt POP3 zur Kommunikation mit dem Mailserver .
[Bearbeiten] Protokoll
Beispielhaft sei hier das Abholen einer E-Mail dargestellt. Mit > gekennzeichnete Zeilen werden vom Benutzer (bzw. seinem Mailclient) gesendet.
[user@host ~]$ telnet mail.server.de 110 Trying 213.165.64.20... Connected to mail.server.de. Escape character is '^]'. +OK SERVER POP3 StreamProxy ready <17186.1087331293@mp008>
> USER einuser
+OK May I have your password, please?
> PASS meingeheimespasswort
+OK mailbox has 2 messages (6061 octets)
> LIST
+OK mailbox has 2 messages (6061 octets) 1 4471 2 1590 .
> RETR 2
+OK message follows From: "Robin Beard" <d03fmdj@yahoo.com>
...
Reply-To: "Robin Beard" <d03fmdj@yahoo.com> To: user@domain.net Subject: Huge Disc0unt! ho o dsckxihzp Date: Tue, 15 Jun 04 09:22:01 GMT Content-Type: text/plain; Content-Transfer-Encoding: quoted-printable
User
Order today, and become the geek you always wanted to be.
This is one-time e-mailing. No-removal are required.
.
> DELE 2
+OK message deleted
> QUIT
+OK bye Connection closed by foreign host.
[Bearbeiten] Sicherheit
Wie im obigen Beispiel ersichtlich, überträgt POP3 die Daten im Klartext, es erfolgt keine Verschlüsselung. Ursprünglich wurde auch das Passwort (siehe unten) derart übertragen. Da die Klartext deutliche Sicherheitsprobleme nach sich zog, wurden in späteren Versionen Erweiterungen im Authentifizierungsmechanismus definiert, welche eine Klartext-Übertragung des Passworts verhindern:
- LOGIN
- CRAM-MD5
- DIGEST-MD5
- APOP
An dieser Stelle sei lediglich APOP erläutert:
Zu Beginn der Kommunikation überträgt der Server eine Grußformel:
+OK SERVER POP3 StreamProxy ready <17186.1087331293@mp008>
In dieser ist ein Einmalwert (hier: <171 ... 008>) enthalten, welcher bei jeder Anmeldung anders lautet. An diesen hängt nun der Client sein geheimes Passwort an und bildet über die so erhaltene Zeichenkette einen Hash-Wert. Diesen übergibt er dann zusätzlich zur Benutzerkennung dem APOP-Kommando und weist damit die Kenntnis des geheimen Passworts nach. Durch die prinzipiellen Eigenschaften von Hash-Funktionen ist es nicht möglich, anhand der Kenntnis des Hash-Werts den Original-Text zu ermitteln.

