versenden von emails - smtp geschichte funktionsweise befehle das problem praktische aufgabe...
TRANSCRIPT
Versenden von eMails - SMTP Geschichte Funktionsweise Befehle Das Problem Praktische Aufgabe Erweiterungen Diskussion
SMTP - Geschichte Simple Mail Transfer Protocol Definiert in RFC 821 (aktuelle Spez. RFC 2821) Nachrichten verlässlichen und einfach senden 1982 stellt Jon Postel SMTP vor ARPANET brauch TCP/IP, aber auch lauffähig unter
anderen Protokollen NCP, NITS
SMTP – Funktionsweise – Grundsätzl. MUA – Mail User Agent (Outlook) MTA – Mail Transfer Agent (sendmail) MDA - Mail Delivery Agent (procmail)
SMTP – Funktionsweise E-Mail Client öffnet Verbindung mit MTA Begrüssung des Server mit „HELO“ Antwort vom Server: „250 Hello <IP-Adresse>“ E-Mail Client teilt Server Absendermailadresse
mit Server kontrolliert diese nach Syntax, antwortet
entsprechend E-Mail Client teilt Server der/die Empfänger mit
SMTP – Funktionsweise Server kontrolliert Syntax E-Mail Client sendet DATA Befehl Server Antwort „354 Enter message...“ Nachricht wird übermittelt Server versucht Mail nun zum Server zu
senden auf der das Postfach liegt Frage: Wie findet, bzw. woher kennt der Server
den Server auf den das Postfach liegt?
SMTP – Funktionsweise - DNS DNS – Domain Name System Datenbank von Domains und IP-Adresse SMTP-Server kontaktiert DNS mit der Mailadresse und erhält IP-Adresse
SMTP – Funktionsweise Server stellt Verbindung zu Server auf dem
Postfach liegt her, handelt wie zuvor E-Mail Client
Mail wird zum Postfach geleitet Postfach existiert nicht: Mail wird mit
Fehlermeldung zurückgeschickt
Verweis: Empfangen von eMails - POP3/IMAP
SMTP – Befehle - Statusmeldungen SMTP Antworten haben die Form: „xyz
optionalerText“- x gibt die Art der Antwort an, z.B. positiv, negativ, unvollständig, usw.- y teilt die Antwort in verschiedene Kategorien ein- z gibt detailierte Auskunft zu jeder Kategorie
SMTP – Befehle - HELO Der erste Befehl einer Sitzung identifiziert den Client am Server Syntax: HELO <SMTP-Server Adresse> Antwort: „250 OK“, „501 Syntax error“
SMTP – Befehle - MAIL ist start eine Mailübertragung legt den Absender fest Syntax: MAIL FROM:<reverse-path> z.B.: MAIL FROM: <[email protected]> Antwort: „250 OK“, „501 Syntax error“
SMTP – Befehle - RCPT legt den Empfänger fest kann mehrmals ausgeführt werden für mehrere
Empfänger Syntax: RCPT TO:<forward-path> z.B.: RCPT TO: <[email protected]> Antwort: „250 OK“, „501 Syntax error“, „554
Relay access denied“, „550 User unknown“
SMTP – Exkurs - Relaying RCPT
TO:<@host1.de:@host2.com:[email protected]> alle Server werden durchlaufen wobei Domains aus forward-path gelöscht
werden und in den reverse-path eingetragen werden
Sinn: ARPANET hatte kein DNS und nicht jeder kannte jeden
heute verbieten es die meisten Server
SMTP – Befehle - DATA Text der Mail Syntax: DATA<ENTER>
Hier kommt der Text! Noch eine Zeile! .
Antwort: nach DATA „354 End Data with...“ nach . „250 OK“
SMTP – weitere Befehle QUIT – beendet die Verbindung RSET (RESET) – bricht Mailtransaktion ab VRFY (VERIFY) – überprüft
Empfängermailadresse EXPN (EXPAND) – (liefert Teilnehmer einer
Mailingliste) NOOP – aufrechterhalten der Verbindung ...
SMTP – Das Problem keine Identifizierung des Versenders von einer
Mail SMTP „glaubt“ dem Benutzer alles Grund: Problem wurde nicht erkannt im
ARPANET Ergebnis: Millionen von Spam-Mails
Verweis: Spamfilter - Übersicht
SMTP – Praktische Aufgabe Ziel: Eine Nachricht unter falschem Namen
versenden. (Weitestgehend den Orginalabsender verschleiern)
3.Möglichkeiten1. Mailserver auf dem das Postfach existiert2. Offene Relays suchen3. Eigenen kleinen SMTP Relay Server
SMTP – Praktische Aufgabe - 1 telnet www.r-e-m-o.de 25
SMTP – Praktische Aufgabe - 1
SMTP – Exkurs – Aufbau einer E-Mail Envelope, Header, Body
SMTP – Exkurs – Aufbau einer E-MailHeaderzeilen: From: Heinz-Gustav Hinz <heinz-
[email protected]> To: Karl-Heinz Schmitt <[email protected]> Subject: Hallo Nachbar! ...
SMTP – Praktische Aufgabe - 2 offene Relays über
Internetseiten finden
selbst suchen mit Programmen
SMTP – Praktische Aufgabe – 2
SMTP – Praktische Aufgabe – 3 eigener
Server
SMTP – Erweiterungen – ESMTP Extended SMTP nutzen heute die meisten
Mailserver 1993 veröffentlicht
EHLO statt HELO meldet verfügbare Erweiterungen:
SMTP – Erweiterungen – ESMTP Definition, in denen ein Server den Clients
erweiterte Fähigkeiten mitteilen kann, in RFCs 1425, 1651, 1869 festgelegt
offizielle Erweiterungen z.B.:- „SIZE“ gibt max. Größe der Mail an- „8BITMIME“ erlaubt 8-Bit-ASCII-Zeichen- Mitteilungen über Status der Mail Auslieferung- Authentifizierungs-Kommando AUTH
SMTP – Erw. – SMTP-after-POP erst erfolgt Authentifizierung über POP freischalten der IP für eine kurze Zeit zum
senden von Mails vorrübergehende Lösung
SMTP – Erw. – SMTP-after-POPNachteile: Nutzer nur bestimmte Zeit freigeschaltet Probleme mit einigen E-Mail Programmen Router, da das gesammte Netzwerk mit
gleicher IP im Internet ist
SMTP – Erweiterungen - SMTP Auth Aufgabe: feststellen ob User eine Mail versenden
darf oder nicht Authentifizierung über Username/Passwort-
Kombination Verschiedene Login-Optionen:
- LOGIN (unsicher)- CRAM MD5 (mit Prüfsumme -> relativ sicher)- PLAIN (unsicher ohne weitere Mechanismen wie z.B. SSL)- ...
SMTP – Erweiterungen - SMTP Auth Frage: Ist mit SMTP Auth nun das Problem des
anonymen Mail versendens gelöst?
SMTP – Erweiterungen - SMTP Auth Antwort: Nein, den die Mailserver werden nicht
authentifiziert!
SMTP – Erweiterungen – AMTP Authenticated Mail Transfer Protocol Benutzt TLS (SSL bei Webservern), dadurch
größere Sicherheit setzt auf SMTP auf, ist aber eigenständiges
Protokoll das parallel mit SMTP auf anderen Port laufen kann
Mailserver Authentifikation
SMTP – Erweiterungen – weitere SMTP over SSL/TLS
- schon verfügbar TEOS (Trusted E-mail Open Standard)
- erweitert auch SMTP
SMTP – Literaturhinweise RFC 821, 2821 (http://www.rfc-editor.org) http://www.it-academy.cc http://www.zdnet.de http://amtp.bw.org/
SMTP - Diskussion Was meint Ihr, wie man das anonyme
versenden von Mails unterbinden kann?
- neues Protokoll ?- SMTP wieder erweitern?- DNS modifizieren (Microsoft) ?