+ All Categories
Home > Technology > DNSSEC and DANE – E-Mail security reloaded

DNSSEC and DANE – E-Mail security reloaded

Date post: 22-Nov-2014
Category:
Upload: men-and-mice
View: 582 times
Download: 2 times
Share this document with a friend
Description:
A crash course in “DANE” style securing x509 certificates using DNSSEC secured DNS using BIND 9 and the Postfix mail server.
36
DANE E-Mail Transport Security done right and https, jabber, PGP, … Carsten Strotmann (Men & Mice) Patrick Koetter (Sys4) 1
Transcript

DANE!E-Mail!Transport!Security!done!right

and!https,!jabber,!PGP,!…!!

Carsten!Strotmann!(Men!&!Mice)!Patrick!Koetter!(Sys4)

1

©!Men!&!Mice!!http://menandmice.com!

SSL/TLS!world!today

•a!(too)!large!number!of!certification!authorities!

•whom!do!you!trust!(ultimately)?!

•CA!security!can!be!breached!

•Comodo,!DigiNotar,!GlobalSign!…!

•False/Fake!certificates!have!been!issued!

•National!Informatics!Centre!(India),!DigiNotar,!ANSSI!…

2

©!Men!&!Mice!!http://menandmice.com!

TLS!and!E-Mail!Server

•many!mail-server!try!to!use!TLS!encryption!when!sending!data!to!other!mail!servers!

•no!human!in!reach!to!decide!if!the!certificate!is!not!good!

•mail!is!send!anyway!(un-authenticated!or!un-encrypted)!

•DANE!is!about!fixing!this

3

©!Men!&!Mice!!http://menandmice.com!

TLS!and!SMTP4

©!Men!&!Mice!!http://menandmice.com!

TLS!and!SMTP5

STARTTLS?

©!Men!&!Mice!!http://menandmice.com!

TLS!and!SMTP6

STARTTLS?STARTTLS!

©!Men!&!Mice!!http://menandmice.com!

TLS!and!SMTP

7

STARTTLS?

STARTTLS!

wrong server

©!Men!&!Mice!!http://menandmice.com!

TLS!and!SMTP

8

STARTTLS?

STARTTLS!

Men in theMiddle

STARTTLS?

STARTTLS!

©!Men!&!Mice!!http://menandmice.com!

TLS!and!SMTP

9

STARTTLS?

No!

Men in theMiddle

No!

STARTTLS?

©!Men!&!Mice!!http://menandmice.com!

TLS!!=!PGP

10

TLS

PGP

©!Men!&!Mice!!http://menandmice.com!

TLSA/SMTP

•Validation!of!TLS!certificates!via!DNS(SEC)!

•the!hash!of!an!x509!cert!(or!the!full!certificate)!stored!in!DNS!

•proof:!owner!of!the!domain!==!owner!of!the!certificate

11

©!Men!&!Mice!!http://menandmice.com!

TLSA/SMTP

•the!security-level!similar!to!domain-validated!x509!certificates!

•TLSA!can!be!used!to!validate!self-signed!certificates!

•TLSA!can!be!used!to!validate!X509!certificates!from!certification!authorities!(Symantec,!Comodo,!StartSSL,!CACert!…)

12

©!Men!&!Mice!!http://menandmice.com!

TLS!and!SMTP

13

STARTTLS?

STARTTLS!SMTP MTA

SMTP MTA

DNS

TLS cert

DNS

©!Men!&!Mice!!http://menandmice.com!

TLS!and!SMTP

14

STARTTLS?

STARTTLS!SMTP MTA

SMTP MTA

DNS

TLS cert

DNS

TLSA?

©!Men!&!Mice!!http://menandmice.com!

TLS!and!SMTP

15

STARTTLS?

STARTTLS!SMTP MTA

SMTP MTA

DNS DNS

TLSA!

DNSSEC check

©!Men!&!Mice!!http://menandmice.com!

TLS!and!SMTP

16

STARTTLS!

STARTTLS!SMTP MTA

SMTP MTA

DNS DNS

©!Men!&!Mice!!http://menandmice.com!

TLS!and!SMTP

17

STARTTLS?

NO!

Man in theMiddle

SMTP MTA

SMTP MTA

DNSDNS

TLSA?

©!Men!&!Mice!!http://menandmice.com!

TLS!and!SMTP

18

STARTTLS?

NO!

Man in theMiddle

SMTP MTA

SMTP MTA

DNSDNS

TLSA!

DNSSEC check

ALERT! MITM Attack

©!Men!&!Mice!!http://menandmice.com!

TLS!and!SMTP

19

STARTTLS?

STARTTLS!

SMTP MTA

SMTP MTA

DNSDNS

TLSA?

Spoofed server

©!Men!&!Mice!!http://menandmice.com!

TLS!and!SMTP

20

STARTTLS?

SMTP MTA

SMTP MTA

DNSDNS

TLSA!

DNSSEC check

ALERT! wrong server!

STARTTLS!Spoofed server

©!Men!&!Mice!!http://menandmice.com!

Infrastructure!DNS

•DNSSEC!validation!(caching!DNS!resolver)!!

•BIND!9,!Unbound,!dnsmasq,!Windows!2012!

•DNSSEC!signed!zones!(authoritative!DNS!Server)!

•BIND!9,!NSD,!Knots,!Y.A.D.I.F.A.,!PowerDNS,!Bundy-DNS,![Windows!2012]*

21

*!Windows!2012R2!does!not!support!the!TLSA-Record

©!Men!&!Mice!!http://menandmice.com!

Infrastructure!Mail

•MTA!(Mailserver)!with!TLSA!Support!!

•Postfix!2.11,!Exim!(in!development)!

•TLS!certificates!

•EV-certificate!(Extended!Validation)!

•DV-certificate!(Domain!Validation)!

•Self-signed!certificate

22

©!Men!&!Mice!!http://menandmice.com!

BIND!9!DNSSEC

•enable!DNSSEC!validation:options { … dnssec-validation auto; dnssec-lookaside auto;};

23

©!Men!&!Mice!!http://menandmice.com!

manual!TLSA-Record

•manual!creation!of!a!TLSA!record!hash:$ openssl x509 -in mail.example.de.crt -outform DER | openssl sha256  (stdin)= 8cb0fc6c527506a053f4f14c8464bebbd6dede2738d11468dd953d7d6a3021f1

•TLSA!record:_25._tcp.mail.example.de. 3600 IN TLSA 3 0 1 ( 8cb0fc6c527506a053f4f14c8464bebbd6dede 2738d11468dd953d7d6a3021f1 )

24

©!Men!&!Mice!!http://menandmice.com!

TLSA-Record!creation!with!tools

•TLSA!record!using!ldns-dane:$ ldns-dane create www.bund.de 443_443._tcp.www.bund.de. 3600 IN TLSA 3 0 1 8f28b062eaa9f917042a63d35d99e017c68d89eaa314c49a3ef94b6e770b0a49

•test!TLSA!Record!with!ldns-dane:$ ldns-dane verify www.bund.de 44377.87.229.48 dane-validated successfully

25

©!Men!&!Mice!!http://menandmice.com!

test!TLSA-Record

26

shell> dig _25._tcp.mail.example.de. +dnssec +m ; <<>> DiG 9.9.5 <<>> _25._tcp.mail.example.de TLSA +dnssec +m;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13973;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0;; OPT PSEUDOSECTION:; EDNS: version: 0, flags: do; udp: 4096;; QUESTION SECTION:;_25._tcp.mail.example.de. IN TLSA;; ANSWER SECTION:_25._tcp.mail.example.de. 3588 IN TLSA 3 1 1 ( 8cb0fc6c527506a053f4f14c8464bebbd6dede 2738d11468dd953d7d6a3021f1 )_25._tcp.mail.example.de. 3588 IN RRSIG TLSA 8 5 3600 ( 20140324063111 20140317121843 4390 example.de. RBgAAzQx3gks0KKJHuJ7qKd61jpY8E6dwDM6inPPa6Ee xV8OBnAzhF4RMKSabHF0LNwRzWqE5xNfPibMQFDoDRKJ /QiNgux/IXti3JqtH4BkT0w7Ooi+8DZsil9BTjg6WkaX 1FuJ4rJ2r3hXS7eIOFWtOF7pPVPdIIaRB6xp+1A= );; Query time: 9 msec;; SERVER: 127.0.0.1#53(127.0.0.1);; WHEN: Mon Mar 17 19:29:45 CET 2014;; MSG SIZE rcvd: 142

DNSSEC check OK

TLSA Record

DNSSEC signature

©!Men!&!Mice!!http://menandmice.com!

Postfix!configuration

Postfix!configuration!for!TLSA!validation: shell> postconf -e "smtpd_use_tls = yes"shell> postconf -e "smtp_dns_support_level = dnssec"shell> postconf -e "smtp_tls_security_level = dane"

27

©!Men!&!Mice!!http://menandmice.com!

Postfix!log!TLS!without!DNSSEC!TLSA!validation!(DANE):Mar 16 19:10:55 m3 postfix/qmgr[25923]: 2B1A680337: from=<[email protected]>, size=291, nrcpt=1 (queue active)Mar 16 19:11:03 m3 postfix/smtp[25929]: Untrusted TLS connection established to mail1.example.de[2001:db8:100::25]:25: TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)Mar 16 19:11:05 m3 postfix/smtp[25929]: 2B1A680337: to=<[email protected]>, relay=mail1.example.de[2001:db8:100::25]:25, delay=16, delays=6.2/0.01/7.9/2.1, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 3fn80C2DP5zTT)Mar 16 19:11:05 m3 postfix/qmgr[25923]: 2B1A680337: removed

Postfix!log!(untrusted!TLS)

28

©!Men!&!Mice!!http://menandmice.com!

Postfix!log!TLS!with!DNSSEC!TLSA!validation!(DANE):Mar 16 19:20:01 m3 postfix/qmgr[26122]: 8FBEE80337: from=<[email protected]>, size=285, nrcpt=1 (queue active)Mar 16 19:20:01 m3 postfix/smtp[26131]: Verified TLS connection established to mail.example.de[2001:db8:100::25]:25: TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)Mar 16 19:20:03 m3 postfix/smtp[26131]: 8FBEE80337: to=<[email protected]>, relay=mail.example.de[2001:db8:100::25]:25, delay=149, delays=147/0.03/0.13/1.8, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 3fn8BY3ltPzTT)Mar 16 19:20:03 m3 postfix/qmgr[26122]: 8FBEE80337: removed

Postfix!log!(DNSSEC!secured!TLS)

29

©!Men!&!Mice!!http://menandmice.com!

DANE!TLSA!Benefits

•authenticated!encrypted!connection!between!SMTP!server!!!

•prevents!STARTTLS!"downgrade"!attacks!

•secures!against!fake/spoofed!TLS/SSL!certificates!

•no!CRL/OCSP!required!to!"revoke"!a!certificate!(just!replace!the!TLSA!record)

30

©!Men!&!Mice!!http://menandmice.com!

Mail-ISP!deploys!DANE/SMTP

31

©!Men!&!Mice!!http://menandmice.com!

TLSA-Info!Webseite

32

http://tlsa.info

©!Men!&!Mice!!http://menandmice.com!

DANE!-!more!than!SMTPTLSA!for!HTTPS!

OPENPGPKEY!—!PGP!keys!in!DNS!

IPSECKEY!—!IPSEC!keys!in!DNS!

SSHFP!—!SSH!server!fingerprints!

S/MIME!

SRV!—!DNS!Service!Discovery

33

Prosody!Jabber!Serverhttp://bridge.grumpy-troll.org/2014/05/xmpp-dane-with-prosody/ !

Gajim!Jabber!Client https://github.com/irl/gajim

Stan

dard

s

Impl

emen

tatio

ns

©!Men!&!Mice!!http://menandmice.com!

www.dnssec-validator.cz

34

©!Men!&!Mice!!http://menandmice.com!35

?

©!Men!&!Mice!!http://menandmice.com!

Links!and!additional!informationDNSWorkshophttp://dnsworkshop.org!

Postfix!TLS!Readme!http://www.postfix.org/TLS_README.html!

Wietse!Venema!"Postfix!2.11"!FOSDEM!2014!Video!-!https://fosdem.org/2014/schedule/event/postfix_lessons_learned_and_recent_developments/!

IETF!"DANE"!Workinggrouphttp://datatracker.ietf.org/wg/dane/!

TLSA!RFC!6698 http://datatracker.ietf.org/doc/rfc6698/!

TLSA/SMTP!Drafthttp://datatracker.ietf.org/doc/draft-ietf-dane-smtp-with-dane/!

c't!Magazin!Issue!11/2014!-!Page!194!"Geleitschutz"!

c't!Magazin!Issue!18/2014!-!Page!162ff!"DANE!auf!Linux!Servern"!and!"DNSSEC!für!Clients!und!Client-Netze!einrichten"!

TLSA!generator!webpagehttps://www.huque.com/bin/gen_tlsa!

NLnetLabs!"ldns"https://www.nlnetlabs.nl/projects/ldns/!

"hash-slinger"!von!Paul!Wouters!(Red!Hat)!http://people.redhat.com/pwouters/hash-slinger/!

DNSSEC!Training!http://www.menandmice.com/support-training/training/dnssec-workshop/

36


Recommended