Praktikumsversuch E-Mail
Ziel
Dieses Praktikum dient der praktischen Erprobung der E-Mail-Kommunikation, inklusive der E-Mail-Verschlüsselung per PGP und S/MIME.
1. Grundlagen
1.1. Struktur
- Das E-Mail-System besteht aus den Komponenten: MUA, MSA, MTA und MDA. Wie wirken diese Komponenten zusammen?
- Was ist ein SMTP-Relay-Server und wie sollte dieser konfiguriert sein?
- Zugriffsprotokolle sind: POP3, IMAP und HTTP
1.2. Ermittlung des zuständigen E-Mail-Servers
Ermitteln Sie die Adresse der E-Mailserver für die Adressen: htw-dresden.de, informatik.htw-dresden.de, tu-dresden.de, google.com und web.de!
1.3. Aufbau einer E-Mail / Headerfelder
- Verschaffen Sie sich einen Überblick über den Aufbau einer E-Mail!
- Aufbau von Header und Body
- Headerfelder
- zulässige Zeichencodierung im Header
- zulässige Zeichencodierung im Body
- max. Zeilenlänge
- Zeilenabschluss
- Was bedeutet QP-Codierung?
Hinweise:
- Wichtige Headerfelder: From:, To:, Date:, Cc:, Bcc:, Sender:, Received:, Return-Path:, Subject:
- Date wird i.d.R. vom Mail-Programm oder ersten MTA generiert.
- Headerfelder mit Doppelpunkt und Leerzeichen
- Header: =?iso-8859-1?Q?J=F6rg?= bzw. =?UTF-8?Q?J=C3=B6rg?=
1.4 MTA-Hops und Transportverschlüsselung
- Was bedeutet das Headerfeld und vom wem wird es gesetzt:
Received:
? - Was bedeutet das Headerfeld: Received-SPF?
- Ermitteln Sie den Weg der E-Mail über alle MTA!
- Ermitteln Sie die durchgängige Nutzung einer Transportverschlüsselung!
- Nutzen Sie optional den Header-Analyzer
1.5. Versenden einer E-Mail mittels SMTP
- Verschaffen Sie sich einen Überblick über das SMTP-Protkoll!
- Wichtige SMTP-Kommandos: HELO, EHLO, MAIL FROM:, RCPT TO:, DATA, AUTH, QUIT, RSET, HELP
- Antworten: 220 - Server bereit, 221 Verbindungsende, 250 - Kommando ausgeführt, 354 - Starte Empfang der E-Mail
- Was bedeutet E-Mail Envelope?
- Was ist der Unterschied zwischen dem Envelope-Sender und dem Headerfeld From?
Aufgabe:
- Nutzen Sie den vorher ermittelten E-Mailserver zur Versendung einer E-Mail per Telnet. Als Zieladresse ist ihre eigene Adresse zu verwenden.
- Nutzen Sie mindestens die Headerfelder: From,To und Subject. (gern zum Testen Donald und Dagobert)
- Abfolge: HELO hostname, MAIL FROM:
, RCPT TO: , DATA . , QUIT - Analysieren Sie die empfangene E-Mail.
- Was bedeutet das Feld Return-Path?
1.6. Verfahren zur Spam-Vermeidung
- Reverse DNS
- Forward-confirmed reverse DNS (FcrDNS)
- Prüfung der HELO-Meldung
- Sender Policy Framework (SPF): RR vom Typ TXT oder SPF: Bsp: “v=spf1 ip4:213.165.64.0/23 -all”
- Blacklisting
- Greylisting
- DKIM - DomainKeys Identified Mail
- DMARC - Domain-based Message Authentication, Reporting & Conformance: DKIM + SPF: Bsp: v=DMARC1; p=quarantine; pct=100
Aufgaben:
- Verschaffen Sie sich einen Überblick über og.g Verfahren!
- Wie ist SPF für die Server für htw-dresden und informatik.htw-dresden.de und google.com konfiguriert?
- Prüfen Sie E-Mails auf das Vorhandensein der Merkmale DKIM und DMARC
1.7 Multimedia-Erweiterungen (MIME)
RFC822/5322 ermöglicht lediglich die Übertragung von 7-Bit-ASCII-Zeichen. Andere Daten müssen speziell codiert werden (Content-Tranfer-Encoding). MIME dient der Übertragung von Informationen zum Inhaltstyp und der verwendeten Zeichencodierung.
Aufbau:
MIME-Version: 1.0
Content-Description: Bild
Content-Transfer-Encoding: base64
Content-Type: image/jpeg
- Häufige Typen: txt, image, audio, video, application, message, multipart
- Beispiel: text/plain; charset=ISO-8859-15
- Content-Transfer-Encoding: 7bit, Quoted-printable, Base64, 8bit, Binary
Multipart-Untertypen:
- mixed
- alternative
- digest
- parallel
- related
- signed
- encrypted
Aufgaben:
- Bestimmen Sie, welche Codierung Ihr E-Mail-Client für die Übertragung von Umlauten verwendet!
- Wieviel Overhead erhalten Sie bei der Übertragung von binären Inhalten mittels BASE64?
2. Verschlüsselung
2.1. Transportverschlüsselung
Ports:
- SMTP mit STARTTLS: Port 25 / 587
- IMAP mit STARTTLS: Port 143
- IMAPS: 993
2.2. Ende-zu-Ende-Verschlüsselung
Es gibt zwei verbreitete Verfahren zur Verschlüsselung und Signatur von E-Mails, PGP/MIME und S/MIME (X.509). Der wesentliche Unterschied besteht in der Realisierung des Vertrauensankers. Bei S/MIME vertrauen Sie den Zertifizierungsstellen (CA) und bei PGP müssen Sie sich entweder den Schlüssel selbst auf einem sicheren Weg beschaffen oder Sie vertrauen einer Person, welche diesen Schlüssel unterschrieben hat.
PGP/MIME
- multipart/signed
- Content-Type: multipart/encrypted
- Content-Type: application/pgp-encrypted
- Content-Type: application/octet-stream; name=”encrypted.asc”
S/MIME
- Content-Type: multipart/signed
- Content-Type: application/pkcs7-mime; smime-type=enveloped-data; name=smime.p7m
Autocrypt ist ein Verfahren, um einen automatischen Schlüsselaustausch für PGP zu ermöglichen. Dazu wird das Header-Feld Autocrypt verwendet, um den öffentlichen Schlüssel an jeden Empfänger automatisch zu übertragen.
PGP-Schlüssel-Generierung
- Erstellen Sie, falls noch nicht vorhanden, einen eigenen PGP-Schlüssel und lassen Sie sich diesen gleich von anderen signieren (Keysigning-Party):
- Sie können das tmp-Verzeichnis auf der ilux150 als Austauschordner verwenden.
- Schlüssel erzeugen und anzeigen lassen (Name + E-Mail ist notwendig):
gpg --full-gen-key gpg --list-secret-keys gpg --list-keys
-
Eigenen öffentlichen Schlüssel exportieren und an andere Studenten übermitteln:
gpg --export --armor [eigene-uid] > meinschluessel.asc
-
Schlüssel der anderen Studenten importieren:
gpg --import fremderschluessel.asc
-
Fingerprint anzeigen und abgleichen:
gpg --fingerprint [fremde-uid]
-
fremden Schlüssel signieren:
gpg --sign-key [fremde-uid]
-
fremden Schlüssel exportieren und zurücksenden:
gpg --export --armor [fremde-uid] > fremderschluessel-sig.asc
- eigenen signierten Schlüssel erhalten und importieren
gpg --import meinschluessel-sig.asc gpg --list-sigs
Versand einer E-Mail mit PGP-Verschlüsselung
- Über welche Wege können Sie sich einen PGP-Schlüssel beschaffen?
- Senden Sie mir eine mit PGP verschlüsselte und signierte E-Mail. Den dazu notwendigen Schlüssel finden Sie auf meiner Webseite (Übertragung per HTTPS gesichert)
- Hinweis: Damit die Signatur geprüft werden kann, ist es notwendig, dass Sie Ihren öffentlichen Schlüssel an die Nachricht anhängen.
- Befehle:
ssh ilux150 echo "Text ... " | gpg -ea -r "Name" | mail -s "[WEB] GPG-Praktikum" E-Mail-Adresse mail -s "[Web] Key" -A meinschlüssel.asc E-Mail-Adresse
Hinweis: Tools wie Thunderbird oder FairEmail (Android unterstützen die Verschlüsselung und Signierung per PGP und S/MIME)
Literatur
- RFC5321 - SMTP
- RFC5322 - Message Format
- RFC9580 - OpenPGP
- RFC3156 - OpenPGP/MIME
- RFC2440 - OpenPGP Message Format
Software
Ergebnisse
Fakultativ
S/MIME-Zertifikat
Beschaffen Sie sich vom Rechenzentrum ein Nutzerzertifikat und senden Sie mir eine verschlüsselte und signierte E-Mail.
Delta-Chat
Probieren Sie Delta-Chat auf einem PC oder einem mobilen Gerät aus. Senden Sei eine Nachricht an einen Kommunikationspartner und prüfen Sie, ob die automatische Verschlüsselung funktioniert.
Letzte Änderung: 11. April 2025 15:30