
b3beb80aa32f9a0b94c381a1c50e4253.ppt
- Количество слайдов: 27
DANE/DNSSEC/TLS tests from Go 6 lab – findings and results Jan Žorž, Go 6 Institute <jan@go 6. si>
DNSSEC implementation in go 6 lab • Powerdns server (used as primary for nonsigned domains) as “hidden” primary DNS server • Open. DNSSEC platform for signing domains • BIND 9 DNS servers as secondaries to Open. DNSSEC to serve signed zones • Virtualization used: PROXMOX 3. 4 • OS templates: fedora-20, Centos 6/7,
DNSSEC implementation in go 6 lab • “Bump in a wire” • Two public “primary” servers • Concept:
DNSSEC in go 6 lab • That was fairly easy and it works very well. • Implementation document used from Matthijs Mekking: http: //go 6. si/docs/opendnssec-start-guide-draft. pdf
DANE experiment • When DNSSEC was setup and functioning we started to experiment with DANE (DNS Authenticated Name Entities. • Requirements: – DNSSEC signed domains – Postfix server with TLS support > 2. 11 • We decided for Postfix 3. 0. 1
DANE • TLSA record for mx. go 6 lab. si _25. _tcp. mx. go 6 lab. si. IN TLSA 3 0 1 B 4 B 7 A 46 F 9 F 0 DFEA 0151 C 2 E 07 A 5 AD 7908 F 4 C 8 B 0050 E 7 CC 25908 DA 05 E 2 A 84748 ED It’s basically a hash of TLS certificate on mx. go 6 lab. si More about DANE: http: //www. internetsociety. org/deploy 360/resources/da ne/
What is DANE and how does it work
DANE verification • Mx. go 6 lab. si was able to verify TLS cert to T-2 mail server and nlnet-labs and some others… mx postfix/smtp[31332]: Verified TLS connection established to smtp-good-in-2. t-2. si[2 a 01: 260: 1: 4: : 24]: 25: TLSv 1 with cipher DHE-RSA-AES 256 -SHA (256/256 bits) dicht postfix/smtp[29540]: Verified TLS connection established to mx. go 6 lab. si[2001: 67 c: 27 e 4: : 23]: 25: TLSv 1. 2 with cipher ECDHE-RSA-AES 256 -GCM-SHA 384 (256/256 bits)
Postfix config smtpd_use_tls = yes smtpd_tls_security_level = may smtpd_tls_key_file = /etc/postfix/ssl/server. pem smtpd_tls_cert_file = /etc/postfix/ssl/server. pem smtpd_tls_auth_only = no smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600 s smtp_tls_security_level = dane smtp_use_tls = yes smtp_tls_note_starttls_offer = yes smtp_tls_loglevel = 1 tls_random_exchange_name = /var/run/prng_exch tls_random_source = dev: /dev/urandom tls_smtp_use_tls = yes
Malformed TLSA record • We created TLSA record with bad hash (one character changed) • Postfix failed to verified it and refused to send a message mx postfix/smtp[1765]: Untrusted TLS connection established to mail-bad. go 6 lab. si[2001: 67 c: 27 e 4: : beee]: 25: TLSv 1. 2 with cipher ECDHE-RSA-AES 256 -GCM-SHA 384 (256/256 bits) mx postfix/smtp[1765]: 3 A 4 BE 8 EE 5 C: Server certificate not trusted
1 M top Alexa domains and DANE • We fetched top 1 million Alexa domains and created a script that sent an email to each any of them ( test-dnssec-dane@[domain] ) • After some tweaking of the script we got some good results • Then we built a script that parsed maillog file and here are the results:
Results • Out of 1 million domains, 992. 232 of them has MX record and mail server. • Nearly 70% (687. 897) of all attempted SMTP sessions to Alexa top 1 million domains MX records were encrypted with TLS • Majority of TLS connections (60%) were established with trusted certificate • 1. 382 of connections where remote mail server announced TLS capability failed with "Cannot start TLS: handshake failure"
More results TLS established connections ratios are: Anonymous: 109. 753 Untrusted: 167. 063 Trusted: 410. 953 Verified: 128 Quick guide: Anonymous (opportunistic TLS with no signature), Untrusted (peer certificate not signed by trusted CA), Trusted (peer certificate signed by trusted CA) and Verified (verified with TLSA by DANE).
DANE Verified: 128 !!!
Mail distribution - Google. com mail servers handles 125. 422 domains and all of them were detected with Trusted TLS state. - Secureserver. net mail servers handles 35. 759 domains, some of them with Trusted TLS, some of them with no TLS at all - qq. com mail servers handles 11. 254 domains and has no TLS at all - yandex. ru mail servers handles 9. 268 domains and has Trusted TLS - ovh. net mail servers handles 8. 531 domains with majority of them establishing Trusted TLS, just their redirect server having no TLS at all (redirect. ovh. net)
Mail distribution - emailsrvr. com mail servers handles 8. 262 domains and has Trusted TLS - zohomail. com mail servers handles 2. 981 domains and has Trusted TLS - lolipop. jp mail servers handles 1. 685 domains and has no TLS at all - kundenserver. de mail servers handles 2. 834 domains and has Trusted TLS - gandi. net mail servers handles 2. 200 domains and has Anonymous TLS
DNSSEC? DANE? None of this “big” mail servers (and their domains) are DNSSEC signed (that means no DANE for them possible.
SLO email servers test • We extracted. si domains from that top 1 m from Alexa and added some dnssigned and some other “usual suspects” • …and here are results!
All contacted mail servers analysis: All mail servers: 397 Anonymous TLS servers: 95 (no peer certificate, no verification, just anonymous encryption) Untrusted TLS servers: 104 (peer certificate not signed by trusted CA) Trusted TLS servers: 103 (peer certificate signed by trusted CA, unverified peer name) Verified (DANE) TLS servers: 9 (peer certificate signed by trusted CA and verified peer name (DANE)) NO TLS servers: 90 (no TLS encryption at all, not even as an option)
All SMTP sessions analysis: Number of all established SMTP sessions: 554 Number of all succesful TLS sessions: 504 Number of all failed TLS sessions: 6 Number of sessions with NO TLS at all: 44 Number of IPv 6 SMTP sessions: 53 Number of IPv 4 SMTP sessions: 501
All domains checked analysis: All domains checked: 610 NON DNSSEC signed domains: 575 DNSSEC signed domains: 35 Domains with no MX record: 56
DANE enabled mail servers: - edo. kr-neki. si - mail. go 6 lab. si - mx 1. t-2. net - mx 2. t-2. net - mx. go 6 lab. si - protector. rajmax. si - renato. ni-re. net - smtp-bad-in-1. t-2. net - smtp-good-in-2. t-2. si
Mail servers with NO TLS capability • The list is too long and I would not like to do publica shaming here… • …but the list can be found here: http: //bgp. go 6. si/email-research/results. txt
Conclusions • 70% of email can be encrypted in some way, you just need to enable TLS on your server • Low number of DNSSEC signed domains/servers • Even lower number of DANE/TLSA verified servers/connections • It’s easy, go and do it – it’s not the end of the world and it helps with verifying who are you sending emails to – and vice versa ; )
Q&A Questions? Protests? Suggestions? Complaints? http: //bgp. go 6. si/email-research/results. txt <jan@go 6. si>
b3beb80aa32f9a0b94c381a1c50e4253.ppt