Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 1
Sicherer E-Mail-Dienste-Anbieter
basiere...
Aufgabenstellung
• Gesicherte DNS-Abfragen (DNSSec)
• Vertrauenswürdige Zertifikate
• Sichere Kryptographie
• Obligatorisc...
E-Mail: DNS-Cache-Poisoning und Umleitungsangriffe
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSe...
E-Mail: Downgrade Angriffe, MITM
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 4
DNS-based Authentication of Named Entities (DANE)
• Baut auf DNSSec auf und nutzt TLSA Records (Transport Layer Security R...
DNS & DNSSec
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 6
DNS Angriffspunkte
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 7
DNSSec – DNS Security Extension
• Integritätsschutz
• Asymmetrische Kryptographie
• RSA Signaturen
• SHA2 Hashes
• Neue Re...
DNSSec – Zusammenwirken der Einträge
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 9
RRS...
Beispiel: mail.it-sec.ovh
Analyse mit dnsviz.net
• URL: http://dnsviz.net/d/mail.it-sec.ovh/dnssec/
• Hash-Funktion: SHA25...
Beispiel: DNSSec Query
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 11
DNS – Unterdrückung von Records (z.B. TLSA, …)
• DNS Request ohne Antwort -> NXDOMAIN
• Was wenn jemand absichtlich Antwor...
Authenticated Denial of Existence: NSEC
• NXDOMAIN – Die angefragte Domain / angefragter Eintrag existiert nicht
• NSEC Re...
NSEC – Zone Walking
• Problem: Zone-Walking möglich – egal?
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend ...
Authenticated Denial of Existence
• Problem: Zone-Walking, z.B. in der Zone .at oder der Zone .br
• NSEC3 = Next Secure v3...
NSEC Hashed Autenticated Denial of Existence
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DA...
DNSSec - Aktivierung
• DNSSec fast 10 Jahre alt, alle gängigen BIND-Versionen geeignet
• Neue Bind-Version (z.B. v9.9.x) j...
DNSSec Resolver
• do Flag (DNSec unterstützt)
• ad Flag – Authenticated Data
• NOERROR
(Fehlschlag wäre: SERVFAIL)
• RRSIG...
DNSSec fähiger autoritativer Server
• Inline-Signing Modus für automatisierten DNSSec-Betrieb
• Vom Admin verwaltete Zonen...
DNSSec fähiger autoritativer Server, Zonen-Konfig
• Key-Directory
• Inline-Signing
• maintain -> auto KeyChange
• Zone-Tra...
DNS Zonen-Einträge
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 21
DNS Zone
• Binärfile
• .signed
• RRSIG
• DNSKEY
• NSEC3
• NSEC3PARAM
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter b...
Re-Signing, Schlüsselwechsel
• Signatur der Zonen-Einträge: Default 30 Tage gültig, Re-Signing alle 7½ Tage
Konfiguration ...
Beispiel: Wechsel des Zone Signing Key (ZSK)
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DA...
DNSSec - Aktivierung
• Erzeugung Schlüssel, Signatur der Zone, Replikation auf sekundäre Server
• Eintragung des KSK in de...
Best Practise und Learnings
• Inline-Signing und automatisches Key-Maintaining nutzen
• RSA / SHA256 nutzen
• RSA verpflic...
DNS-Check
• mxtoolbox.com
• Allgemeiner DNS-Check
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec...
DNSSec-Check
• dnscheck.iis.se
• Summary
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 28
DNSSec-Check
• dnscheck.iis.se
• Details
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 29
DNSSec-Debugger
• dnssec-debugger.verisignlabs.com
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSe...
Analyse mit dnsviz.net
• Grafische Darstellung
• Zeigt Zone-Delgation
• Grafische Veranschaulichung
der Key-/Trust-Hierarc...
DANE
DNS-based Authentication of Named Entities (DANE)
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf D...
Rückblick: SMTP Transport, Angriffe
• Umlenkung, MITM, Downgrade,
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basi...
DNS-based Authentication of Named Entities (DANE)
• Existenz des
TLSA-Records
und NSEC/NSEC3
verhindern Downgrade
• Inhalt...
DANE baut auf TLS auf -> benötigt Zertifikate
• Könnten Self-Signed sein
• Jedoch besser aus getrusteter CA, da DANE noch ...
Zertifikat ausstellen:
Typische Vorgangsweise
• RSA Schlüsselpaar generieren
• CSR erstellen
• CSR an CA übermitteln
• Zer...
Alternative:
• Automatisierter DV-Vorgang
• Python Client
• Zertifikatserneuerung
vollautomatisch alle 60 Tage
• CSR-Nutzu...
TLSA Record für DANE Transport Layer Security Protocol
• DNSSec Voraussetzung
• TLSA RR
• Pinning
• Zertifikat oder CA
• Z...
DANE: PubKey Hash -> TLSA Record
• Im Zonen-File der Domain wird ein TLSA-Record ergänzt
Gunnar Haslinger | Sicherer E-Mai...
Absicherung: SMTP, HTTPS, IMAPS, POP3S
Preisfrage: Warum Hash überall gleich?
Gunnar Haslinger | Sicherer E-Mail-Dienste-A...
Komfortable Alternative: TLSA Record Generator
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & ...
Zertifikatswechsel – Erneuerung der TLSA-Records?
• Wenn gleiches Schlüsselpaar (CSR) weiterverwendet wird nicht nötig
• A...
Prüfung TLSA-Record
• Check mit: dane.sys4.de
• Check mit dig
• Mehr Checks später (MailServer)
Gunnar Haslinger | Sichere...
Mailserver MTA, LDA, MDA, Anbindung MUA, WebMail,
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec...
• CentOS 7.2
• Debian 8.2
• BIND 9.9.4 / 9.9.5
• Postfix 2.11.3
• Dovecot 2.2
• Apache 2.4.10
• PHP 5.6.13
• MySQL 5.5.46
...
Mailserver mit DANE – Alternativen?
• Postfix 2.11 erst ab Debian 8 bzw. Ubuntu 14.04 LTS verfügbar
< 2.11 unter RHEL, Cen...
Postfix-Konfiguration
• Allgemein: Mailserver-Konfiguration grundsätzlich (beim ersten mal) knifflig
• Zertifikat + Chain ...
Verbreitung von TLS und DANE bei MTA‘s
• TLS: siehe z.B.:
Google Transparency
Report
• DANE:
Starker Trend in .de
Dzt. abe...
Mailserver-Studie: SSL / TLS-Protokollversionen
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec &...
Mailserver-Studie: Cipher-Suite Unterstützung
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & D...
Mailserver-Studie: eingesetzte Zertifikate
• ssc = self signed Cert
• local = unbekannte CA
• ssc chain = CertChain fehlt
...
Dovecot: POP3 & IMAP
• Setup straight forward
• Zertifikat konfigurieren
• Nur TLS zulassen, Cipher-String gemäß BetterCry...
Mailserver-Checks
• Basis-Check: MxToolbox.com
• Versand & Empfang:
CheckTLS.com
• Detailierte Analyse per Reply-Mail
Gunn...
CheckTLS.com
Mail-Empfang
Check
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 54
OpenSSL
s_client -starttls
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 55
Prüfung: DH-Parameter, 2048bit ?
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 56
DANE-Check
• PostTLS-Finger
• Mail-Empfangs-
Check
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSe...
DANE-Empfangs-Check: dane.sys4.de
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 58
weitere Details
dane.sys4.de
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 59
Mailserver Check: Versand mit DANE
• Gegenstelle mit DANE Unterstützung erforderlich, z.B.: posteo.de
Gunnar Haslinger | S...
IMAPS, POP3S Test
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 61
TestSSL.sh Script
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 62
Web-Mail
Apache, PHP, MySQL, RoundCube WebMail
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & ...
Plattform: LAMP-Stack auf Debian 8.2
• Apache 2.4.10
• Mod SSL
• Mod Headers
• Mod Rewrite
•
• PHP 5.6.13
• MySQL 5.5.46
G...
Apache: SSL-Konfiguration
• Cipher-String: Anlehnung an BetterCrypto.org, jedoch selbst gebaut
• Inkonsistenzen im BetterC...
Apache
vHost
SSL
Config
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 66
Cipher-Suite: BetterCrypto „CipherString B“
• Enthält Camellia
• Priorisiert DH gegenüber ECDH
• Präferiert AES256 gegenüb...
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 68
Client
Kompatibilität
Test mit
Qualys SSL Labs
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & ...
OCSP
Stapling
Online Certificate
Status Protocol (OCSP)
Response im TLS-Handshake
Gunnar Haslinger | Sicherer E-Mail-Diens...
HTTP Strict Transport Security (HSTS)
• Sorgt für das „+“ beim SSLLabs.com WebServer TLS-Check
Gunnar Haslinger | Sicherer...
HTTP Public Key Pinning (HPKP) als Ergänzung zu DANE
• DANE für WebSites (HTTPS) möglich aber nicht gebräuchlich
• Trust o...
HTTP Public Key Pinning – Hash erzeugen
• OpenSSL
• WebService
https://report-uri.io
Gunnar Haslinger | Sicherer E-Mail-Di...
Prüfung:
HTTP Key Pinning
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 74
RoundCube Webmail
• Download (Sourcen) von SourceForce (kein Paket für Debian 8.2 im Repo)
• Einrichtung mit Web-Installer...
RoundCube
WebMail
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 76
Checks:
Qualys SSL Labs
SSLLabs.com
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 77
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 78
Qualys
SSL Labs
• Server-Zertifikat
• 4...
Qualys SSL Labs
• Protokolle
• Cipher Suites
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DA...
Qualys SSL Labs
• Protokoll Details
• OCSP Stapling aktiviert
• HTTP Strict Transport Security
• HTTP Public Key Pinning
•...
A-Sit
Firefox PlugIn
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 81
SIDN Labs
HTTPS
DANE Check
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 82
DNSSec
&
DANE
Validator
PlugIn
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 83
Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 84
Sicherer E-Mail-Dienste-Anbieter
basier...
Quellen
• Abbildungen siehe Abbildungsverzeichnis sowie Literaturverzeichnis
im zugehörigen Dokument:
„Sicherer E-Mail-Die...
Nächste SlideShare
Wird geladen in …5
×

Sicherer E-Mail-Dienste-Anbieter (DNSSec+DANE) How-To slides

143 Aufrufe

Veröffentlicht am

Grundlagen DNSSec & DANE sowie Umsetzung mit Debian 8, Bind, Postfix, ...

basierend auf DNSSec & DANE, realisiert mit Debian 8 unter Verwendung von BIND, Postfix, Dovecot, Apache, RoundCube.

Dieser Vortrag zum gleichnamigen verfügbaren Paper beschäftigt sich mit der Implementierung eines sicheren E -Mail-Dienste-Anbieters (gemäß Vorgabe BSI), basierend auf DANE (DNS-based Authentication of Named Entities) und DNSSec (Domain Name System Security Extension).

Die Umsetzung erfolgt mittels Debian 8 Jessie unter Verwendung des DNS-Servers BIND, des Mailservers Postfix, des WebServers Apache mit WebMailer RoundCube. Die IMAP und POP3 Dienste werden mittels Dovecot realisiert.

Kryptographische Grundlagen werden hierbei vorausgesetzt, spezifische Funktionalitäten von DANE und DNSSec ausführlich erklärt und anschließend deren Konfiguration demonstriert sowie die Demo-Implementierung nachvollziehbar getestet.

Dabei wurde auf sichere Konfiguration der verwendeten TLS-Protokolle und CipherSuites sowie auf zeitgemäße Verwendung und Konfiguration von DNSSec, DANE, Certificate-Pinning, Public-Key-Pinning, HTTP-Strict-Transport-Security u.v.m. geachtet.

Veröffentlicht in: Internet
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
143
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
7
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Sicherer E-Mail-Dienste-Anbieter (DNSSec+DANE) How-To slides

  1. 1. Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 1 Sicherer E-Mail-Dienste-Anbieter basierend auf Domain Name System Security Extension (DNSSec) & DNS-based Authentication of Named Entities (DANE)
  2. 2. Aufgabenstellung • Gesicherte DNS-Abfragen (DNSSec) • Vertrauenswürdige Zertifikate • Sichere Kryptographie • Obligatorische Verschlüsselung (DANE/TLSA) Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 2
  3. 3. E-Mail: DNS-Cache-Poisoning und Umleitungsangriffe Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 3
  4. 4. E-Mail: Downgrade Angriffe, MITM Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 4
  5. 5. DNS-based Authentication of Named Entities (DANE) • Baut auf DNSSec auf und nutzt TLSA Records (Transport Layer Security RR) • Pinning von Zertifikaten oder Public-Keys (mittels TLSA-Records) • DNSSec bietet zwei Varianten von Authenticated Denial of Existence • Unterbindet Man-in-the-Middle und Klartext-Downgrade Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 5
  6. 6. DNS & DNSSec Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 6
  7. 7. DNS Angriffspunkte Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 7
  8. 8. DNSSec – DNS Security Extension • Integritätsschutz • Asymmetrische Kryptographie • RSA Signaturen • SHA2 Hashes • Neue Resource-Record-Typen Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 8 RRSIG Signature Resource Record enthält die kryptographische Signatur zu einem Record DNSKEY DNS Key Resource Record enthält den Public Key, wird von Resolver zur Signatur-Verifikation genutzt DS Delegation Signer Resource Record (in der darüber liegenden Parent-Zone) enthält den Hash eines DNSKEY (typischerweise des Key Signing Keys)
  9. 9. DNSSec – Zusammenwirken der Einträge Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 9 RRSIG Signature Resource Record enthält kryptographische Signatur zu einem Record DNSKEY DNS Key Resource Record enthält Public Key, Resolver nutzt diesen zur Signatur-Verifikation DS Delegation Signer Resource Record enthält den Hash eines DNSKEY der die Sub-Domain signiert Domain Owner it-sec.ovh Zone Signing Key {ZSK: private-Key} Key Signing Key {KSK: private-Key} Zonendatei: IT-Sec.ovh it-sec.ovh. DNSKEY <KSK> it-sec.ovh. DNSKEY <ZSK> it-sec.ovh. RRSIG ...Signatur www.it-sec.ovh. A 104.46.42.66 www.it-sec.ovh. RRSIG ...Signatur Zonendatei: .ovh ovh. DNSKEY <KSK> ovh. DNSKEY <ZSK> ovh. RRSIG ...Signatur... it-sec.ovh. NS ns1.it-sec.ovh it-sec.ovh. NS ns2.it-sec.ovh it-sec.ovh. RRSIG ...Signatur it-sec.ovh. DS <HASH KSK> it-sec.ovh. RRSIG ...Signatur... signiert signiert verweist auf TLD: .ovh Domain Owner Zone Signing Key {ZSK: private-Key} Key Signing Key {KSK: private-Key} signiert signiert signiert
  10. 10. Beispiel: mail.it-sec.ovh Analyse mit dnsviz.net • URL: http://dnsviz.net/d/mail.it-sec.ovh/dnssec/ • Hash-Funktion: SHA256 • Key-Signing-Keys: RSA 2048 • Zone-Signing-Keys: RSA 1024 Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 10
  11. 11. Beispiel: DNSSec Query Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 11
  12. 12. DNS – Unterdrückung von Records (z.B. TLSA, …) • DNS Request ohne Antwort -> NXDOMAIN • Was wenn jemand absichtlich Antwort unterdrückt? –> DNSSec deckt das auf! Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 12
  13. 13. Authenticated Denial of Existence: NSEC • NXDOMAIN – Die angefragte Domain / angefragter Eintrag existiert nicht • NSEC Records = Next Secure, bilden verkettete Liste • Zone: it-sec.ovh Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 13
  14. 14. NSEC – Zone Walking • Problem: Zone-Walking möglich – egal? Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 14
  15. 15. Authenticated Denial of Existence • Problem: Zone-Walking, z.B. in der Zone .at oder der Zone .br • NSEC3 = Next Secure v3 oder NSEC Hashed Autenticated Denial of Existence • Anstatt im Klartext lesbarer NSEC Einträge werden Hashes verwendet Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 15 NSEC Next Secure Resource Record NSEC3 Next Secure v3 (oder NSEC Hash) Resource Record NSEC3PARAM NSEC3 Parameter
  16. 16. NSEC Hashed Autenticated Denial of Existence Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 16
  17. 17. DNSSec - Aktivierung • DNSSec fast 10 Jahre alt, alle gängigen BIND-Versionen geeignet • Neue Bind-Version (z.B. v9.9.x) jedoch deutlich komfortabler • BIND als iterativer Resolver • beherrscht DNSSec • Konfiguration (aktivieren) genügt • ROOT-Key im Paket • BIND als autoritativer Nameserver für Zone Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 17
  18. 18. DNSSec Resolver • do Flag (DNSec unterstützt) • ad Flag – Authenticated Data • NOERROR (Fehlschlag wäre: SERVFAIL) • RRSIG Signature RR • 5 = RSA/SHA1 (8 = RSA/SHA256) • Ablaufdatum Signatur • Signaturzeitpunkt • 6003 = DNSKey Key-Tag Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 18
  19. 19. DNSSec fähiger autoritativer Server • Inline-Signing Modus für automatisierten DNSSec-Betrieb • Vom Admin verwaltete Zonen-Files ohne RRSIG, DNSKEY, NSEC, NSEC3 Einträge • dnssec-keygen für Generierung von Key-Signing-Keys und Zone-Signing-Keys Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 19
  20. 20. DNSSec fähiger autoritativer Server, Zonen-Konfig • Key-Directory • Inline-Signing • maintain -> auto KeyChange • Zone-Transfer (AXFR) zu den Secondary Nameservern • Mittels Transaction Signatures (TSIG) per shared Secret abgesichert • beinhaltet alle DNSSec Einträge • Am Secondary daher kein Schlüsselmaterial • Hidden Master möglich Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 20
  21. 21. DNS Zonen-Einträge Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 21
  22. 22. DNS Zone • Binärfile • .signed • RRSIG • DNSKEY • NSEC3 • NSEC3PARAM Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 22
  23. 23. Re-Signing, Schlüsselwechsel • Signatur der Zonen-Einträge: Default 30 Tage gültig, Re-Signing alle 7½ Tage Konfiguration mittels sig-validity-interval • Auto-DNSSec maintain: • Key-Verzeichnis wird überwacht, ZSK-Schlüsselwechsel (halb)automatisch • Ablaufdatum festlegen • Successor erstellen Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 23
  24. 24. Beispiel: Wechsel des Zone Signing Key (ZSK) Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 24
  25. 25. DNSSec - Aktivierung • Erzeugung Schlüssel, Signatur der Zone, Replikation auf sekundäre Server • Eintragung des KSK in der darüber liegenden Zone mittels Domain-Registrar Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 25
  26. 26. Best Practise und Learnings • Inline-Signing und automatisches Key-Maintaining nutzen • RSA / SHA256 nutzen • RSA verpflichtend unterstützt • DSA möglich, nicht Pflicht, nutzt niemand • ECDSA – im Kommen, Unterstützung noch nicht breit genug • SHA256 breit unterstützt, SHA1 wird ausgephast • ZSK: 1024 bit -> kurze Signaturen, nicht langfristig sicher, NIST: 1 Jahr • KSK: 2048 bit -> ausreichend sicher für ein paar Jahre, NIST: 5 Jahre • KeyGen: Entropie nötig! Auf vServern HAVEGED nötig! Hardware Volatile Entropy Gathering and Expansion Daemon Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 26
  27. 27. DNS-Check • mxtoolbox.com • Allgemeiner DNS-Check Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 27
  28. 28. DNSSec-Check • dnscheck.iis.se • Summary Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 28
  29. 29. DNSSec-Check • dnscheck.iis.se • Details Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 29
  30. 30. DNSSec-Debugger • dnssec-debugger.verisignlabs.com Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 30
  31. 31. Analyse mit dnsviz.net • Grafische Darstellung • Zeigt Zone-Delgation • Grafische Veranschaulichung der Key-/Trust-Hierarchie Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 31
  32. 32. DANE DNS-based Authentication of Named Entities (DANE) Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 32
  33. 33. Rückblick: SMTP Transport, Angriffe • Umlenkung, MITM, Downgrade, Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 33
  34. 34. DNS-based Authentication of Named Entities (DANE) • Existenz des TLSA-Records und NSEC/NSEC3 verhindern Downgrade • Inhalt des TLSA-Records pinnt Zertifikate oder pinnt CAs oder pinnt PublicKeys Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 34
  35. 35. DANE baut auf TLS auf -> benötigt Zertifikate • Könnten Self-Signed sein • Jedoch besser aus getrusteter CA, da DANE noch Nischen-Technologie • Kostenfrei Domain-Validated (DV) TLS-Server Zertifikate: • StartCom Ltd.: https://www.startssl.com/ • ISRG (Internet Security Research Group) & Mozilla: https://letsencrypt.org/ • WoSign: https://www.wosign.com/english/freeSSL.htm Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 35
  36. 36. Zertifikat ausstellen: Typische Vorgangsweise • RSA Schlüsselpaar generieren • CSR erstellen • CSR an CA übermitteln • Zertifikat erhalten • Zertifikat + CertChain installieren Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 36
  37. 37. Alternative: • Automatisierter DV-Vorgang • Python Client • Zertifikatserneuerung vollautomatisch alle 60 Tage • CSR-Nutzung möglich -> Schlüsselpaar kann gleich bleiben Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 37
  38. 38. TLSA Record für DANE Transport Layer Security Protocol • DNSSec Voraussetzung • TLSA RR • Pinning • Zertifikat oder CA • Zertifikats-Hash • oder PubKey-Hash Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 38
  39. 39. DANE: PubKey Hash -> TLSA Record • Im Zonen-File der Domain wird ein TLSA-Record ergänzt Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 39
  40. 40. Absicherung: SMTP, HTTPS, IMAPS, POP3S Preisfrage: Warum Hash überall gleich? Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 40
  41. 41. Komfortable Alternative: TLSA Record Generator Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 41
  42. 42. Zertifikatswechsel – Erneuerung der TLSA-Records? • Wenn gleiches Schlüsselpaar (CSR) weiterverwendet wird nicht nötig • Ansonsten: TTL beachten, Gültigkeitszeitraum im Auge behalten • Mehrere TLSA Records parallel für gültig erklären (Überlappender Zeitraum) • Let‘s Encrypt: Nicht den Default-Automatismus nutzen, sondern CSR Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 42
  43. 43. Prüfung TLSA-Record • Check mit: dane.sys4.de • Check mit dig • Mehr Checks später (MailServer) Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 43
  44. 44. Mailserver MTA, LDA, MDA, Anbindung MUA, WebMail, Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 44
  45. 45. • CentOS 7.2 • Debian 8.2 • BIND 9.9.4 / 9.9.5 • Postfix 2.11.3 • Dovecot 2.2 • Apache 2.4.10 • PHP 5.6.13 • MySQL 5.5.46 • RoundCube 1.1.3 Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 45 Realisierung
  46. 46. Mailserver mit DANE – Alternativen? • Postfix 2.11 erst ab Debian 8 bzw. Ubuntu 14.04 LTS verfügbar < 2.11 unter RHEL, CentOS, SLES, evtl. (zuverlässige) Drittanbieter-Pakete nutzen?! • EXIM ab v4.85 Weder in Debian noch Ubuntu LTS noch CentOS noch SLES verfügbar • SendMail – aktuelle 8.15.2 immer noch kein DANE • Microsoft Exchange – kein DANE Drittanbieter-Erweiterung: CryptoFilter Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 46
  47. 47. Postfix-Konfiguration • Allgemein: Mailserver-Konfiguration grundsätzlich (beim ersten mal) knifflig • Zertifikat + Chain konfigurieren • SSL/TLS konfigurieren – für MTA: Default-Config (Cipher) schlechte Crypto besser als gar keine Krypto (Plaintext-Fallback) • Submission-Port: Mandatory TLS, nur „gute“ Cipher-Suiten erlaubt • Authentifizierung nur mit STARTTLS und am Submission-Port zulassen • DANE: straight forward Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 47
  48. 48. Verbreitung von TLS und DANE bei MTA‘s • TLS: siehe z.B.: Google Transparency Report • DANE: Starker Trend in .de Dzt. aber nur vereinzelt • Mail.de, posteo.de + viele Ankündigungen! Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 48
  49. 49. Mailserver-Studie: SSL / TLS-Protokollversionen Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 49
  50. 50. Mailserver-Studie: Cipher-Suite Unterstützung Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 50
  51. 51. Mailserver-Studie: eingesetzte Zertifikate • ssc = self signed Cert • local = unbekannte CA • ssc chain = CertChain fehlt Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 51
  52. 52. Dovecot: POP3 & IMAP • Setup straight forward • Zertifikat konfigurieren • Nur TLS zulassen, Cipher-String gemäß BetterCrypto.org „CipherString B“ • Dovecot stellt SASL (Simple Authentication and Security Layer) für Postfix bereit Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 52
  53. 53. Mailserver-Checks • Basis-Check: MxToolbox.com • Versand & Empfang: CheckTLS.com • Detailierte Analyse per Reply-Mail Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 53
  54. 54. CheckTLS.com Mail-Empfang Check Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 54
  55. 55. OpenSSL s_client -starttls Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 55
  56. 56. Prüfung: DH-Parameter, 2048bit ? Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 56
  57. 57. DANE-Check • PostTLS-Finger • Mail-Empfangs- Check Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 57
  58. 58. DANE-Empfangs-Check: dane.sys4.de Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 58
  59. 59. weitere Details dane.sys4.de Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 59
  60. 60. Mailserver Check: Versand mit DANE • Gegenstelle mit DANE Unterstützung erforderlich, z.B.: posteo.de Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 60
  61. 61. IMAPS, POP3S Test Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 61
  62. 62. TestSSL.sh Script Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 62
  63. 63. Web-Mail Apache, PHP, MySQL, RoundCube WebMail Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 63
  64. 64. Plattform: LAMP-Stack auf Debian 8.2 • Apache 2.4.10 • Mod SSL • Mod Headers • Mod Rewrite • • PHP 5.6.13 • MySQL 5.5.46 Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 64
  65. 65. Apache: SSL-Konfiguration • Cipher-String: Anlehnung an BetterCrypto.org, jedoch selbst gebaut • Inkonsistenzen im BetterCrypto-Guide „CipherString B“ aufgedeckt • Zertifikat + Chain konfiguriert • OCSP-Stapling aktiviert • HTTP Strict Transport Security (HSTS) • HTTP Public Key Pinning (HPKP) – Kapitel (von mir) nun in BetterCrypto enthalten Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 65
  66. 66. Apache vHost SSL Config Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 66
  67. 67. Cipher-Suite: BetterCrypto „CipherString B“ • Enthält Camellia • Priorisiert DH gegenüber ECDH • Präferiert AES256 gegenüber AES128 • Unterstützt keine Java 1.7 Clients • Ist sehr lang: • Mein Cipher-String: Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 67
  68. 68. Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 68
  69. 69. Client Kompatibilität Test mit Qualys SSL Labs Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 69
  70. 70. OCSP Stapling Online Certificate Status Protocol (OCSP) Response im TLS-Handshake Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 70
  71. 71. HTTP Strict Transport Security (HSTS) • Sorgt für das „+“ beim SSLLabs.com WebServer TLS-Check Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 71
  72. 72. HTTP Public Key Pinning (HPKP) als Ergänzung zu DANE • DANE für WebSites (HTTPS) möglich aber nicht gebräuchlich • Trust on First Use (TOFU) Prinzip • Base64 encodierter Hash des Public-Key des Zertifikates • Cert PubKey-Pinning • CA PubKey Pinning • Reserve-Key! Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 72
  73. 73. HTTP Public Key Pinning – Hash erzeugen • OpenSSL • WebService https://report-uri.io Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 73
  74. 74. Prüfung: HTTP Key Pinning Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 74
  75. 75. RoundCube Webmail • Download (Sourcen) von SourceForce (kein Paket für Debian 8.2 im Repo) • Einrichtung mit Web-Installer gemäß Doku • Greift über LocalHost auf IMAP zu • Versand: Nutzt Postfix über LocalHost • Adressbuch & User-Settings: mySQL-DB • Straight Forward, siehe Doku Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 75
  76. 76. RoundCube WebMail Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 76
  77. 77. Checks: Qualys SSL Labs SSLLabs.com Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 77
  78. 78. Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 78 Qualys SSL Labs • Server-Zertifikat • 4096bit RSA • SHA256 • OCSP verfügbar
  79. 79. Qualys SSL Labs • Protokolle • Cipher Suites Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 79
  80. 80. Qualys SSL Labs • Protokoll Details • OCSP Stapling aktiviert • HTTP Strict Transport Security • HTTP Public Key Pinning • Sichere Cipher-Suiten • Nur TLS, kein SSL aktiv • Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 80
  81. 81. A-Sit Firefox PlugIn Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 81
  82. 82. SIDN Labs HTTPS DANE Check Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 82
  83. 83. DNSSec & DANE Validator PlugIn Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 83
  84. 84. Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 84 Sicherer E-Mail-Dienste-Anbieter basierend auf Domain Name System Security Extension (DNSSec) & DNS-based Authentication of Named Entities (DANE) Paper als Download (PDF): https://hitco.at/blog https://hitco.at/blog/sicherer-e-mail-dienste-anbieter-dnssec-dane/
  85. 85. Quellen • Abbildungen siehe Abbildungsverzeichnis sowie Literaturverzeichnis im zugehörigen Dokument: „Sicherer E-Mail-Dienste-Anbieter (DNSSec+DANE) HowTo.pdf“ Besonderer Dank an: • SBA Research, insbesondere Aaron Zauner • Heise-Verlag • BetterCrypto.org • Acidx‘s Blog – Markus Klein • University Amsterdam • Und allen anderen Quellen (siehe o.a. Dokument) Gunnar Haslinger | Sicherer E-Mail-Dienste-Anbieter basierend auf DNSSec & DANE 85

×