E-Mail-Anwendungen sind sicherlich die meist verwendeten Programme für das Netz; ein Großteil der Netzbandbreite insgesamt wird für e-Mail benötigt. (Weitere e-Mail Informationen können unter http://www.imc.org/rfcs.html abgerufen werden).
Mit Hilfe des Simple Mail Transfer Protocol (SMTP) werden e-Mails zwischen e-Mail-Servern selbst versendet. Um e-Mails von Server abrufen zu können, haben sich die Standards POP3 (Post Office Protocol Version 3) und IMAP (Internet Message Access Protocol Version 4) durchgesetzt. Beim POP3 Empfang werden die Mails im Gesamtumfang heruntergeladen (samt Attachments) und können erst dann angesehen werden. Mit IMAP lassen sich auch nur die Header herunterladen und der Rest verbleibt am Mailserver. So ist es möglich, schon z.B. am Betreff zu entscheiden, ob die Mail noch heruntergeladen werden soll, oder doch gleich gelöscht wird (somit fällt z.B. auch der Download der Attachments weg).
Mailserver
Der Mailserver (MTA - Mail Transfer Agent) hat die Aufgabe, Nachrichten entgegenzunehmen und an andere Mailserver weiterzuleiten. Empfangene Nachrichten werden in Benutzer-Postfächern abgelegt, da die User nicht immer online sind. Mailserver laufen durchgehend, um jederzeit Nachrichten vermitteln zu können.
Der Mailclient (MUA - Mail User Agent) hat die Aufgabe, Nachrichten vom Server abzurufen, anzuzeigen und Mails zum Versenden an den Server zu leiten. Er läuft meist nur bei Bedarf.
SMTP - Simple Mail Transfer Protocol (textorientiertes Protokoll, siehe Beispiel unten)
Es wird zum Versenden von Mails verwendet, standardmäßig über Port 25.
Zum Austausch von Mails dienen MTAs (Mail Transfer Agents, z.B. sendmail). e-Mail Clients wie Thunderbird, Eudora oder Outlook übernehmen dabei die Kommunikation zwischen Enduser und MTA. Die Kommunikation basiert dabei auf ASCII-Zeichen.
e-Mails im Internet bestehen aus dem Benutzernamen, dem @-Zeichen und einem darauffolgenden Domain-Namen, z.B. abcdf123@ufg.ac.at
Auch hier spielt das DNS System eine wichtige Rolle: Wird die e-Mail versendet, übernimmt der MTA (Mailserver) die Daten und fragt den DNS-Server, ob für den Domainnamen der in der e-Mail enthalten ist ein MX (mail exchange) Eintrag vorliegt. Der MX-Record gibt einen Mailserver an, der für die Domain zuständig ist. Nun schickt der Mailserver die e-Mail an den dort eingetragenen Rechner - der dann meist die e-Mail solange zwischenspeichert, bis der Empfänger sie mit einem Mail-Client per POP oder IMAP abruft. Prinzipiell kann eine e-Mail dabei über mehrere Server laufen, bis sie am Ziel angekommen ist.
Die e-Mail besteht grundsätzlich aus:
- Envelop: enthält Sender und Empfänger
- Header: der z.B. Message-ID der Email, Subject, Date...etc enthält.
Die eigentliche Nachricht steht im - Body als 7-Bit Ascii-Code (Zeichen 0 bis 127, keine Sonderzeichen, Umlaute etc).
Unter Received werden alle Mailserver aufgelistet, die passiert wurden am Weg vom Sender zum Empfänger:
Jede Nachricht erhält im Übrigen eine eindeutige Message-ID, meist ist die Host-Adresse des Senders enthalten:
Einträge, die mit X beginnen, sind für die Versendung nicht nötig. Sie werden z.B. vom e-Mailprogramm oder von einem Mail-Scanner hinzugefügt:
oder Microsoft-Outlook spezifische Eintragungen, mit denen andere E-Mailprogramme wohl meist nichts anfangen werden:
MIME - Multipurpose Internet Mail Extensions (zum Empfangen)
Zurück zu den Anfängen des e-Mail Verkehrs. Die Zeichen durften nur aus dem 7-Bit ASCII Code bestehen, somit waren Sonderzeichen wie Ø oder © nicht möglich. Schon gar nicht das Mitsenden binärer Daten, wie Programme, Bilder oder Musikstücke. Um diese Einschränkungen des ursprünglichen Systems aufzuheben, wurde MIME eingeführt:
Sollen z.B. Attachments wie Bilder oder Videos (Binärdaten) versandt werden, wird das MIME-Protokoll (Multipurpose Internet Mail Extensions) verwendet. Früher, als MIME noch nicht spezifiziert war, wurden Binärdaten mit Tools wie uuencode in den 7-bittigen Code für die Versendung umgewandelt. Der Empfänger konnte die Binärdaten mit uudecode wieder in ihr ursprüngliches Format zurückwandeln (auf Apple-Rechnern wurde BinHex eingesetzt).
MIME besteht wiederum aus einem Header, der dem Mailclient mitteilt, welche Daten er zu erwarten hat und wie sie kodiert wurden, so kann er sie auf geeignete Weise dekodieren und dem Benutzer zugänglich machen (anzeigen, abspielen, mit bestimmter Anwendung öffnen etc).
8-bit kodierter Text gesandt, sähe folgendermaßen aus:
Würden gleich mehrere Objekte mitversandt, erfährt dies der Client durch "multipart/mixed":
einige weitere Möglichkeiten für Content-Types:
video/mpeg
video/quicktime
image/jpeg
image/gif...
Liste gängiger MIME Types: http://www.iana.org/assignments/media-types/
verschiedene Content-Transfer-Encondings:
- 7bit,
- 8bit,
- binary
- quoted-printable: w=E4re der Umlaut a (Sonderzeichen sind durch = Zeichen und 2stelligen Hex-Wert dargestellt, hier: =E4 für ä)
- base-64: beschränkt die Kodierung auf 65 druckbare Zeichen - die e-Mails werden cirka ein Drittel größer
z.B.
Versteht der e-Mailclient diese kodierten Daten uU nicht, kann er sie nicht dekodieren und zeigt sie falsch an:
Mail-GatewaysEin e-Mail Gateway wandelt Mail-Dokumente von einem Format ins andere. Z.B. verwendet Lotus das CC:Mail Format. Da dieses Format nicht Standard ist, wird es dahingehend umgewandelt, dass es kompatibel per SMTP-Server übertragen werden kann. Am Ziel kann ein weiteres Gateway gegebenenfalls die Rückwandlung vornehmen, aber auch abermals das Mail in ein anderes Format wandeln (z.B. zum nachherigen Versand per SMS auf ein Handy).
MailinglistenDie Mailingliste ist kurz gesagt ein Verteiler (eine Verteilerliste) - alle Mails, die an die Mailinglisten-e-Mailadresse gesandt werden, werden automatisch an alle Mitglieder der Liste weitergesandt. Die Empfänger können wieder an die Mailingliste oder individuelle Personen zurückschreiben.
Die Verwaltung der Mitgliederlisten übernimmt das Verwaltungsprogramm (z.B. Programme wie listserv oder majordomo). Durch Subskription (subscribe) ist es möglich, einer Mailingliste beizutreten (die eigene e-Mail wird somit zur Verteilerliste hinzugefügt); mit unsubscribe wird die eigene e-Mail aus der Liste wieder entfernt.
Mailinglisten können um einen Digest-Dienst (alle Mails sind in einem File zum Download zusammengefasst, z.B. geordnet nach Monaten) und ein Listen-Archive (meist eine hierarchische HTML-Verlinkung des stattgefundenen Mailverkehrs) erweitert werden.
Listen können
- offen (jede/r kann sich mit der e-Mailadresse anmelden - open list),
- geschlossen (nur bestimmte e-Mailadressen werden angenommen oder vom Listmanager für ok befunden - closed list) bzw.
- moderiert (jeder neue Beitrag wird vor der Verteilung von einem Moderator begutachtet und angenommen oder abgelehnt - moderated) sein.
Weiters gibt es die Möglichkeit, dass Listen entweder alle e-Mailbeiträge annehmen/weiterleiten, oder aber nur die der schon beigetretenen User.
POP - Post Office Protocol (Port 110 per TCP)
Über das POP Protokoll ruft der Empfänger die Mails vom Mailserver ab, dabei ist das POP-Protokoll wie das SMTP-Protokoll relativ einfach gestrickt: Username und Passwort werden übermittelt (USER, PASS) (Authorisationszustand), danach lässt sich die Anzahl der neuen Mails abfragen (STAT), ein Mail vom Server anfordern (RETR) bzw ein Mail vom Server löschen (DELE) - Transaktionszustand. Zumeist sind die Mailclients so eingestellt, dass periodisch der Mailserver nach neuen Mails befragt wird. Sobald neue vorhanden sind, werden sie vom Server auf den Client transferiert und anschließend am Server gelöscht, um dort nicht unnötig Platz zu verbrauchen.
IMAP - Internet Message Access Protocol (zum Empfangen) (port 143 TCP)
Bei IMAP ist es möglich, gezielt bestimmte Daten anzufordern (z.B. nur den Text der Email, nicht aber die Attachements). So kann die Übertragungsmenge und -zeit zwischen Mailclient und Mailserver gering gehalten werden. Deswegen eignet sich IMAP auch speziell für den mobilen Einsatz (meist wenig Speicherplatz z.B. am Handy oder zu teuer, um sich solange online mit dem PDA im Netz aufzuhalten, bis alle Attachments geladen wurden).
Ein weiterer Vorteil ist, dass sich die e-Mails am Server durch Ordner und Unterordnen sortieren lassen (die e-Mails müssen zu diesem Zeitpunkt noch gar nicht gelesen werden). Die Struktur verwaltet der Server - somit steht immer die gleiche "Mail-Struktur" zur Verfügung.
Typische Felder in e-Mails (entweder vom Benutzer eingetragen, bzw. vom jeweiligen e-Mailclient generiert)
Message-ID - ID der Nachricht (eindeutig)
FROM - Absender
TO - Empfänger
CC - zusätzliche Empfänger (Carbon Copy)
BCC - Empfänger (die BCC-Empfängerliste sieht der Hauptempfänger (TO) nicht, Blind Carbon Copy)
SUBJECT - Betreff
MESSAGE - Nachricht
REPLY-TO - Antwort-Adresse bei 'Replys'
DATE - Datum
LINES - Anzahl der Zeilen
PRIORITY - Dringlichkeit
STATUS - bereits gelesen?
IN-REPLY-TO - Bezug auf eine andere Nachrichten-ID
RESENT - weitergeleitet
Content-Type - zB. text/plain
Content-Transfer-Encoding - Art der Encodierung, z.B. base64
Beispiel: Direkte Kommunikation mit dem Mailserver über telnet auf Port 25
=~=~=~=~=~=~=~=~=~=~=~= log 22:55:06 =~=~=~=~=~=~=~=~=~=~=~=
220 lu-mail1.zid.ufg.ac.at ZMailer Server 2.99.50-s11 #1 ESMTP+IDENT ready at Mon, 20 Sep 2004 19:52:35 +0200
500-5.5.2 ^
500 5.5.2 Illegal input characters: 8-bit char on SMTP input
help
214-Copyright 1991-1997 Matti Aarnio
214-The following commands are recognized:
214-EHLO, HELO, MAIL, RCPT, DATA, BDAT, RSET, VRFY, EXPN, HELP, NOOP
214-QUIT, ETRN, TURNME, VERB, ONEX, SEND, SOML, SAML, TURN, TICK, EMAL
214-ESND, ESOM, ESAM, EVFY, IDENT, DEBUG
214-
214-The normal sequence is: EHLO/HELO (MAIL RCPT+ DATA)+ QUIT.
214-
214-This mailer will always accept 8-bit and binary message data
214-though you are better to use MIME format!
214-
214-For local information contact: postmaster@lu-mail1.zid.ufg.ac.at
214 SMTP server comments and bug reports to: <zmhacks@nic.funet.fi>
help helop
214-Copyright 1990 Rayan S. Zachariassen
214-Copyright 1991-1997 Matti Aarnio
214-The following commands are recognized:
214-EHLO, HELO, MAIL, RCPT, DATA, BDAT, RSET, VRFY, EXPN, HELP, NOOP
214-QUIT, ETRN, TURNME, VERB, ONEX, SEND, SOML, SAML, TURN, TICK, EMAL
214-ESND, ESOM, ESAM, EVFY, IDENT, DEBUG
214-
214-The normal sequence is: EHLO/HELO (MAIL RCPT+ DATA)+ QUIT.
214-
214-This mailer will always accept 8-bit and binary message data
214-though you are better to use MIME format!
214-
214-For local information contact: postmaster@lu-mail1.zid.ufg.ac.at
214 SMTP server comments and bug reports to: <zmhacks@nic.funet.fi>
helo
250 lu-mail1.zid.ufg.ac.at expected "HELO 76.inst-3.ufg.ac.at"
helo 76.inst-3.ufg.ac.at
250 lu-mail1.zid.ufg.ac.at Hello 76.inst-3.ufg.ac.at
mail from: <simon.bauer@ufg.ac.at>
250 2.1.0 Sender syntax Ok
rcpt to: <simon.bauer@ufg.ac.at>
250 2.1.5 Recipient address syntax Ok
DATA
354 Start mail input; end with <CRLF>.<CRLF>
hi!
.
250 2.6.0 S//HlbG11484 message accepted
quit
221 2.0.0 lu-mail1.zid.ufg.ac.at Out
=~=~=~=~=~=~=~=~=~=~=~= log 22:55:06 =~=~=~=~=~=~=~=~=~=~=~=
Die Sicherheit von e-Mails ist vergleichbar mit Postkarten - sie können mitgelesen und verändert werden, nicht ankommen oder von falschen Absendern stammen. Die Unzustellbarkeit (z.B. wenn in der e-Mailadresse ein Tippfehler war oder der Mailserver des Empfängers diese aus irgendeinem Grund nicht annimmt) wird meist durch eine servergenerierte Mail kundgetan - aber das ist auch kein 'muss' und ist von Mailserver zu Mailserver verschieden.
PGP (Pretty Good Privacy) schafft mit Hilfe von Verschlüsselung Abhilfe.
Die Funktionsweise basiert auf dem Public-/Privatekey-Verfahren.
Der private Schlüssel (private key) wird verwendet, um eingehende Mails zu entschlüsseln (dieser Schlüssel ist somit "Top-Secret" und sollte niemand anderem in die Hände fallen).
Der öffentliche Schlüssel (public key) ist für die e-Mailpartner. Diese verschlüsseln mit dem öffentlichen Key alle Nachrichten, die so nur mehr ihr Empfänger mit seinem privaten Schlüssel entschlüsseln kann. Natürlich muss dem e-Mailpartner der öffentliche Schlüssel vorher bekannt sein. Dieser könnte z.B. auf einer Homepage zum Download angeboten werden, oder er wird einfach in nicht verschlüsselten Mails vorher/immer mitverschickt.
B will, dass A ihm ein wichtiges Dokument verschlüsselt sendet:
Vorteile PGP: vertraulicher e-Mailverkehr wird ermöglicht, kostenlos für private Anwender, relativ weite Verbreitung.
GNuPG(P)+Enigmail mit Thunderbird verwenden
Download von gnuPG von http://www.gnupg.org/download/index.html (z.B. Datei ftp://ftp.gnupg.org/gcrypt/binary/gnupg-w32cli-1.2.4.zip für Windows (lokal)).
Die heruntergeladene Datei nach C:\Programme\GnuPG entpacken und Anlegen des Ordners C:\Dokumente und Einstellungen\Administrator\Application Data\GnuPG (statt Administrator den Usernamen verwenden, wenn nicht als Administrator eingeloggt).
Alle Dateien mit der Endung .mo in den anzulegenden Ordner C:\Programme\GnuPG\Locale verschieben, alle anderen Dateien (außer die .exe Files) in den Ordner Doc.
Die Datei gpg.conf nach C:\Dokumente und Einstellungen\Administrator\Application Data\GnuPG kopieren.
Über die Systemsteuerung die Umgebungsvariablen des Systems um den Pfad für GnuPG erweitern und mit OK bestätigen: ;C:\Programme\GnuPG (der Strichpunkt trennt die einzelnen Pfade).
Als nächstes müssen in der Registry noch Änderungen vorgenommen werden: (download) und mit einem Rechtsklick auf die Datei zusammengeführt werden.
Die Pfade in Gelb sind den Pfaden am eigenen Rechner anzupassen.
Zum Test wird in der Eingabeaufforderung gpg.exe --version eingegeben:
Anlegen der Schlüssel:
KeyID:
Den Public key BF40DC32 wird mittels gpg --keyserver random.sks.keyserver.penguin.de --send-keys 0xBF40DC32 auf einen public-Keyserver gestellt.
Nun besuchen wir einen Keyserver (zB. http://math-www.uni-paderborn.de/pgp/) und sehen nach, ob wir Hans Moser dort finden:
und hier wurde der Eintrag gefunden:
Durch Klick auf die KeyID wird der Public-Key zur Verschlüsselung von Nachrichten an Hans Moser angezeigt.
Nun wird Enigmail für den e-Mail Client Thunderbird geladen und installiert (http://enigmail.mozdev.org/download.html): Download von Enigmail und EnigMIME für Thunderbird 0.8:
beide Files werden über das Menü Tools > Extensions aufgerufen und installiert:
Thunderbird muss erneut gestartet werden, um die Änderungen wirksam zu machen.
Setzen der Preferences:
Pfad zu GnuPG angeben und eventuell Key-Server.
Public-Key zum Versenden einfügen:
Mit "Encrypt message" lassen sich später die Nachricht mit fremden Public-Keys verschlüsseln und senden.
Keys lassen sich auch von Zertifizierungsinstanzen zertifizieren. Sie stellen somit ein digitales Zertifikat z.B. für eine Person und dessen Public-Key zur Verfügung. Je nach Zertifizierungsstufe kann es sein, dass dazu ein persönliches Erscheinen mit amtlichem Lichtbildausweis nötig ist. Die Zertifizierungsdienste benutzen ebenfalls einen Private- u. Public-Key. Sie signieren das erstellte Zertifikat mit ihrem Private-Key, die Zertifikatsempfänger können die Echtheit des erhaltenen Zertifikats dann wiederum mit dem Public-Key des Zertifizierungsdienstes überprüfen.
Im Gegensatz zu symmetrischen Verschlüsselungsverfahren, hat das Private-/Public-Key Verfahren den Vorteil, dass der Privatekey völlig geheim gehalten werden kann - manche legen ihn auch auf einer Diskette ins Bankschließfach.
Webmail ist im Prinzip einfach ein Webfrontend für einen Mailserver, mit dem Vorteil, dass Webmail allerorts mit einem Webbrowser online gelesen werden kann.
Im Browser wird eine verschlüsselte Übertragung ( SSL/TSL Verschlüsselung) durch das s in https:// ersichtlich.
Durch Zertifikate könnte das allgemeine Passwort/Login-Prozedere entfallen: Der Web-Browser sendet das Zertifikat an den Web-Server, somit erhält der Webserver den Public Key des User-(Browser)-Zertifikates. Der Server antwortet mit einem Zufallscode, den der Browser mit dem Private Key des Users (also seines Zertifikats) verschlüsselt und zurück an den Server sendet. Dieser prüft die Korrektheit der "digitalen Unterschrift" mit dem anfangs übermittelten Public Key und erkennt bei erfolgreicher Entschlüsselung seines gesendeten Codes mithilfe des Public-Keys des Users die Richtigkeit des Zertifikats an.
Firefox-Zertifikatsmanager:
Als Spam werden unerwünschte (Massenversendungen von) e-Mails bezeichnet - meist mit Werbeinhalt. Die Massenversendung der Mails erfolgt des Öfteren über nicht richtig oder unzureichend konfigurierte Mailserver (SMTP-Server) - die entstehenden Übertragungskosten können dabei erheblich werden. Die Server sollten dahingegen abgesichert sein; z.B. durch SMTP-Authentifizierung (nur authentifizierte Personen können Mails versenden).
Eine andere Möglichkeit der Absicherung ist SMTP after POP, d.h. zuerst muss der User seine e-Mails per POP oder IMAP abrufen - hierfür muss er sich ja mit Username und Passwort identifizieren. Ist diese Identifikation an den Server ergangen, erlaubt dieser den Versand von e-Mails für eine gewisse Zeitspanne. D.h. e-Mails müssen zuerst abgerufen werden, bevor sie versandt werden können.
Die Übermittlung von Username und Passwort erfolgt aber immmer noch im Klartext, d.h. die Daten könnten bei der Übermittlung vom Server zum Klient uU. abgefangen werden. Dies lässt sich umgehen, wenn der Mailserver und der Mailclient z.B. die TLS-Verschlüsselung (Transport Layer Security) unterstützen. Unterstützt der Server diese, gibt er an den Client den Hinweis mittels STARTTLS Befehl bekannt und der Klient weiß, er kann TLS verwenden (sofern er dies natürlich unterstützt):
Im Browser wird SSL/TLS Verschlüsselung durch https:// ersichtlich.
Thunderbird für Spamerkennung trainieren
Einstellungen nach Belieben vornehmen:
Lernmodus zur Spamerkennung aktivieren - durch Festlegen von Spam und nicht-Spam Mails nach dem abrufen: (eventuell ist es in den ersten Tagen des Lernmodus ratsam, den vermeintlich erkannten Spam nicht sofort in den Junkfolder wandern zu lassen, da die Erkennungsrate uU. noch zu gering ist).
Eventuell zusätzlich eigene Filterregeln für Spam über "Tools > Message Filters" setzen:
Nachladen von Bildern in der e-Mail vehindern - da Spammer so erkennen können, dass die e-Mail erfolgreich zugestellt wurde (Menü: Tools > Options).:
Falls Spammer eine Bestätigung des erhalteten Mails fordern, sollten die Mail-Settings hier keinesfalls auf "automatische Bestätigung" gesetzt sein, sondern immer auf "Ask me" - um gegebenenfalls schnellstmöglich auf Sicherheitslücken aufmerksam gemacht zu werden, empfiehlt es sich, nach Updates suchen zu lassen.
Nun gilt es Thunderbird zu trainieren:
( )
Sollte noch kein e-Mail Provider für den eigenen e-Mailverkehr ausgesucht sein, sind natürlich jene die bereits am Mail-Server Spam-Filtering betreiben vorzuziehen, da so bereits der Provider den Großteil des Spams abblocken kann.
Den Rest erledigt Thunderbird mit Hilfe des eingebauten lernenden Bayes-Filter, der mit Hilfe der Wahrscheinlichkeitsrechnung über Spam oder Nicht-Spam entscheidet (Bayesian Filter, Thomas Bayes 1702-1761)
Spambeitrag bei Ö1/ORF ( mit Audiobeitrag ) ( spiced pork and ham )