State of the "DNS privacy" project. Stéphane Bortzmeyer AFNIC bortzmeyer@nic.fr



Similar documents
Use Domain Name System and IP Version 6

DANE Secured Demonstration. Wes Hardaker Parsons

DNS Conformance Test Specification For Client

Domain Name System (DNS) Fundamentals

IETF DPRIVE WG: Encrypting DNS

DNS. Some advanced topics. Karst Koymans. (with Niels Sijm) Informatics Institute University of Amsterdam. (version 2.6, 2013/09/19 10:55:30)

Ciphermail Gateway Separate Front-end and Back-end Configuration Guide

DNSSEC Applying cryptography to the Domain Name System

netkit lab dns Università degli Studi Roma Tre Dipartimento di Informatica e Automazione Computer Networks Research Group Version Author(s)

Domain Name System (DNS) Session-1: Fundamentals. Ayitey Bulley

CSE 127: Computer Security. Network Security. Kirill Levchenko

DNS at NLnet Labs. Matthijs Mekking

Domain Name System :49:44 UTC Citrix Systems, Inc. All rights reserved. Terms of Use Trademarks Privacy Statement

Table of Contents DNS. How to package DNS messages. Wire? DNS on the wire. Some advanced topics. Encoding of domain names.

page 1 DNS Rate Limiting W. Matthijs Mekking matthijs@nlnetlabs.nl 28 Feb 2013 Stichting NLnet Labs

IPv6 Support in the DNS. Workshop Name Workshop Location, Date

How To - Configure Virtual Host using FQDN How To Configure Virtual Host using FQDN

APNIC IPv6 Deployment

Operational Problems in IPv6: Fallback and DNS issues

The Domain Name System

Configuring Security Features of Session Recording

Internet-Praktikum I Lab 3: DNS

Motivation. Domain Name System (DNS) Flat Namespace. Hierarchical Namespace

The Domain Name System from a security point of view

DNSSEC - Why Network Operators Should Care And How To Accelerate Deployment

DNS SECURITY TROUBLESHOOTING GUIDE

DNS (Domain Name System) is the system & protocol that translates domain names to IP addresses.

API of DNS hosting. For DNS-master and Secondary services Table of contents

Some advanced topics. Karst Koymans. Friday, September 11, 2015

DNS zone transfers from FreeIPA to non-freeipa slave servers

TLS and SRTP for Skype Connect. Technical Datasheet

IPV6 SERVICES DEPLOYMENT

Configuring DNS. Finding Feature Information

No. Time Source Destination Protocol Info DNS Standard query A weather.noaa.gov

Description: Objective: Attending students will learn:

File transfer and login using IPv6, plus What to do when things don t work

DNS traffic analysis -- Issues of IPv6 and CDN --

A versatile platform for DNS metrics with its application to IPv6

IERG 4080 Building Scalable Internet-based Services

DNS ActiveX Control for Microsoft Windows. Copyright Magneto Software All rights reserved

DNS : Domain Name System

DNS SRV Usage June 22, 2011

NAS 272 Using Your NAS as a Syslog Server

This guide provides detailed information on how to configure and use server redundancy on Yealink IP phones.

Networking Domain Name System

Unifying Information Security. Implementing TLS on the CLEARSWIFT SECURE Gateway

3. The Domain Name Service

Reverse DNS considerations for IPv6

DNS Resolving using nslookup

IPv6 and DNS. Secure64

SSSD DNS Improvements in AD Environment

DNSwitness: recent developments and the new passive monitor

Presented by Greg Lindsay Technical Writer Windows Server Information Experience. Presented at: Seattle Windows Networking User Group April 7, 2010

Network Fundamentals Carnegie Mellon University

Large-scale DNS and DNSSEC data sets for network security research

Internet Engineering Task Force. Intended status: Experimental Expires: September 6, 2012 March 5, 2012

The Application Layer: DNS

This guide provides detailed information on how to configure and use server redundancy on Yealink IP phones.

Inbound Load Balance. User Manual

Entrust Managed Services PKI. Configuring secure LDAP with Domain Controller digital certificates

Scan Report Executive Summary. Part 2. Component Compliance Summary IP Address :

Teldat Router. DNS Client

Session Hijacking Exploiting TCP, UDP and HTTP Sessions

IPv6 support in the DNS

Computer Networks. Secure Systems

Acano solution. Third Party Call Control Guide. March E

IPv6 and DNS. Secure64

Lab Exercise SSL/TLS. Objective. Step 1: Open a Trace. Step 2: Inspect the Trace

Enterprise Architecture Office Resource Document Design Note - Domain Name System (DNS)

DNS Tampering and Root Servers

Building a Linux IPv6 DNS Server

Lab Exercise SSL/TLS. Objective. Requirements. Step 1: Capture a Trace

F-Secure Messaging Security Gateway. Deployment Guide

KAREL UCAP DNS AND DHCP CONCEPTS MANUAL MADE BY: KAREL ELEKTRONIK SANAYI ve TICARET A.S. Organize Sanayi Gazneliler Caddesi 10

Domain Name System Security

How do I get to

Copyright

Deployment Guide A10 Networks/Infoblox Joint DNS64 and NAT64 Solution

Threat Advisory: Trivial File Transfer Protocol (TFTP) Reflection DDoS

Remote DNS Cache Poisoning Attack Lab

A Step-by-Step guide for implementing DANE with a Proof of Concept

IPv6 Support in the DNS. Workshop Name Workshop Location, Date

How to Add Domains and DNS Records

Part 5 DNS Security. SAST01 An Introduction to Information Security Martin Hell Department of Electrical and Information Technology

1 DNS Packet Structure

DEPLOYMENT GUIDE Version 1.4. Configuring IP Address Sharing in a Large Scale Network: DNS64/NAT64

Module 2. Configuring and Troubleshooting DNS. Contents:

Lecture 2 CS An example of a middleware service: DNS Domain Name System

The Domain Name System

Borderware Firewall Server Version 7.1. VPN Authentication Configuration Guide. Copyright 2005 CRYPTOCard Corporation All Rights Reserved

Setting Up Scan to SMB on TaskALFA series MFP s.

Transcription:

State of the "DNS privacy" project Stéphane Bortzmeyer AFNIC bortzmeyer@nic.fr 1 / 1

State of the "DNS privacy" project Stéphane Bortzmeyer AFNIC bortzmeyer@nic.fr

Warsaw OARC workshop May 2014: talk of the DNS privacy project See the slides for the context

A brief reminder 1 A DNS query reveals what you re interested in (_bittorrent-tracker._tcp.domain.example) 2 Eve can be on the wire (sniffer) but also in the name servers ( DNSCrypt doesn t prevent third-party DNS resolvers from logging your activity, to quote the DNSCrypt documentation)

Encryption is not everything 1 Send as little data as possible (RFC 6973, section 6.1) 2 Encrypt it 1) is necessary against the evil name server. 2) is necessary against third-party sniffers.

State of the project On the standards side: 1 RFC 7626 DNS Privacy Considerations published 2 RFC 7816 DNS Query Name Minimisation to Improve Privacy published (status experimental ) 3 Future RFC Specification for DNS over TLS approved by IESG, in the RFC Editor queue (status standard ) 4 A few drafts are still under discussion

Running code Stolen from Sinodun https://portal.sinodun.com/wiki/ display/tdns/dns-over-tls+implementations

Minimising the QNAME 1 No need to send the full QNAME to the authoritative name servers 2 Ask NS fr to the root name servers instead of AAAA www.internautique.fr 3 In resolvers only (no change of the protocol)

Implementation of QNAME minimisation Unbound (version 1.5.7). Off by default. See Ralph Dolman s talk. Knot Resolver (currently beta). On by default. See Ondřej Surý s talk.

QNAME minimisation with Knot dig -x of an IPv6 address, seen by tcpdump: > 38773% [1au] NS? arpa. (33) > 22056% [1au] NS? Ip6.aRPa. (37) > 43002% [1au] NS? 2.ip6.arPA. (39)

The annoying broken name servers Knot retries with full QNAME when receiving NXDOMAIN: > 24014% [1au] A? WwW.UpENn.edU. (42) < 24014*- 2/0/1 CNAME www.upenn.edu-dscg.edgesuite.net., RRSIG (270) > 52576% [1au] NS? edgesuite.net. (42) < 52576-0/17/15 (1034) > 22228 [1au] NS? EdU-DScG.EdGesUITe.nET. (51) < 22228 NXDomain*- 0/1/1 (114) > 1355 [1au] A? WWW.UPenN.edu-dSCG.EdgESuItE.net. (61)

No way to know if it is an ENT (ENT = Empty Non-Terminal domain name) Request for www.long.verylong.detail.example: > 19881% [1au] NS? ExaMpLE. (36) [NXDOMAIN received] > 40708% [1au] AAAA? www.long.verylong.detail.example. (61) (Same thing with Unbound) < 33070 NXDomain*- q: NS? example. 0/6/1 > 31355% [1au] A? www.long.verylong.detail.example. ar:. OPT UDPsize=40

Encrypting data 1 DNScurve/DNScrypt. 2 TLS. Relies on the well-known TLS. Main version, above TCP and therefore persistent connections (RFC 7766). Port 853.

DNScrypt https://dnscrypt.org/ Not a standard (but there is running code, and deployment) Encrypt DNS requests to a trusted resolver Uses UDP No cryptographic agility Resolver authentified by its public key (last column in the CSV file) Free software Many public resolvers (come and go quite often)

DNScrypt encrypted 17:26:41.720678 IP (tos 0x0, ttl 64, id 59095, offset 0, flags [+], prot 192.168.2.9.33725 > 212.47.228.136.443: UDP, bad length 1664 > 1472 17:26:41.721372 IP (tos 0x0, ttl 64, id 59095, offset 1480, flags [none] 192.168.2.9 > 212.47.228.136: ip-proto-17 17:26:41.794366 IP (tos 0x0, ttl 64, id 59102, offset 0, flags [none], p 192.168.2.9.33725 > 212.47.228.136.443: [bad udp cksum 0x8143 -> 0xd 17:26:41.840503 IP (tos 0x0, ttl 50, id 52891, offset 0, flags [none], p 212.47.228.136.443 > 192.168.2.9.33725: [udp sum ok] UDP, length 560

TLS with Unbound Implemented for a long time (1.4.22?) ssl-service-key: "/etc/unbound/privatekeyfile.key" ssl-service-pem: "/etc/unbound/publiccertfile.pem" interface: 2001:db8:1::dead:beef@853 ssl-port: 853 If you don t know OpenSSL : openssl req -x509 -newkey rsa:4096 \ -keyout privatekeyfile.key -out publiccertfile.pem \ -days 1000 -nodes

Unbound starts and answers unbound[12959:0] debug: setup TCP for SSL service... unbound[12959:0] debug: SSL DNS connection ip4 192.168.2.1 port 52185 (l... unbound[12959:0] debug: Reading ssl tcp query of length 59

And if I don t have a server? https://portal.sinodun.com/wiki/display/tdns/ DNS-over-TLS+test+servers Testing only, no production (one serves only one zone)

First client, digit https://ant.isi.edu/software/tdns/index.html Not fully maintained? (Strange errors, no IPv6) %./digit/digit -f domains-short -t tls -r 192.168.2.9 -p 853 #fsdb index t_complete t_avg t_individual t_sum t_mean id query_send_ts response_receive_ts program_start_ts 1 0.614152 0.614152 0.614152 0.614152 0.614152 19383 1459097697.585573 1459097698.199725 1459097697.585572

Second client, getdns https://getdnsapi.net/, see Sara Dickinson s talk %./getdns/src/test/getdns\_query @192.168.2.9 -s -A -l L \ www.bortzmeyer.org... Response code was: GOOD. Status was: At least one response was returned (-s: stub resolver, -A: ask for addresses, -l L: TLS transport)

TLS in Go https://miek.nl/2014/august/16/go-dns-package/ c := new(dns.client) c.net = "tcp-tls" if *insecure { c.tlsconfig = new(tls.config) c.tlsconfig.insecureskipverify = true } in, rtt, err := c.exchange(m, net.joinhostport(ns, "853"))

The pleasures of TLS authentication 1 No auth.: vulnerable to Mallory (the man in the middle) 2 Auth.: lots of trouble ( do you really trust this expired auto-signed certificate using SHA-1? ) 3 No hard rules: different profiles for authentication %./tls my-resolver internautique.fr Error in query: x509: certificate signed by unknown authority %./tls -k my-resolver internautique.fr (time 43051 µs) 2 keys. TC=false

See the traffic % tshark -n -d tcp.port==853,ssl -r /tmp/dnstls.pcap 4 0.002996 192.168.2.9 -> 192.168.2.9 SSL Client Hello 6 0.594206 192.168.2.9 -> 192.168.2.9 TLSv1.2 Server Hello, Certifi 8 0.734094 192.168.2.9 -> 192.168.2.9 TLSv1.2 Client Key Exchange 16 0.751614 192.168.2.9 -> 192.168.2.9 TLSv1.2 Application Data 17 0.759223 192.168.2.9 -> 192.168.2.9 TLSv1.2 Application Data (With Wireshark, Analyze Decode as SSL)

(Provisional) Conclusion 1 We have running code 2 Deployment almost zero, currently

Merci! www.afnic.fr contact@afnic.fr