SMTP
- Erklärt
|
2.0 Einführung
Das SMTP läuft über UDP-Port 25 und dient zum Zustellen und Weiterleiten
von E-Mails vom Mail-Client zum Mail-Server und zu MTAs. SMTP wird von vielen
Computern genutzt und ist somit weit verbreitet.
3.0 Eine Beispielsession
Hier ein Beispiel einer Beispiel-Session eines Clients mit einem SMTP-Server.
Links ist die Erklärung, in der Mitte die Daten, die vom Client abgesandt
werden, und Rechts das, was der Server dem Client schickt. Dieser ganze Dialog
wird dadurch aufgebaut, dass der Client einem Server eine Anfrage auf den SMTP-Port
schickt. In diesem Falle wird der fiktive Mail-Server "mailserver.domain.org"
kontaktiert. Die Übertragung findet, wie schon erwähnt, im Klartext
als 7-bit ASCII statt, und ist somit einfach ohne teure Hilfsmittel zu lesen
oder schreiben.
Erklärung Client an Server Server an Client
Der Client begrüsst den Server. helo
Der Server verifiziert die Anmeldung des Clients, identifiziert sich und sendet
Code 250. 250 mailserver.domain.org
Der Client gibt an, von wem die zu schickende Mail stammt. mail from: <user@hidden.gov>
Der Server schickt ein weiteres Okay. 250 OK
Der Client gibt an, an wen die zu schickende Mail gerichtet ist. rcpt to: <guest@shop.net>
Der Server schickt ein weiteres Okay. 250 OK
Der Client gibt an, dass jene Daten folgen, die in den Body der zu schickenden
Mail gehören. data
Der Server akzeptiert das, und sendet die Information, dass der Client mit der
Eingabe eines einzelnen Punktes in einer neuen Zeile die zu schickende Mail
beenden soll. Start mail input; end with
<CR><LF>.<CR><LF>
Der Client schickt nun erst die Mailheader, dann eine Leerzeile und danach die
Mail-Nachricht. Die Nachricht kann alles enthalten und die Mailheader prinzipiell
auch. Erfundene Header werden genauso weitergeleitet wie Standard-Header. Mit
den Headern und deren Inhalt muss sich vorallem der Mail-Reader und der Benutzer
herumschlagen. Wenn man hier also was falsches angibt kommt die Mail zwar an,
sieht aber unter umständen seltsam aus. Der Client schließt die Übertragung
mit einem einzelnen Punkt in einer neuen Zeile ab. From: Test User <user@hidden.gov>
To: Shop Guest <guest@shop.net>
Date: Thu 14 Mar 2000 19:22:00 +0100
Subject: Mail-Test
Hallo Guest,
dies ist ein kleiner Test, ob SMTP korrekt funktioniert.
Viele Grüsse
User
.
Der Server akzeptiert und schickt ein weiteres Okay. 250 OK
Der Client verabschiedet sich. quit
Der Server sagt Tschüss. Goodbye.
Im Detail kann die
Kommunikation geringfügig anders verlaufen. Gleichzeitig kann auch mittels
des Einswählens durch Telnet auf den SMTP-Port eines vermeindlichen Mail-Servers
einen Client simulieren, wobei jedoch die eigenen Eingaben dem User verborgen
bleiben.
An dieser Stelle möchte ich noch gerne Anmerken, dass das Versenden von
unerwünschten und anstössigen Mails gesetzlich untersagt ist, und
keinesfalls gefördert werden soll.
4.0 Angriffsmöglichkeiten
SMTP ist die Basis für MIME- und Postscriptangriffe, das Einschleusen von
Viren und trojanischen Pferden.
4.1 Die fehlende Sicherheit
Das SMTP verlangt
keinerlei verschlüsselte Authentifizierung des Users beim Nutzen des Dienstes.
Die gemachten Anfragen und Angaben auf Seiten des Nutzers werden somit per 7-bit
ASCII-Klartext übermittelt und nicht auf deren Richtigkeit und Möglichkeit
einer Vortäuschung oder Manipulation hin untersucht. So kann man zum Beispiel
einem vermeindlichen Webserver eine Anfrage auf den SMTP-Port schicken, wobei
durchaus im Gutfall ein korrektes Ausführen der danach folgenden Anfragen
möglich wird. Das schlimmste kann einfach sein, dass der SMTP-Server die
Anfrage verweigert.
Die Sicherheit kann nur duch Verschlüsselung oder elektronischen Unterschriften
gewährleistet werden. Dies bedeutet, dass die Quelle von E-Mails durch
SMTP ohne Verschlüsselungs-Prozedur niemals für Dritte eindeutig ausmachbar
ist, und alle Angaben theoretisch auch erfunden oder verfälscht worden
sein könnten. Um somit Vertrauen in den Mail-Verkehr zu bringen, wird auf
bekannte Produkte wie PGP gesetzt, wobei nur beim Verwenden von starken Verschlüsselungen
der Nutzer einigermassen sicher sein kann, dass keine negativen Einflüsse
von Aussen den Verkehr beeinträchtigen können.
5.0 Schutzmöglichkeiten
Wie so oft, wenn Daten und ausführbare Programme von extern auf ein System
eingeschleust werden, können mögliche Schäden durch das Scannen
der Software auf Viren eingedämmt oder gar verhindert werden. Dies könnte
zum Beispiel in einem LAN ein Proxy machen, der den gesamten Mail-Verkehr on-the-fly
auf korrupten Programmcode überprüft. Dadurch würde der Performance-Verlust
bei den Clients wegfallen, und der Mail-Verkehr würde nicht unnötig
und merklich behindert und verlangsamt werden. Einen deutlichen Performance-Gewinn,
jedoch Grimmigkeit der User wird durch das automatische Entfernen aller Anhänge
in Mails herbeigeführt. Mein Devise ist immer: "Mir soll niemand etwas
schicken - Ich hole es mir selber, wenn ich es brauche."
Gegen die Mängel, die bei den mitgelieferten Versionen von Sendmail auftreten,
können nur ein wachsames Auge und periodische Updates weiterhelfen. Probleme
entstehen halt dort, wo keine Übersicht mehr gewährt werden kann,
und dies ist bei Sendmail leider schon seit längerem der Fall. Natürlich
kann bestenfalls auch gleich auf den SMTP-Service verzichtet werden, was ich
auch dringends empfehle.