CNIT 40: 2: DNS Protocol and Architecture

SamBowne 3,246 views 46 slides Sep 13, 2016
Slide 1
Slide 1 of 46
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46

About This Presentation

Slides for a college course based on "DNS Security" by Anestis Karasaridis.

Teacher: Sam Bowne
Website: https://samsclass.info/40/40_F16.shtml


Slide Content

DNS Security
Ch 2: DNS Overview: Protocol,
Architecture, and Applications
Updated 9-13-16

History
•On ARPANet, host names were mapped to
IP addresses in a hosts.txt file stored on a
single master server
•Other machines downloaded copies of
hosts.txt periodically
•Unix stored this information in /etc/hosts
•This technique didn't scale well. DNS
started in 1983.

Design Principles
•Distributed storage
–DNS data split across many servers
–Smaller storage requirements for each server
–Faster transfer of information
–No single point of failure
•Hierarchical organization of data
–Allows local control of names and avoids
name conflicts

DNS Name Structure
•Up to four labels separated by dots form a
Fully Qualified Domain Name (FQDN)
hills.ccsf.edu
Top Level
Domain
(TLD)
Second Level
Domain (SLD){
{
Host
name{

Hierarchical DNS Namespace

DNS Zones
•Data for a domain and all
or some of its subdomains
is called a zone
•All of CCSF could be one
zone, containing
–ns.ccsf.edu
–www.ccsf.edu
–mail.ccsf.edu
edu
.
www mailns
ccsf

Domain Delegation
•CCSF could have
separate
nameservers on each
campus, each
responsible for their
own subdomain
•The ccsf.edu parent
domain would
delegate
responsibility for a
subdomain to each
campus, making
many zones
•URLs would be longer
–www.ocean.ccsf.edu
edu
.
missionevansocean
ccsf
nswww nswww
nswww

DNS Clients, Servers, and Resolvers
•DNS Client
–A program like a Web browser using a domain
name like www.ccsf.edu
•DNS Server
–Stores and serves DNS data
•DNS Resolver
–Software that accepts a query from a client,
queries one or more DNS servers, and replies
to the client

DNS Servers
•Authoritative servers
manage information about a
domain
–SOA (Start Of Authority)
•Caching servers store data
they copied from other
servers
–Not authoritative for any
domain
–Cache records have a Time To
Live (TTL)
–Specified by SOA for each
record

DNS Queries
•Recursive query
–Server will find the answer, even if it has to
query other servers to get it
–Server will not respond with a referral to
another server
•Iterative query
–If server does not have the answer, it will
send a referral to another DNS server
–Requester has to send another query to hunt
for the answer

DNS Forwarder
•Only external queries
are sent to the
forwarder in this
example
•Can reduce traffic
through slow or
expensive links
•Because it can cache
more records

DNS Resolvers
•Receive requests from client applications
•Query DNS servers
•Can cache data
•Stub resolver
–Resolver connected to only one recursive server
–Cannot follow referrals
–Part of the operating system on the end device
–Windows stub resolver caches
–Linux stub resolver does not cache

Local DNS Server
•Provided by Internet Service Provider (ISP)
•Configured at the client manually or by
DHCP

Typical Name Resolution Scenario
ns
ccsf
Stub
resolver
in OS
Local
DNS
Server
Query: Where is
www.ccsf.edu?
Query: Where is
the SOA for edu?
Query: Where is the
SOA for ccsf.edu?
edu
.
Query: Where is
www.ccsf.edu?

DNS Replication
•Master server contains primary zone files
•Slave servers have copies of the zone
files
•Zone transfer
–The process of copying the files

Root Servers
•Named .
–"dot"
•Has pointers to the top-level domains
–com, biz, mil, net, and so on
•If a DNS server has no data in the cache,
e. g. after a reboot
–Receives a recursive query
–Is not the SOA for that domain
–Must query root to find the TLD servers

Root Servers
•Hundreds of servers
•Dispersed around the world
•13 domain names
–a.root-servers.net
–b.root-servers.net
–...
–m.root-servers.net

DNS Resource Record Types
and Classes
Each data element in DNS is
called a Resource Record (RR)

Common RR Types
A IPv4 address of host
AAAA IPv6 address of host
MX Mail exchange
PTR Host name corresponding to IP
address
NS Host name of SOA name server
CNAME Canonical Name: alias
SOA Attributes of zone
TXT General information

Common RR Types
NAPTR Naming Authority Pointer
SRV Service (for specific applications)
SPF Sender Policy Framework
(used to control spam)
Also included in TXT records as a
transitional mechanism
DNSKEY, DS, RRSIG, NSEC for DNSSEC

dig any ccsf.edu

dig any ietf.org

DNS Looking Glass

Reverse DNS Resolutions
•Start with IP address and query to find the
domain name
•Used to block spam email
–If IP address of server doesn't have a valid
domain name, or the domain name is
blacklisted, the email is rejected

PTR Records for RDNS
•Reverse the order of the IP address
•Add "in-addr.arpa"
•For example, 147.144.1.212 becomes
•212.1.144.147.in-addr.arpa.

Reverse DNS Lookup

Forward Lookup for Google

Reverse Lookup for Google

•Flags specify:
–Query or Response
–Forward or Reverse
–Recursive or Iterative

Glue Records
•If the SOA for ccsf.edu is ns3.ccsf.edu
the system fails
–Q: Where is www.ccsf.edu?
–A: Ask ns3.ccsf.edu
–Q: Where is ns3.ccsf.edu?
–A: Ask ns3.ccsf.edu
•To prevent this, each domain has a glue
record in their top-level domain zone
specifying the IP address of the SOA

Viewing Glue Records with dig
1. Find a .edu root NS server

2. dig NS domain @root

IPv4 Glue for Google
•1. NS servers for .com

IPv4 Glue Records for Google

Bind Version Query
•From c. 2015

Bind Version Query 9-13-16

ISC.ORG (Authors of Bind)

Common Server Architectures

Small Company: Outsource DNS

Medium 

Company
•Internal and
external DNS
servers
•Only public
servers like
www and mx
on external
DNS servers

Large Company

Hierarchical

Caching

Architecture

Anycast