SlideShare a Scribd company logo
1 of 94
Download to read offline
DNS/DNSSEC Tutorial
MyNOG3 and APNIC Regional Meeting
29 November 2013, Kuala Lumpur, Malaysia.
Presenter
Nurul Islam Roman
Senior Training Specialist, APNIC
Nurul maintains the APNIC training lab and is involved in delivering
technical training for the APNIC community. He possesses
specialized skills in designing and running IPv4/IPv6 routing and
switching infrastructure for service provider and enterprise
networks. Prior to his current role he looked after the IP and AS
number allocations for the APNIC Members.
Areas of interests:
Internet Resource Management, IPv6, Routing and Switching,
MPLS, BGP, Security, DNS, DNSSec, Internet Routing Registry and
RPKI, ISP Services and Internetworking.
Contact:
Email: nurul@apnic.net
Overview
•  DNS Overview
•  Forward and Reverse DNS
•  DNS Security Overview
•  Transaction Signature (TSIG)
•  DNS Security Extensions (DNSSEC)
DNS Overview
Domain Name System
•  A lookup mechanism for translating objects into other
objects
–  Mapping names to numbers and vice versa

•  A globally distributed, loosely coherent, scalable, reliable,
dynamic database
•  Comprised of three components
–  A “name space”
–  Servers making that name space available
–  Resolvers (clients) which query the servers about the name space

•  A critical piece of the Internet infrastructure
IP Addresses vs Domain Names
The Internet
DNS
202.12.29.194
www.apnic.net
2001:dc0:2001:11::194

2001:0C00:8888::
My Computer

2001:dc0:2001:11::194
www.apnic.net
Old Solution: hosts.txt
•  A centrally-maintained file, distributed to all hosts on the
Internet
•  Issues with having just one file
– 
– 
– 
– 
– 
– 

Becomes huge after some time
Needs frequent copying to ALL hosts
Consistency
Always out-of-date
Name uniqueness
Single point of administration

// hosts.txt
SERVER1
WEBMAIL
FTPHOST

128.4.13.9
4.98.133.7
200.10.194.33

This feature still exists:
[Unix] /etc/hosts
[Windows] c:windowshosts
DNS Features
•  Global distribution
–  Shares the load and administration

•  Loose Coherency
–  Geographically distributed, but still coherent

•  Scalability
–  can add DNS servers without affecting the entire DNS

•  Reliability
•  Dynamicity
–  Modify and update data dynamically
DNS Features
•  DNS is a client-server application
•  Requests and responses are normally sent in UDP packets,
port 53
•  Occasionally uses TCP, port 53
–  for very large requests, e.g. zone transfer from master to slave
Querying the DNS – It’s all about IP!
Root
.

.tv
.gov
.in
.jp

x.y.z.a

.org

.net

.com

www.example.edu.au?
“Ask e.f.g.h”
“Ask a.b.c.d”

www.example.edu.au?

.au
a.b.c.d

“Ask i.j.k.l”
www.example.edu.au?

.edu.au
e.f.g.h

“Go to m.n.o.p”

www.example.edu.au?

“go to
www.example.edu.au?
m.n.o.p”

example.edu.au
local
dns

i.j.k.l

p.q.r.s

www.example.edu.au
w.x.y.z.

m.n.o.p
The DNS Tree Hierarchy
Root

.

net

org

com

apnic

iana

arpa

au

www

…

net edu com edu
abc

whois www wasabi

bd

gu

www www

bnu
www

FQDN = Fully Qualified Domain Name
ws1 ws2
Domains
•  Domains are “namespaces”
•  Everything below .com is in the com domain
•  Everything below apnic.net is in the apnic.net domain and
in the net domain
Root Servers
•  The top of the DNS hierarchy
•  There are 13 root name servers operated around the world,
with names from [a-m].root-servers.net
•  There are more than 13 physical root name servers
–  Each rootserver has an instance deployed via anycast

•  Root hints file come in many names (db.cache, named.root,
named.cache, named.ca)
–  Get it from ftp.rs.internic.net

•  See root-servers.org for more detail
Root Servers
Resolver
•  Or “stub” resolver
•  A piece of software (usually in the operating system) which
formats the DNS request into UDP packets
•  A stub resolver is a minimal resolver that forwards all
requests to a local recursive nameserver
–  How to find a local nameserver? The IP address should be explicitly
configured in the resolver.

•  Every host needs a resolver
–  In Linux, it uses /etc/resolv.conf

•  Note that it is always a good idea to configure more than
one nameserver
Recursive Nameserver
•  The job of the recursive nameserver is to locate the
authoritative nameserver and get back the answer
•  This process is iterative – starts at the root
•  Recursive servers are also usually caching servers
•  Prefer a nearby cache
–  Minimizes latency issues
–  Also reduces traffic on your external links

•  Must have permission to use it
–  Your ISP’s nameserver or your own
Recursive/Caching
Nameserver
Authoritative Nameserver
•  A nameserver that is authorised to provide an answer for a
particular domain.
–  Can be more than one auth nameserver

•  Two types based on management method:
–  Primary (Master) and Secondary (Slave)

•  Only one primary nameserver
–  All changes to the zone are done in the primary

•  Secondary nameserver/s will retrieve a copy of the zonefile
from the primary server

Secondary

–  Slaves poll the master periodically

•  Primary server can “notify” the slaves
Primary

Secondary
Resource Records
•  Entries in the DNS zone file
•  Components:
Resource Record

Function

Label

Name substitution for FQDN

TTL

Timing parameter, an expiration limit

Class

IN for Internet, CH for Chaos

Type

RR Type (A, AAAA, MX, PTR) for
different purposes

RDATA

Anything after the Type identifier;
Additional data
Common Resource Record Types
RR Type

Name

Functions

A

Address record

Maps domain name to IP address
www.apnic.net. IN A 203.176.189.99

AAAA

IPv6 address record

Maps domain name to an IPv6 address
www.apnic.net. IN AAAA 2001:db8::1

NS

Name server record

Used for delegating zone to a nameserver
apnic.net. IN NS ns1.apnic.net.

PTR

Pointer record

Maps an IP address to a domain name
99.189.176.203.in-addr.arpa. IN PTR
www.apnic.net.

CNAME

Canonical name

Maps an alias to a hostname
web IN CNAME www.apnic.net.

MX

Mail Exchanger

Defines where to deliver mail for user @
domain
apnic.net. IN MX 10 mail01.apnic.net.
IN MX 20 mail02.apnic.net.
Example: RRs in a zone file
apnic.net. 7200 IN

SOA

ns.apnic.net. admin.apnic.net. (

2013071001

; Serial

12h

; Refresh 12 hours

4h

; Retry 4 hours

4d

; Expire 4 days

2h

; Negative cache 2 hours )

apnic.net.

7200

IN

NS

ns.apnic.net.

apnic.net.

7200

IN

NS

ns.ripe.net.

whois.apnic.net.

3600

IN

A

193.0.1.162

www.apnic.net

3600

IN

A

192.0.3.25

Label!

TTL!

Class!

Type!

Rdata!
Places where DNS data lives
Changes do not propagate instantly
Might take up to ‘refresh’
to get data from master

Slave

Not going to net if TTL>0

Upload of zone
data is local
policy

Cache server

Master

Registry DB

Slave server
Delegating a Zone
•  Delegation is passing of authority for a subdomain to
another party
•  Delegation is done by adding NS records
–  Ex: if APNIC.NET wants to delegate TRAINING.APNIC.NET
training.apnic.net.

NS ns1.training.apnic.net.

training.apnic.net.

NS ns2.training.apnic.net.

•  Now how can we go to ns1 and ns2?
–  We must add a Glue Record
Glue Record
•  Glue is a ‘non-authoritative’ data
•  Don’t include glue for servers that are not in the sub zones
Only this record needs glue!

training.apnic.net.
training.apnic.net.

Glue
Record!

NS
NS

ns1.training.apnic.net.
ns2.training.apnic.net.

training.apnic.net.
training.apnic.net.

NS
NS

ns2.example.net.
ns1.example.net.

ns1.training.apnic.net. A
Ns2.training.apnic.net. A

10.0.0.1
10.0.0.2
Delegating training.apnic.net. from
apnic.net.

ns.apnic.net

ns.training.apnic.net

1.  Add NS records and glue
2.  Make sure there is no other data
from the training.apnic.net. zone in
the zone file

1.  Setup minimum two servers
2.  Create zone file with NS records
3.  Add all training.apnic.net data
What is ‘Reverse DNS’?
•  ‘Forward DNS’ maps names to numbers
–  svc00.apnic.net è202.12.28.131

•  ‘Reverse DNS’ maps numbers to names
–  202.12.28.131 è svc00.apnic.net

Person (Host)

Address (IPv4/IPv6)
Reverse DNS - why bother?
•  Service denial
–  only allow access when fully reverse delegated
–  Example: anonymous ftp

•  Diagnostics
–  Assisting in trace routes etc

•  SPAM identifications
–  Failed reverse lookup results in a spam penalty score

•  Registration responsibilities
–  APNIC members must make sure that all their address space are
properly reverse delegated
Principles – DNS Tree

Root

.

net

org

apnic

iana

whois www training

com

Mapping numbers to
names - ‘reverse DNS’
arpa
in-addr

www

202

203

204

210

64
22
ws1 ws2

22. 64. 202. in-addr.arpa.
Creating Reverse Zones
•  Same as creating a forward zone file
–  SOA and initial NS records are the same as normal zone

•  Main difference
–  need to create additional PTR records

•  Can use BIND or other DNS software to create and
manage reverse zones
–  Details can be different

•  In addition to the forward zone files, you need the reverse
zone files
–  Ex: for a reverse zone on a 203.176.189.0/24 block, create a zone
file and name it as “db.203.176.189” (make it descriptive)
Pointer (PTR) Records
•  Create pointer (PTR) records for each IP address

131.28.12.202.in-addr.arpa. IN PTR svc00.apnic.net.

or
131

IN

PTR

svc00.apnic.net.
Reverse Zone Example
$ORIGIN 1.168.192.in-addr.arpa.
@
3600 IN SOA test.company.org. (
sys.admin.company.org.
2002021301
; serial
1h
; refresh
30M
; retry
1W
; expiry
3600 )
; neg. answ. ttl
NS
NS

ns.company.org.
Note trailing dots"
ns2.company.org.

1

PTR

gw.company.org.
router.company.org.

2

PTR

ns.company.org.
Reverse Delegation Requirements
•  /24 Delegations
–  Address blocks should be assigned/allocated
–  At least two name servers

•  /16 Delegations
–  Same as /24 delegations
–  APNIC delegates entire zone to member

•  < /24 Delegations
–  Read “Classless IN-ADDR.ARPA delegation” (RFC 2317)
RFC
2317
APNIC & ISPs responsibilities
•  APNIC
–  Manage reverse delegations of address block distributed by APNIC
–  Process organisations requests for reverse delegations of network
allocations

•  Organisations
– 
– 
– 
– 

Be familiar with APNIC procedures
Ensure that addresses are reverse-mapped
Maintain nameservers for allocations
Minimise pollution of DNS
Reverse Delegation Procedures
•  Standard APNIC database object
–  can be updated through MyAPNIC

•  Nameserver/domain set up verified before being submitted
to the database.
•  Protection by maintainer object
–  (current auths: CRYPT-PW, PGP).

•  Any queries
–  Contact helpdesk@apnic.net
Reverse Delegation Procedures
Whois domain object
domain:
Descr:
admin-c:
tech-c:
zone-c:
nserver:
nserver:
nserver:
mnt-by:
mnt-lower:
changed:
changed:
changed:
changed:
source:

Reverse Zone

28.12.202.in-addr.arpa
in-addr.arpa zone for 28.12.202.in-addr.arpa
NO4-AP
Contacts
AIC1-AP
NO4-AP
cumin.apnic.net
Nameservers
tinnie.apnic.net
tinnie.arin.net
Maintainers
MAINT-APNIC-AP
MAINT-AP-DNS
inaddr@apnic.net 20021023
inaddr@apnic.net 20040109
hm-changed@apnic.net 20091007
hm-changed@apnic.net 20111208
APNIC
Reverse DNS Tree – with IPv6
Root

.

net

org

apnic

com

iana

RFC
3152

arpa
in-addr
202
64
22

203

✕
int

ip6
IPv6 addresses
IPv6 Representation in the DNS
•  Forward lookup support: Multiple RR records for name to
number
–  AAAA (Similar to A RR for IPv4 )

•  Reverse lookup support:
–  Reverse nibble format for zone ip6.arpa
IPv6 Reverse Lookups – PTR records
•  Similar to the IPv4 reverse record
b.a.9.8.7.6.5.0.4.0.0.0.3.0.0.0.2.0.0.0.1.0.0.0.0.0.0.0.1.2.3.4.ip6.arpa.

IN

PTR test.ip6.example.com.

•  Example: The reverse name lookup for a host with address
3ffe:8050:201:1860:42::1
$ORIGIN 0.6.8.1.1.0.2.0.0.5.0.8.e.f.f.3.ip6.arpa.
1.0.0.0.0.0.0.0.0.0.0.0.2.4.0.0
host.example.com.

14400

IN PTR
IPv6 forward and reverse mappings
•  Existing A record will not accommodate the 128 bit
addresses for IPv6
•  BIND expects an A record’s record-specific data to be a 32bit address (in dotted-octet format)
•  An address record
–  AAAA (RFC 1886)

•  A reverse-mapping domain
–  ip6.arpa
IPv6 forward lookups
•  Multiple addresses possible for any given name
–  Ex: in a multi-homed situation

•  Can assign A records and AAAA records to a given name/
domain
•  Can also assign separate domains for IPv6 and IPv4
Sample forward lookup file
;; domain.edu
$TTL
86400
@
IN
SOA
ns1.domain.edu. root.domain.edu. (
20121115
; serial - YYYYMMDDXX
21600
; refresh - 6 hours
1200
; retry - 20 minutes
3600000
; expire - long time
86400)
; minimum TTL - 24 hours
;; Nameservers
IN
NS
ns1.domain.edu.
IN
NS
ns2.domain.edu.
;; Hosts with just A records
host1
IN
A
1.0.0.1
;; Hosts with both A and AAAA records
host2
IN
A
1.0.0.2
IN
AAAA
2001:468:100::2
Sample reverse lookup file
;; 0.0.0.0.0.0.1.0.8.6.4.0.1.0.0.2.rev
;; These are reverses for 2001:468:100::/64)
;; File can be used for both ip6.arpa and ip6.int.
$TTL
86400
@
IN
SOA
ns1.domain.edu. root.domain.edu. (
2002093000
; serial - YYYYMMDDXX
21600
; refresh - 6 hours
1200
; retry - 20 minutes
3600000
; expire - long time
86400)
; minimum TTL - 24 hours
;; Nameservers
IN
NS
ns1.domain.edu.
IN
NS
ns2.domain.edu.
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0
IN
PTR
host1.ip6.domain.edu
2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0
IN
PTR
host2.domain.edu
;;
;; Can delegate to other nameservers in the usual way
;;
DNS Security
DNS Security - Background
•  The original DNS protocol wasn’t designed with security in
mind
–  It has very few built-in security mechanism

•  As the Internet grew, IETF realized this would be a problem
–  For example DNS spoofing was too easy
•  Some security problems:
– 
– 
– 
– 

Using reverse DNS to impersonate hosts
Software bugs (buffer overflows, bad pointer handling)
Bad crypto (predictable sequences, forgeable signatures)
Cache poisoning (putting inappropriate data into the cache)
Reference:
https://wiki.tools.isoc.org/DNSSEC_History_Project
DNS Cache Poisoning
3

1

www.example.com 192.168.1.99

I want to access
www.example.com

QID=64569
QID=64570
QID=64571 match!

(pretending to be
the authoritative
zone)

2

QID=64571
Client

Root/GTLD

DNS Caching
Server

QID=64571

3

www.example.com 192.168.1.1
Webserver
(192.168.1.1)

ns.example.com
DNS Amplification
•  A type of reflection attack combined with amplification
–  Source of attack is reflected off another machine
–  Traffic received is bigger (amplified) than the traffic sent by the
attacker

•  UDP packet’s source address is spoofed
DNS Amplification
Root/GTLD

Queries for
www.example.com
DNS Recursive server

ns.example.com
www.example.com 192.168.1.1

Compromised
Machines
(spoofed IP)

Victim Machine
Attacker
Open Resolvers
•  DNS servers that answer recursive queries from any host
on the Internet
•  http://openresolverproject.org/
•  Check if you’re running open resolvers
–  http://dns.measurement-factory.com/cgi-bin/openresolvercheck.pl

•  More statistics at
–  http://dns.measurement-factory.com/surveys/openresolvers/ASNreports/latest.html
Response Rate Limiting (RRL)
•  Protects against DNS amplification attack
•  Implemented in CZ-NIC Knot (v1.2-RC3), NLNetLabs NSD
(v3.2.15), and ISC BIND 9 (v9.9.4) release
rate-limit {
responses-per-second 5;
log-only yes;
};

•  If using older versions, a patch is available from
–  http://ss.vix.su/~vjs/rrlrpz.html
–  patch –p0 -l
DNS Changer
•  “Criminals have learned that if they can control a user’s
DNS servers, they can control what sites the user connects
to the Internet.”
•  How: infect computers with a malicious software (malware)
•  This malware changes the user’s DNS settings with that of
the attacker’s DNS servers
•  Points the DNS configuration to DNS resolvers in specific
address blocks and use it for their criminal enterprise
•  The data collection ran until July 2012
Rogue DNS Servers
•  85.225.112.0 through 85.255.127.255
•  67.210.0.0 through 67.210.15.255
•  93.188.160.0 through 93.188.167.255
•  77.67.83.0 through 77.67.83.255
•  213.109.64.0 through 213.109.79.255
•  64.28.176.0 through 64.28.191.255
•  If your computer is configured with one of these DNS
servers, it is most likely infected with DNSChanger malware
DNS Changer – Victim Count

Source: http://www.dcwg.org
DNS Changer (News)
Securing the Nameserver
•  Run the most recent version of the DNS software
–  Bind 9.9.4 or Unbound 1.4.16
–  Apply the latest patches

•  Hide version
•  Restrict queries
–  Allow-query { acl_match_list; };

•  Prevent unauthorized zone transfers
–  Allow-transfer { acl_match_list; };

•  Run BIND with the least privilege (use chroot)
•  Randomize source ports
–  don’t use query-source option

•  Secure the box
•  Use TSIG and DNSSEC
Sender Policy Framework (SPF)
•  Using DNS for email validation
•  Checks the sender IP address
•  Defined in RFC 4408 with updates in RFC 6652
apnic.net.
3600
IN
TXT
"v=spf1 mx
a:clove.apnic.net a:asmtp.apnic.net ip4:203.119.93.0/24
ip4:203.119.101.0/24 ip4:203.89.255.141/32
ip4:203.190.232.30/32 ip4:122.248.232.184/32
include:_spf.google.com -all"
DNS Protocol Vulnerability
•  DNS data can be spoofed and corrupted between master
server and resolver or forwarder
•  The DNS protocol does not allow you to check the validity
of DNS data
–  Exploited by bugs in resolver implementation (predictable
transaction ID)
–  Polluted caching forwarders can cause harm for quite some time
(TTL)
–  Corrupted DNS data might end up in caches and stay there for a
long time

•  How does a slave (secondary) know it is talking to the
proper master (primary)?
DNS: Data Flow
Zone administrator

Zone file

1"

4"

master

Caching forwarder

2"
3"

Dynamic
updates

slaves

5"

resolver
DNS Vulnerabilities
Corrupting data"
Zone administrator

Zone file

Impersonating master"
1"

Cache impersonation"

4"

master

Caching forwarder

2"
3"

Dynamic
updates

5"

slaves

Unauthorized updates"

Server protection!

Cache pollution by"
Data spoofing"

Data protection!

resolver
TSIG Protected Vulnerabilities
Impersonating master"
Zone administrator

Zone file

Dynamic
updates

master

slaves

Unauthorized updates"

Caching forwarder

resolver
What is TSIG - Transaction Signature?
•  A mechanism for protecting a message from a primary to
secondary and vice versa
•  A keyed-hash is applied (like a digital signature) so recipient
can verify the message
–  DNS question or answer
–  & the timestamp

•  Based on a shared secret - both sender and receiver are
configured with it
–  TSIG/TKEY uses DH, HMAC-MD5, HMAC-SHA1, HMAC-SHA224,
HMAC-SHA512 among others
What is TSIG - Transaction Signature?
•  TSIG (RFC 2845)
–  authorizing dynamic updates & zone transfers
–  authentication of caching forwarders

•  Used in server configuration, not in zone file
TSIG example
verification"
AXFR"
Sig ...!

AXFR"

Query: AXFR"

Sig ...!

Master"
KEY:

%sgs!f23fv!

Slave"
KEY:

%sgs!f23fv!
Response: Zone"
SOA "
…"
SOA"
Sig ...!

verification"

SOA "
…"
SOA"
Sig ...!
TSIG steps
1.  Generate secret
2.  Communicate secret
3.  Configure servers
4.  Test
TSIG - Names and Secrets
•  TSIG name
–  A name is given to the key, the name is what is transmitted in the
message (so receiver knows what key the sender used)

•  TSIG secret value
–  A value determined during key generation
–  Usually seen in Base64 encoding
TSIG – Generating a Secret
•  dnssec-keygen
–  Simple tool to generate keys
–  Used here to generate TSIG keys
> dnssec-keygen -a <algorithm> -b <bits> -n host
<name of the key>!
TSIG – Generating a Secret
•  Example!
> dnssec-keygen –a HMAC-MD5 –b 128 –n HOST ns1ns2.pcx.net
This will generate the key
> Kns1-ns2.pcx.net.+157+15921
>ls
Kns1-ns2.pcx.net.+157+15921.key
Kns1-ns2.pcx.net.+157+15921.private
TSIG – Generating a Secret
•  TSIG should never be put in zone files
–  might be confusing because it looks like RR:

ns1-ns2.pcx.net. IN KEY 128 3 157 nEfRX9…bbPn7lyQtE=!
TSIG – Configuring Servers
•  Configuring the key
–  in named.conf file, same syntax as for rndc
–  key { algorithm ...; secret ...;}

•  Making use of the key
–  in named.conf file
–  server x { key ...; }!
–  where 'x' is an IP number of the other server
Configuration Example – named.conf
Primary server 10.33.40.46!

Secondary server 10.33.50.35	


!
!
key ns1-ns2.pcx. net {!
key ns1-ns2.pcx.net {!
!algorithm hmac-md5;!
!algorithm hmac-md5;!
!secret "APlaceToBe";!
!secret "APlaceToBe";!
};!
};!
server 10.33.50.35 {!
server 10.33.40.46 {!
!keys {ns1-ns2.pcx.net;};! keys {ns1-ns2.pcx.net;};!
};!
};!
zone "my.zone.test." {!
zone "my.zone.test." {!
!type master;!
!type slave;!
!file “db.myzone”;!
!file “myzone.backup”;!
!allow-transfer {!
!masters {10.33.40.46;};!
!key ns1-ns2.pcx.net ;};! };!
};!

You can save this in a file and refer to it in the named.conf
using ‘include’ statement:

include “/var/named/master/tsig-key-ns1-ns2”;
TSIG Testing : dig
•  You can use dig to check TSIG configuration
–  dig

@<server> <zone> AXFR -k <TSIG keyfile>!

$ dig @127.0.0.1 example.net AXFR !
-k Kns1-ns2.pcx.net.+157+15921.key!
•  Wrong key will give “Transfer failed” and on the server the
security-category will log this.
TSIG Testing - TIME!
•  TSIG is time sensitive - to stop replays
– 
– 
– 
– 

Message protection expires in 5 minutes
Make sure time is synchronized
For testing, set the time
In operations, (secure) NTP is needed
TSIG steps
1.  Generate secret
– 

dnssec-keygen -a <algorithm> -b <bits> -n host
<name of the key>

2.  Communicate secret
– 

scp <keyfile> <user>@<remote-server>:<path>

3.  Configure servers
– 
– 

key { algorithm ...; secret ...;}
server x { key ...; }

4.  Test
– 

dig

@<server> <zone> AXFR -k <TSIG keyfile>!
DNSSEC
Vulnerabilities protected by
DNSKEY / RRSIG / NSEC
Cache impersonation"

Zone administrator

Zone file

Dynamic
updates

master

Caching forwarder

slaves

resolver

Cache pollution by"
Data spoofing"
DNS Security Extensions (DNSSEC)
•  Protects the integrity of data in the DNS by establishing a
chain of trust
•  Uses public key cryptography – each link in the chain has a
public/private key pair
•  A form of digitally signing the data to attest its validity
•  Standard is defined in RFC4033, RFC4034, and RFC4035
•  Guarantees
–  Authenticity
–  Integrity
–  Non-existence of a domain

RFC
4033
RFC
4034
RFC
4035
DNSSEC History
•  1990: Steven Bellovin discovers a major flaw in the DNS
•  1995: Bellovin publishes his research; DNSSEC (as it became
later known) becomes a topic within IETF
•  1997: RFC 2065 (adding security extensions) was published
•  1998: Dan Kaminsky discovers some security flaw
•  1999: RFC 2535, the DNSSEC protocol, is published; BIND 9
developed to be DNSSEC-capable
•  2001: key handling in RFC2535 is causing operational problems
•  2005: Three new RFCs published to update RFC2535
–  RFC 4033 (DNS Security Introduction and Requirements)
–  RFC 4034 (Resource Records for DNS Security Extensions)
–  RFC 4035 (Protocol Modifications)

https://wiki.tools.isoc.org/DNSSEC_History_Project
DNSSEC History
•  2005: In October, Sweden (.SE) becomes the first ccTLD to
deploy DNSSEC
•  2008: new DNSSEC record created to address privacy
concerns (RFC 5155)
•  2010
–  In July 15, the root zone was signed
–  In July 29, .edu was signed
–  In December 9, .net was signed

•  2011: In March 31, .com was signed

https://wiki.tools.isoc.org/DNSSEC_History_Project
DNSSEC Resource Records

RFC
4034

•  3 Public key crypto related RRs
–  RRSIG = Signature over RRset made using private key
–  DNSKEY = Public key, needed for verifying a RRSIG
–  DS = Delegation Signer; ‘Pointer’ for building chains of authentication

•  One RR for internal consistency
–  NSEC = Next Secure; indicates which name is the next one in the
zone and which type codes are available for the current name
•  authenticated non-existence of data
DNSSEC Resource Records
•  DNSKEY, RRSIG, and NSEC records provide mechanisms
to establish authenticity and integrity of data
•  DS record provides a mechanism to delegate trust to public
keys of third parties
DNSSEC RRs
•  Data authenticity and integrity by signing the Resource
Records Sets with private key
•  Public DNSKEY is used to verify the RRSIG
•  Children sign their zones with their private key
–  Authenticity of that key established by signature/checksum by the
parent (DS)

•  Ideal case: one public DNSKEY distributed
RR’s and RRsets
•  Resource Record:
Name
TTL
www.example.net. 7200

class type
IN
A

rdata
192.168.1.1

•  RRset: RRs with same name, class and type:
www.example.net. 7200

IN

A
A
A

192.168.1.1
10.0.0.3
172.10.1.1

•  RRsets are signed, not the individual RRs
RRSIG
•  The private part of the key-pair is used to sign the resource record set (RRset)
per zone
•  The digital signature per RRset is saved in an RRSIG record
irrashai.net.

86400

NS

86400

NS

86400

RRSIG

Signature expiry
Date signed

RR
NS.JAZZI.COM. type signed
Digital signature algorithm
NS.IRRASHAI.NET.
Number of labels in the
NS 5 2 86400 ( signed name
20121202010528 20121102010528 3510
irrashai.net.
Y2J2NQ+CVqQRjQvcWY256ffiw5mp0OQTQUF8
vUHSHyUbbhmE56eJimqDhXb8qwl/Fjl40/km
lzmQC5CmgugB/qjgLHZbuvSfd9W+UCwkxbwx
3HonAPr3C+0HVqP8rSqGRqSq0VbR7LzNeayl
BkumLDoriQxceV4z3d2jFv4ArnM= )
DNSKEY
•  Contains the zone’s public key
•  Uses public key cryptography to sign and authenticate DNS
resource record sets (RRsets).
•  Example:

16-bit field flag
Protocol octet
DNSKEY algorithm number

irrashai.net. IN DNSKEY 256 3 5
( AwEAAagrVFd9xyFMQRjO4DlkL0dgUCtogviS+FG9Z6Au3h1ERe4EIi3L
X49Ce1OFahdR2wPZyVeDvH6X4qlLnMQJsd7oFi4S9Ng+hLkgpm/n+otE
kKiXGZzZn4vW0okuC0hHG2XU5zJhkct73FZzbmBvGxpF4svo5PPWZqVb
H48T5Y/9 ) ; key id = 3510
Public key (base64)
DNSKEY
•  Also contains some timing metadata – as a comment in the
key file
; This is a key-signing key, keyid 19996, for myzone.net.
; Created: 20121102020008 (Fri Nov

2 12:00:08 2012)

; Publish: 20121102020008 (Fri Nov

2 12:00:08 2012)

; Activate: 20121102020008 (Fri Nov

2 12:00:08 2012)
NSEC / NSEC3
•  Next Secure
•  Forms a chain of authoritative owner names in the zone
•  Lists two separate things:
–  Next owner name (canonical ordering)
–  Set of RR types present at the NSEC RR’s owner name

•  Also proves the non-existence of a domain
irrashai.net.

NSEC
blog.irrashai.net. A NS SOA MX
RRSIG NSEC DNSKEY
NSEC / NSEC3
•  “The last NSEC wraps around from the last name in the
ordered zone to the first”
•  Each NSEC record also has a corresponding RRSIG
NSEC RDATA
•  Points to the next domain name in the zone
–  also lists what are all the existing RRs for “name”
–  NSEC record for last name “wraps around” to first name
in zone

•  Used for authenticated denial-of-existence of data
–  authenticated non-existence of TYPEs and labels
NSEC Record example
$ORIGIN example.net.!
@!SOA

…!

!

!NS

!NS.example.net.!

!

!DNSKEY
!…!

!

!NSEC

mailbox.example.net.

SOA NS NSEC DNSKEY

!RRSIG!

!
mailbox

!A

!192.168.10.2
!!

!

!NSEC

WWW !

!A

!192.168.10.3
!!

!

!

!

!TXT

!

!

!

!NSEC

!

!

www.example.net.

A NSEC RRSIG!

!Public webserver!
example.net. A NSEC RRSIG TXT!
Delegation Signer (DS)
•  Establishes the chain of trust from parent to child zones
•  Found in the parent’s zone file
•  In this example, irrashai.net has been delegated from .net. This is
how it looks like in the .net zone file
Key ID
DNSKEY algorithm (RSASHA1)

irrashai.net.

IN NS
NS
IN DS
IN DS

Digest type: 1 = SHA1
ns1.irrashai.net.
2 = SHA256
ns2.irrashai.net.
19996 5 1 (
CF96B018A496CD1A68EE7
C80A37EDFC6ABBF8175 )
19996 5 2 (
6927A531B0D89A7A4F13E11031
4C722EC156FF926D2052C7D8D70C50
14598CE9 )
Delegation Signer (DS)
•  Delegation Signer (DS) RR indicates that:
–  delegated zone is digitally signed
–  indicated key is used for the delegated zone

•  Parent is authoritative for the DS of the child’s
zone
–  Not for the NS record delegating the child’s zone!
–  DS should not be in the child’s zone
Types of Keys
•  Zone Signing Key (ZSK)
–  Sign the RRsets within the zone
–  Public key of ZSK is defined by a DNSKEY RR

•  Key Signing Key (KSK)
–  Signed the keys which includes ZSK and KSK and may also be used
outside the zone

•  Trusted anchor in a security aware server
•  Part of the chain of trust by a parent name server
•  Using a single key or both keys is an operational choice
(RFC allows both methods)
Creation of keys
•  Zones are digitally signed using the private key
•  Can use RSA-SHA-1, DSA-SHA-1 and RSA-MD5 digital
signatures
•  The public key corresponding to the private key used to
sign the zone is published using a DNSKEY RR
Chain of Trust
•  DNSSEC is based on trust
•  Root is on top of the chain of trust.
–  Root servers were signed on July 15, 2010.
Thank you!
End of Session

More Related Content

What's hot (20)

Dns(Domain name system)
Dns(Domain name system)Dns(Domain name system)
Dns(Domain name system)
 
DNS Presentation
DNS PresentationDNS Presentation
DNS Presentation
 
Domain name system
Domain name systemDomain name system
Domain name system
 
DNS - Domain Name System
DNS - Domain Name SystemDNS - Domain Name System
DNS - Domain Name System
 
Domain name system
Domain name systemDomain name system
Domain name system
 
Domain name server
Domain name serverDomain name server
Domain name server
 
Dns
DnsDns
Dns
 
Domain name system (dns)
Domain name system (dns)Domain name system (dns)
Domain name system (dns)
 
Dns name resolution process
Dns name resolution processDns name resolution process
Dns name resolution process
 
Presentation on Domain Name System
Presentation on Domain Name SystemPresentation on Domain Name System
Presentation on Domain Name System
 
Dns server
Dns server Dns server
Dns server
 
Domain Name System
Domain Name SystemDomain Name System
Domain Name System
 
DNS (Domain Name System)
DNS (Domain Name System)DNS (Domain Name System)
DNS (Domain Name System)
 
DNS Attacks
DNS AttacksDNS Attacks
DNS Attacks
 
Domain name system
Domain name systemDomain name system
Domain name system
 
Dns server
Dns serverDns server
Dns server
 
Dns tunnelling its all in the name
Dns tunnelling its all in the nameDns tunnelling its all in the name
Dns tunnelling its all in the name
 
Dns presentation
Dns presentationDns presentation
Dns presentation
 
Dns 2
Dns 2Dns 2
Dns 2
 
Chapter 29 Domain Name System.ppt
Chapter 29 Domain Name System.pptChapter 29 Domain Name System.ppt
Chapter 29 Domain Name System.ppt
 

Viewers also liked

Quantitative identification of glucose using DNSA with spectroscopy.
Quantitative identification of glucose using DNSA with spectroscopy.Quantitative identification of glucose using DNSA with spectroscopy.
Quantitative identification of glucose using DNSA with spectroscopy.Furqan Alee
 
DNSSEC Tutorial; USENIX LISA 2013
DNSSEC Tutorial; USENIX LISA 2013DNSSEC Tutorial; USENIX LISA 2013
DNSSEC Tutorial; USENIX LISA 2013Shumon Huque
 
Anatomy & physiology of cornea
Anatomy & physiology of corneaAnatomy & physiology of cornea
Anatomy & physiology of corneaMd. Nurul Islam
 

Viewers also liked (9)

Dnssec
DnssecDnssec
Dnssec
 
Quantitative identification of glucose using DNSA with spectroscopy.
Quantitative identification of glucose using DNSA with spectroscopy.Quantitative identification of glucose using DNSA with spectroscopy.
Quantitative identification of glucose using DNSA with spectroscopy.
 
DNS Cache White Paper
DNS Cache White PaperDNS Cache White Paper
DNS Cache White Paper
 
Grey H@t - DNS Cache Poisoning
Grey H@t - DNS Cache PoisoningGrey H@t - DNS Cache Poisoning
Grey H@t - DNS Cache Poisoning
 
DNS Cache Poisoning
DNS Cache PoisoningDNS Cache Poisoning
DNS Cache Poisoning
 
DNSSEC Tutorial; USENIX LISA 2013
DNSSEC Tutorial; USENIX LISA 2013DNSSEC Tutorial; USENIX LISA 2013
DNSSEC Tutorial; USENIX LISA 2013
 
Final White Paper_
Final White Paper_Final White Paper_
Final White Paper_
 
Anatomy & physiology of cornea
Anatomy & physiology of corneaAnatomy & physiology of cornea
Anatomy & physiology of cornea
 
Dns ppt
Dns pptDns ppt
Dns ppt
 

Similar to DNS/DNSSEC by Nurul Islam

Domain Name System (DNS) Fundamentals
Domain Name System (DNS) FundamentalsDomain Name System (DNS) Fundamentals
Domain Name System (DNS) FundamentalsWebSniffer
 
Chapter 4 configuring and managing the dns server role
Chapter 4   configuring and managing the dns server roleChapter 4   configuring and managing the dns server role
Chapter 4 configuring and managing the dns server roleLuis Garay
 
DNS for Developers - NDC Oslo 2016
DNS for Developers - NDC Oslo 2016DNS for Developers - NDC Oslo 2016
DNS for Developers - NDC Oslo 2016Maarten Balliauw
 
Chapter4 configuringandmanagingthednsserverrole-140520003253-phpapp01
Chapter4 configuringandmanagingthednsserverrole-140520003253-phpapp01Chapter4 configuringandmanagingthednsserverrole-140520003253-phpapp01
Chapter4 configuringandmanagingthednsserverrole-140520003253-phpapp01velimamedov
 
DNS for Developers - ConFoo Montreal
DNS for Developers - ConFoo MontrealDNS for Developers - ConFoo Montreal
DNS for Developers - ConFoo MontrealMaarten Balliauw
 
Content Navigation
Content NavigationContent Navigation
Content Navigationsanjoysanyal
 
CNIT 40: 2: DNS Protocol and Architecture
CNIT 40: 2: DNS Protocol and ArchitectureCNIT 40: 2: DNS Protocol and Architecture
CNIT 40: 2: DNS Protocol and ArchitectureSam Bowne
 
Dnscluster @ DevOps Krakow 2013
Dnscluster @ DevOps Krakow 2013Dnscluster @ DevOps Krakow 2013
Dnscluster @ DevOps Krakow 2013Slawomir Skowron
 

Similar to DNS/DNSSEC by Nurul Islam (20)

Domain Name System (DNS) Fundamentals
Domain Name System (DNS) FundamentalsDomain Name System (DNS) Fundamentals
Domain Name System (DNS) Fundamentals
 
2_Chapter 2_DNS.pptx
2_Chapter 2_DNS.pptx2_Chapter 2_DNS.pptx
2_Chapter 2_DNS.pptx
 
Chapter 4 configuring and managing the dns server role
Chapter 4   configuring and managing the dns server roleChapter 4   configuring and managing the dns server role
Chapter 4 configuring and managing the dns server role
 
Dns
DnsDns
Dns
 
DNS for Developers - NDC Oslo 2016
DNS for Developers - NDC Oslo 2016DNS for Developers - NDC Oslo 2016
DNS for Developers - NDC Oslo 2016
 
Chapter4 configuringandmanagingthednsserverrole-140520003253-phpapp01
Chapter4 configuringandmanagingthednsserverrole-140520003253-phpapp01Chapter4 configuringandmanagingthednsserverrole-140520003253-phpapp01
Chapter4 configuringandmanagingthednsserverrole-140520003253-phpapp01
 
08Mapping.ppt
08Mapping.ppt08Mapping.ppt
08Mapping.ppt
 
Meeting 4 DNS
Meeting 4   DNSMeeting 4   DNS
Meeting 4 DNS
 
Lets talk dns
Lets talk dnsLets talk dns
Lets talk dns
 
Introduction
IntroductionIntroduction
Introduction
 
2 technical-dns-workshop-day1
2 technical-dns-workshop-day12 technical-dns-workshop-day1
2 technical-dns-workshop-day1
 
DNS for Developers - ConFoo Montreal
DNS for Developers - ConFoo MontrealDNS for Developers - ConFoo Montreal
DNS for Developers - ConFoo Montreal
 
Cse -306
Cse -306Cse -306
Cse -306
 
1 technical-dns-workshop-day1
1 technical-dns-workshop-day11 technical-dns-workshop-day1
1 technical-dns-workshop-day1
 
13 dns
13 dns13 dns
13 dns
 
dns-approximately.pdf
dns-approximately.pdfdns-approximately.pdf
dns-approximately.pdf
 
DNSSEC - WHAT IS IT ? INSTALL AND CONFIGURE IN CHROOT JAIL
DNSSEC - WHAT IS IT ? INSTALL AND CONFIGURE IN CHROOT JAILDNSSEC - WHAT IS IT ? INSTALL AND CONFIGURE IN CHROOT JAIL
DNSSEC - WHAT IS IT ? INSTALL AND CONFIGURE IN CHROOT JAIL
 
Content Navigation
Content NavigationContent Navigation
Content Navigation
 
CNIT 40: 2: DNS Protocol and Architecture
CNIT 40: 2: DNS Protocol and ArchitectureCNIT 40: 2: DNS Protocol and Architecture
CNIT 40: 2: DNS Protocol and Architecture
 
Dnscluster @ DevOps Krakow 2013
Dnscluster @ DevOps Krakow 2013Dnscluster @ DevOps Krakow 2013
Dnscluster @ DevOps Krakow 2013
 

More from MyNOG

Peering Personal MyNOG-10
Peering Personal MyNOG-10Peering Personal MyNOG-10
Peering Personal MyNOG-10MyNOG
 
Embedded CDNs in 2023
Embedded CDNs in 2023Embedded CDNs in 2023
Embedded CDNs in 2023MyNOG
 
Edge virtualisation for Carrier Networks
Edge virtualisation for Carrier NetworksEdge virtualisation for Carrier Networks
Edge virtualisation for Carrier NetworksMyNOG
 
Equinix: New Markets, New Frontiers
Equinix: New Markets, New FrontiersEquinix: New Markets, New Frontiers
Equinix: New Markets, New FrontiersMyNOG
 
Securing the Onion: 5G Cloud Native Infrastructure
Securing the Onion: 5G Cloud Native InfrastructureSecuring the Onion: 5G Cloud Native Infrastructure
Securing the Onion: 5G Cloud Native InfrastructureMyNOG
 
Hierarchical Network Controller
Hierarchical Network ControllerHierarchical Network Controller
Hierarchical Network ControllerMyNOG
 
Aether: The First Open Source 5G/LTE Connected Edge Cloud Platform
Aether: The First Open Source 5G/LTE Connected Edge Cloud PlatformAether: The First Open Source 5G/LTE Connected Edge Cloud Platform
Aether: The First Open Source 5G/LTE Connected Edge Cloud PlatformMyNOG
 
Cleaning up your RPKI invalids
Cleaning up your RPKI invalidsCleaning up your RPKI invalids
Cleaning up your RPKI invalidsMyNOG
 
Introducing Peering LAN 2.0 at DE-CIX
Introducing Peering LAN 2.0 at DE-CIXIntroducing Peering LAN 2.0 at DE-CIX
Introducing Peering LAN 2.0 at DE-CIXMyNOG
 
Load balancing and Service in Kubernetes
Load balancing and Service in KubernetesLoad balancing and Service in Kubernetes
Load balancing and Service in KubernetesMyNOG
 
Cloud SDN: BGP Peering and RPKI
Cloud SDN: BGP Peering and RPKICloud SDN: BGP Peering and RPKI
Cloud SDN: BGP Peering and RPKIMyNOG
 
SDM – A New (Subsea) Cable Paradigm
SDM – A New (Subsea) Cable ParadigmSDM – A New (Subsea) Cable Paradigm
SDM – A New (Subsea) Cable ParadigmMyNOG
 
AI in Networking: Transforming Network Operations with Juniper Mist AIDE
AI in Networking: Transforming Network Operations with Juniper Mist AIDEAI in Networking: Transforming Network Operations with Juniper Mist AIDE
AI in Networking: Transforming Network Operations with Juniper Mist AIDEMyNOG
 
Malaysia Data Center Landscape, Where is the next hotspot to place your fiber...
Malaysia Data Center Landscape, Where is the next hotspot to place your fiber...Malaysia Data Center Landscape, Where is the next hotspot to place your fiber...
Malaysia Data Center Landscape, Where is the next hotspot to place your fiber...MyNOG
 
FUTURE-PROOFING DATA CENTRES from Connectivity Perspective
FUTURE-PROOFING DATA CENTRES from Connectivity PerspectiveFUTURE-PROOFING DATA CENTRES from Connectivity Perspective
FUTURE-PROOFING DATA CENTRES from Connectivity PerspectiveMyNOG
 
Keep Ukraine Connected: A project from the community – for the community by R...
Keep Ukraine Connected: A project from the community – for the community by R...Keep Ukraine Connected: A project from the community – for the community by R...
Keep Ukraine Connected: A project from the community – for the community by R...MyNOG
 
Solving Civilization’s Long Term Communication Needs by Dinesh Kummaran, Tran...
Solving Civilization’s Long Term Communication Needs by Dinesh Kummaran, Tran...Solving Civilization’s Long Term Communication Needs by Dinesh Kummaran, Tran...
Solving Civilization’s Long Term Communication Needs by Dinesh Kummaran, Tran...MyNOG
 
MyIX Updates by Raja Mohan Marappan, MyIX
MyIX Updates by Raja Mohan Marappan, MyIXMyIX Updates by Raja Mohan Marappan, MyIX
MyIX Updates by Raja Mohan Marappan, MyIXMyNOG
 
Exploring Quantum Engineering for Networking by Melchior Aelmans, Juniper Net...
Exploring Quantum Engineering for Networking by Melchior Aelmans, Juniper Net...Exploring Quantum Engineering for Networking by Melchior Aelmans, Juniper Net...
Exploring Quantum Engineering for Networking by Melchior Aelmans, Juniper Net...MyNOG
 
Quick wins in the NetOps Journey by Vincent Boon, Opengear
Quick wins in the NetOps Journey by Vincent Boon, OpengearQuick wins in the NetOps Journey by Vincent Boon, Opengear
Quick wins in the NetOps Journey by Vincent Boon, OpengearMyNOG
 

More from MyNOG (20)

Peering Personal MyNOG-10
Peering Personal MyNOG-10Peering Personal MyNOG-10
Peering Personal MyNOG-10
 
Embedded CDNs in 2023
Embedded CDNs in 2023Embedded CDNs in 2023
Embedded CDNs in 2023
 
Edge virtualisation for Carrier Networks
Edge virtualisation for Carrier NetworksEdge virtualisation for Carrier Networks
Edge virtualisation for Carrier Networks
 
Equinix: New Markets, New Frontiers
Equinix: New Markets, New FrontiersEquinix: New Markets, New Frontiers
Equinix: New Markets, New Frontiers
 
Securing the Onion: 5G Cloud Native Infrastructure
Securing the Onion: 5G Cloud Native InfrastructureSecuring the Onion: 5G Cloud Native Infrastructure
Securing the Onion: 5G Cloud Native Infrastructure
 
Hierarchical Network Controller
Hierarchical Network ControllerHierarchical Network Controller
Hierarchical Network Controller
 
Aether: The First Open Source 5G/LTE Connected Edge Cloud Platform
Aether: The First Open Source 5G/LTE Connected Edge Cloud PlatformAether: The First Open Source 5G/LTE Connected Edge Cloud Platform
Aether: The First Open Source 5G/LTE Connected Edge Cloud Platform
 
Cleaning up your RPKI invalids
Cleaning up your RPKI invalidsCleaning up your RPKI invalids
Cleaning up your RPKI invalids
 
Introducing Peering LAN 2.0 at DE-CIX
Introducing Peering LAN 2.0 at DE-CIXIntroducing Peering LAN 2.0 at DE-CIX
Introducing Peering LAN 2.0 at DE-CIX
 
Load balancing and Service in Kubernetes
Load balancing and Service in KubernetesLoad balancing and Service in Kubernetes
Load balancing and Service in Kubernetes
 
Cloud SDN: BGP Peering and RPKI
Cloud SDN: BGP Peering and RPKICloud SDN: BGP Peering and RPKI
Cloud SDN: BGP Peering and RPKI
 
SDM – A New (Subsea) Cable Paradigm
SDM – A New (Subsea) Cable ParadigmSDM – A New (Subsea) Cable Paradigm
SDM – A New (Subsea) Cable Paradigm
 
AI in Networking: Transforming Network Operations with Juniper Mist AIDE
AI in Networking: Transforming Network Operations with Juniper Mist AIDEAI in Networking: Transforming Network Operations with Juniper Mist AIDE
AI in Networking: Transforming Network Operations with Juniper Mist AIDE
 
Malaysia Data Center Landscape, Where is the next hotspot to place your fiber...
Malaysia Data Center Landscape, Where is the next hotspot to place your fiber...Malaysia Data Center Landscape, Where is the next hotspot to place your fiber...
Malaysia Data Center Landscape, Where is the next hotspot to place your fiber...
 
FUTURE-PROOFING DATA CENTRES from Connectivity Perspective
FUTURE-PROOFING DATA CENTRES from Connectivity PerspectiveFUTURE-PROOFING DATA CENTRES from Connectivity Perspective
FUTURE-PROOFING DATA CENTRES from Connectivity Perspective
 
Keep Ukraine Connected: A project from the community – for the community by R...
Keep Ukraine Connected: A project from the community – for the community by R...Keep Ukraine Connected: A project from the community – for the community by R...
Keep Ukraine Connected: A project from the community – for the community by R...
 
Solving Civilization’s Long Term Communication Needs by Dinesh Kummaran, Tran...
Solving Civilization’s Long Term Communication Needs by Dinesh Kummaran, Tran...Solving Civilization’s Long Term Communication Needs by Dinesh Kummaran, Tran...
Solving Civilization’s Long Term Communication Needs by Dinesh Kummaran, Tran...
 
MyIX Updates by Raja Mohan Marappan, MyIX
MyIX Updates by Raja Mohan Marappan, MyIXMyIX Updates by Raja Mohan Marappan, MyIX
MyIX Updates by Raja Mohan Marappan, MyIX
 
Exploring Quantum Engineering for Networking by Melchior Aelmans, Juniper Net...
Exploring Quantum Engineering for Networking by Melchior Aelmans, Juniper Net...Exploring Quantum Engineering for Networking by Melchior Aelmans, Juniper Net...
Exploring Quantum Engineering for Networking by Melchior Aelmans, Juniper Net...
 
Quick wins in the NetOps Journey by Vincent Boon, Opengear
Quick wins in the NetOps Journey by Vincent Boon, OpengearQuick wins in the NetOps Journey by Vincent Boon, Opengear
Quick wins in the NetOps Journey by Vincent Boon, Opengear
 

Recently uploaded

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 

Recently uploaded (20)

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 

DNS/DNSSEC by Nurul Islam

  • 1. DNS/DNSSEC Tutorial MyNOG3 and APNIC Regional Meeting 29 November 2013, Kuala Lumpur, Malaysia.
  • 2. Presenter Nurul Islam Roman Senior Training Specialist, APNIC Nurul maintains the APNIC training lab and is involved in delivering technical training for the APNIC community. He possesses specialized skills in designing and running IPv4/IPv6 routing and switching infrastructure for service provider and enterprise networks. Prior to his current role he looked after the IP and AS number allocations for the APNIC Members. Areas of interests: Internet Resource Management, IPv6, Routing and Switching, MPLS, BGP, Security, DNS, DNSSec, Internet Routing Registry and RPKI, ISP Services and Internetworking. Contact: Email: nurul@apnic.net
  • 3. Overview •  DNS Overview •  Forward and Reverse DNS •  DNS Security Overview •  Transaction Signature (TSIG) •  DNS Security Extensions (DNSSEC)
  • 5. Domain Name System •  A lookup mechanism for translating objects into other objects –  Mapping names to numbers and vice versa •  A globally distributed, loosely coherent, scalable, reliable, dynamic database •  Comprised of three components –  A “name space” –  Servers making that name space available –  Resolvers (clients) which query the servers about the name space •  A critical piece of the Internet infrastructure
  • 6. IP Addresses vs Domain Names The Internet DNS 202.12.29.194 www.apnic.net 2001:dc0:2001:11::194 2001:0C00:8888:: My Computer 2001:dc0:2001:11::194 www.apnic.net
  • 7. Old Solution: hosts.txt •  A centrally-maintained file, distributed to all hosts on the Internet •  Issues with having just one file –  –  –  –  –  –  Becomes huge after some time Needs frequent copying to ALL hosts Consistency Always out-of-date Name uniqueness Single point of administration // hosts.txt SERVER1 WEBMAIL FTPHOST 128.4.13.9 4.98.133.7 200.10.194.33 This feature still exists: [Unix] /etc/hosts [Windows] c:windowshosts
  • 8. DNS Features •  Global distribution –  Shares the load and administration •  Loose Coherency –  Geographically distributed, but still coherent •  Scalability –  can add DNS servers without affecting the entire DNS •  Reliability •  Dynamicity –  Modify and update data dynamically
  • 9. DNS Features •  DNS is a client-server application •  Requests and responses are normally sent in UDP packets, port 53 •  Occasionally uses TCP, port 53 –  for very large requests, e.g. zone transfer from master to slave
  • 10. Querying the DNS – It’s all about IP! Root . .tv .gov .in .jp x.y.z.a .org .net .com www.example.edu.au? “Ask e.f.g.h” “Ask a.b.c.d” www.example.edu.au? .au a.b.c.d “Ask i.j.k.l” www.example.edu.au? .edu.au e.f.g.h “Go to m.n.o.p” www.example.edu.au? “go to www.example.edu.au? m.n.o.p” example.edu.au local dns i.j.k.l p.q.r.s www.example.edu.au w.x.y.z. m.n.o.p
  • 11. The DNS Tree Hierarchy Root . net org com apnic iana arpa au www … net edu com edu abc whois www wasabi bd gu www www bnu www FQDN = Fully Qualified Domain Name ws1 ws2
  • 12. Domains •  Domains are “namespaces” •  Everything below .com is in the com domain •  Everything below apnic.net is in the apnic.net domain and in the net domain
  • 13. Root Servers •  The top of the DNS hierarchy •  There are 13 root name servers operated around the world, with names from [a-m].root-servers.net •  There are more than 13 physical root name servers –  Each rootserver has an instance deployed via anycast •  Root hints file come in many names (db.cache, named.root, named.cache, named.ca) –  Get it from ftp.rs.internic.net •  See root-servers.org for more detail
  • 15. Resolver •  Or “stub” resolver •  A piece of software (usually in the operating system) which formats the DNS request into UDP packets •  A stub resolver is a minimal resolver that forwards all requests to a local recursive nameserver –  How to find a local nameserver? The IP address should be explicitly configured in the resolver. •  Every host needs a resolver –  In Linux, it uses /etc/resolv.conf •  Note that it is always a good idea to configure more than one nameserver
  • 16. Recursive Nameserver •  The job of the recursive nameserver is to locate the authoritative nameserver and get back the answer •  This process is iterative – starts at the root •  Recursive servers are also usually caching servers •  Prefer a nearby cache –  Minimizes latency issues –  Also reduces traffic on your external links •  Must have permission to use it –  Your ISP’s nameserver or your own Recursive/Caching Nameserver
  • 17. Authoritative Nameserver •  A nameserver that is authorised to provide an answer for a particular domain. –  Can be more than one auth nameserver •  Two types based on management method: –  Primary (Master) and Secondary (Slave) •  Only one primary nameserver –  All changes to the zone are done in the primary •  Secondary nameserver/s will retrieve a copy of the zonefile from the primary server Secondary –  Slaves poll the master periodically •  Primary server can “notify” the slaves Primary Secondary
  • 18. Resource Records •  Entries in the DNS zone file •  Components: Resource Record Function Label Name substitution for FQDN TTL Timing parameter, an expiration limit Class IN for Internet, CH for Chaos Type RR Type (A, AAAA, MX, PTR) for different purposes RDATA Anything after the Type identifier; Additional data
  • 19. Common Resource Record Types RR Type Name Functions A Address record Maps domain name to IP address www.apnic.net. IN A 203.176.189.99 AAAA IPv6 address record Maps domain name to an IPv6 address www.apnic.net. IN AAAA 2001:db8::1 NS Name server record Used for delegating zone to a nameserver apnic.net. IN NS ns1.apnic.net. PTR Pointer record Maps an IP address to a domain name 99.189.176.203.in-addr.arpa. IN PTR www.apnic.net. CNAME Canonical name Maps an alias to a hostname web IN CNAME www.apnic.net. MX Mail Exchanger Defines where to deliver mail for user @ domain apnic.net. IN MX 10 mail01.apnic.net. IN MX 20 mail02.apnic.net.
  • 20. Example: RRs in a zone file apnic.net. 7200 IN SOA ns.apnic.net. admin.apnic.net. ( 2013071001 ; Serial 12h ; Refresh 12 hours 4h ; Retry 4 hours 4d ; Expire 4 days 2h ; Negative cache 2 hours ) apnic.net. 7200 IN NS ns.apnic.net. apnic.net. 7200 IN NS ns.ripe.net. whois.apnic.net. 3600 IN A 193.0.1.162 www.apnic.net 3600 IN A 192.0.3.25 Label! TTL! Class! Type! Rdata!
  • 21. Places where DNS data lives Changes do not propagate instantly Might take up to ‘refresh’ to get data from master Slave Not going to net if TTL>0 Upload of zone data is local policy Cache server Master Registry DB Slave server
  • 22. Delegating a Zone •  Delegation is passing of authority for a subdomain to another party •  Delegation is done by adding NS records –  Ex: if APNIC.NET wants to delegate TRAINING.APNIC.NET training.apnic.net. NS ns1.training.apnic.net. training.apnic.net. NS ns2.training.apnic.net. •  Now how can we go to ns1 and ns2? –  We must add a Glue Record
  • 23. Glue Record •  Glue is a ‘non-authoritative’ data •  Don’t include glue for servers that are not in the sub zones Only this record needs glue! training.apnic.net. training.apnic.net. Glue Record! NS NS ns1.training.apnic.net. ns2.training.apnic.net. training.apnic.net. training.apnic.net. NS NS ns2.example.net. ns1.example.net. ns1.training.apnic.net. A Ns2.training.apnic.net. A 10.0.0.1 10.0.0.2
  • 24. Delegating training.apnic.net. from apnic.net. ns.apnic.net ns.training.apnic.net 1.  Add NS records and glue 2.  Make sure there is no other data from the training.apnic.net. zone in the zone file 1.  Setup minimum two servers 2.  Create zone file with NS records 3.  Add all training.apnic.net data
  • 25. What is ‘Reverse DNS’? •  ‘Forward DNS’ maps names to numbers –  svc00.apnic.net è202.12.28.131 •  ‘Reverse DNS’ maps numbers to names –  202.12.28.131 è svc00.apnic.net Person (Host) Address (IPv4/IPv6)
  • 26. Reverse DNS - why bother? •  Service denial –  only allow access when fully reverse delegated –  Example: anonymous ftp •  Diagnostics –  Assisting in trace routes etc •  SPAM identifications –  Failed reverse lookup results in a spam penalty score •  Registration responsibilities –  APNIC members must make sure that all their address space are properly reverse delegated
  • 27. Principles – DNS Tree Root . net org apnic iana whois www training com Mapping numbers to names - ‘reverse DNS’ arpa in-addr www 202 203 204 210 64 22 ws1 ws2 22. 64. 202. in-addr.arpa.
  • 28. Creating Reverse Zones •  Same as creating a forward zone file –  SOA and initial NS records are the same as normal zone •  Main difference –  need to create additional PTR records •  Can use BIND or other DNS software to create and manage reverse zones –  Details can be different •  In addition to the forward zone files, you need the reverse zone files –  Ex: for a reverse zone on a 203.176.189.0/24 block, create a zone file and name it as “db.203.176.189” (make it descriptive)
  • 29. Pointer (PTR) Records •  Create pointer (PTR) records for each IP address 131.28.12.202.in-addr.arpa. IN PTR svc00.apnic.net. or 131 IN PTR svc00.apnic.net.
  • 30. Reverse Zone Example $ORIGIN 1.168.192.in-addr.arpa. @ 3600 IN SOA test.company.org. ( sys.admin.company.org. 2002021301 ; serial 1h ; refresh 30M ; retry 1W ; expiry 3600 ) ; neg. answ. ttl NS NS ns.company.org. Note trailing dots" ns2.company.org. 1 PTR gw.company.org. router.company.org. 2 PTR ns.company.org.
  • 31. Reverse Delegation Requirements •  /24 Delegations –  Address blocks should be assigned/allocated –  At least two name servers •  /16 Delegations –  Same as /24 delegations –  APNIC delegates entire zone to member •  < /24 Delegations –  Read “Classless IN-ADDR.ARPA delegation” (RFC 2317) RFC 2317
  • 32. APNIC & ISPs responsibilities •  APNIC –  Manage reverse delegations of address block distributed by APNIC –  Process organisations requests for reverse delegations of network allocations •  Organisations –  –  –  –  Be familiar with APNIC procedures Ensure that addresses are reverse-mapped Maintain nameservers for allocations Minimise pollution of DNS
  • 33. Reverse Delegation Procedures •  Standard APNIC database object –  can be updated through MyAPNIC •  Nameserver/domain set up verified before being submitted to the database. •  Protection by maintainer object –  (current auths: CRYPT-PW, PGP). •  Any queries –  Contact helpdesk@apnic.net
  • 35. Whois domain object domain: Descr: admin-c: tech-c: zone-c: nserver: nserver: nserver: mnt-by: mnt-lower: changed: changed: changed: changed: source: Reverse Zone 28.12.202.in-addr.arpa in-addr.arpa zone for 28.12.202.in-addr.arpa NO4-AP Contacts AIC1-AP NO4-AP cumin.apnic.net Nameservers tinnie.apnic.net tinnie.arin.net Maintainers MAINT-APNIC-AP MAINT-AP-DNS inaddr@apnic.net 20021023 inaddr@apnic.net 20040109 hm-changed@apnic.net 20091007 hm-changed@apnic.net 20111208 APNIC
  • 36. Reverse DNS Tree – with IPv6 Root . net org apnic com iana RFC 3152 arpa in-addr 202 64 22 203 ✕ int ip6 IPv6 addresses
  • 37. IPv6 Representation in the DNS •  Forward lookup support: Multiple RR records for name to number –  AAAA (Similar to A RR for IPv4 ) •  Reverse lookup support: –  Reverse nibble format for zone ip6.arpa
  • 38. IPv6 Reverse Lookups – PTR records •  Similar to the IPv4 reverse record b.a.9.8.7.6.5.0.4.0.0.0.3.0.0.0.2.0.0.0.1.0.0.0.0.0.0.0.1.2.3.4.ip6.arpa. IN PTR test.ip6.example.com. •  Example: The reverse name lookup for a host with address 3ffe:8050:201:1860:42::1 $ORIGIN 0.6.8.1.1.0.2.0.0.5.0.8.e.f.f.3.ip6.arpa. 1.0.0.0.0.0.0.0.0.0.0.0.2.4.0.0 host.example.com. 14400 IN PTR
  • 39. IPv6 forward and reverse mappings •  Existing A record will not accommodate the 128 bit addresses for IPv6 •  BIND expects an A record’s record-specific data to be a 32bit address (in dotted-octet format) •  An address record –  AAAA (RFC 1886) •  A reverse-mapping domain –  ip6.arpa
  • 40. IPv6 forward lookups •  Multiple addresses possible for any given name –  Ex: in a multi-homed situation •  Can assign A records and AAAA records to a given name/ domain •  Can also assign separate domains for IPv6 and IPv4
  • 41. Sample forward lookup file ;; domain.edu $TTL 86400 @ IN SOA ns1.domain.edu. root.domain.edu. ( 20121115 ; serial - YYYYMMDDXX 21600 ; refresh - 6 hours 1200 ; retry - 20 minutes 3600000 ; expire - long time 86400) ; minimum TTL - 24 hours ;; Nameservers IN NS ns1.domain.edu. IN NS ns2.domain.edu. ;; Hosts with just A records host1 IN A 1.0.0.1 ;; Hosts with both A and AAAA records host2 IN A 1.0.0.2 IN AAAA 2001:468:100::2
  • 42. Sample reverse lookup file ;; 0.0.0.0.0.0.1.0.8.6.4.0.1.0.0.2.rev ;; These are reverses for 2001:468:100::/64) ;; File can be used for both ip6.arpa and ip6.int. $TTL 86400 @ IN SOA ns1.domain.edu. root.domain.edu. ( 2002093000 ; serial - YYYYMMDDXX 21600 ; refresh - 6 hours 1200 ; retry - 20 minutes 3600000 ; expire - long time 86400) ; minimum TTL - 24 hours ;; Nameservers IN NS ns1.domain.edu. IN NS ns2.domain.edu. 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR host1.ip6.domain.edu 2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR host2.domain.edu ;; ;; Can delegate to other nameservers in the usual way ;;
  • 44. DNS Security - Background •  The original DNS protocol wasn’t designed with security in mind –  It has very few built-in security mechanism •  As the Internet grew, IETF realized this would be a problem –  For example DNS spoofing was too easy •  Some security problems: –  –  –  –  Using reverse DNS to impersonate hosts Software bugs (buffer overflows, bad pointer handling) Bad crypto (predictable sequences, forgeable signatures) Cache poisoning (putting inappropriate data into the cache) Reference: https://wiki.tools.isoc.org/DNSSEC_History_Project
  • 45. DNS Cache Poisoning 3 1 www.example.com 192.168.1.99 I want to access www.example.com QID=64569 QID=64570 QID=64571 match! (pretending to be the authoritative zone) 2 QID=64571 Client Root/GTLD DNS Caching Server QID=64571 3 www.example.com 192.168.1.1 Webserver (192.168.1.1) ns.example.com
  • 46. DNS Amplification •  A type of reflection attack combined with amplification –  Source of attack is reflected off another machine –  Traffic received is bigger (amplified) than the traffic sent by the attacker •  UDP packet’s source address is spoofed
  • 47. DNS Amplification Root/GTLD Queries for www.example.com DNS Recursive server ns.example.com www.example.com 192.168.1.1 Compromised Machines (spoofed IP) Victim Machine Attacker
  • 48. Open Resolvers •  DNS servers that answer recursive queries from any host on the Internet •  http://openresolverproject.org/ •  Check if you’re running open resolvers –  http://dns.measurement-factory.com/cgi-bin/openresolvercheck.pl •  More statistics at –  http://dns.measurement-factory.com/surveys/openresolvers/ASNreports/latest.html
  • 49. Response Rate Limiting (RRL) •  Protects against DNS amplification attack •  Implemented in CZ-NIC Knot (v1.2-RC3), NLNetLabs NSD (v3.2.15), and ISC BIND 9 (v9.9.4) release rate-limit { responses-per-second 5; log-only yes; }; •  If using older versions, a patch is available from –  http://ss.vix.su/~vjs/rrlrpz.html –  patch –p0 -l
  • 50. DNS Changer •  “Criminals have learned that if they can control a user’s DNS servers, they can control what sites the user connects to the Internet.” •  How: infect computers with a malicious software (malware) •  This malware changes the user’s DNS settings with that of the attacker’s DNS servers •  Points the DNS configuration to DNS resolvers in specific address blocks and use it for their criminal enterprise •  The data collection ran until July 2012
  • 51. Rogue DNS Servers •  85.225.112.0 through 85.255.127.255 •  67.210.0.0 through 67.210.15.255 •  93.188.160.0 through 93.188.167.255 •  77.67.83.0 through 77.67.83.255 •  213.109.64.0 through 213.109.79.255 •  64.28.176.0 through 64.28.191.255 •  If your computer is configured with one of these DNS servers, it is most likely infected with DNSChanger malware
  • 52. DNS Changer – Victim Count Source: http://www.dcwg.org
  • 54. Securing the Nameserver •  Run the most recent version of the DNS software –  Bind 9.9.4 or Unbound 1.4.16 –  Apply the latest patches •  Hide version •  Restrict queries –  Allow-query { acl_match_list; }; •  Prevent unauthorized zone transfers –  Allow-transfer { acl_match_list; }; •  Run BIND with the least privilege (use chroot) •  Randomize source ports –  don’t use query-source option •  Secure the box •  Use TSIG and DNSSEC
  • 55. Sender Policy Framework (SPF) •  Using DNS for email validation •  Checks the sender IP address •  Defined in RFC 4408 with updates in RFC 6652 apnic.net. 3600 IN TXT "v=spf1 mx a:clove.apnic.net a:asmtp.apnic.net ip4:203.119.93.0/24 ip4:203.119.101.0/24 ip4:203.89.255.141/32 ip4:203.190.232.30/32 ip4:122.248.232.184/32 include:_spf.google.com -all"
  • 56. DNS Protocol Vulnerability •  DNS data can be spoofed and corrupted between master server and resolver or forwarder •  The DNS protocol does not allow you to check the validity of DNS data –  Exploited by bugs in resolver implementation (predictable transaction ID) –  Polluted caching forwarders can cause harm for quite some time (TTL) –  Corrupted DNS data might end up in caches and stay there for a long time •  How does a slave (secondary) know it is talking to the proper master (primary)?
  • 57. DNS: Data Flow Zone administrator Zone file 1" 4" master Caching forwarder 2" 3" Dynamic updates slaves 5" resolver
  • 58. DNS Vulnerabilities Corrupting data" Zone administrator Zone file Impersonating master" 1" Cache impersonation" 4" master Caching forwarder 2" 3" Dynamic updates 5" slaves Unauthorized updates" Server protection! Cache pollution by" Data spoofing" Data protection! resolver
  • 59. TSIG Protected Vulnerabilities Impersonating master" Zone administrator Zone file Dynamic updates master slaves Unauthorized updates" Caching forwarder resolver
  • 60. What is TSIG - Transaction Signature? •  A mechanism for protecting a message from a primary to secondary and vice versa •  A keyed-hash is applied (like a digital signature) so recipient can verify the message –  DNS question or answer –  & the timestamp •  Based on a shared secret - both sender and receiver are configured with it –  TSIG/TKEY uses DH, HMAC-MD5, HMAC-SHA1, HMAC-SHA224, HMAC-SHA512 among others
  • 61. What is TSIG - Transaction Signature? •  TSIG (RFC 2845) –  authorizing dynamic updates & zone transfers –  authentication of caching forwarders •  Used in server configuration, not in zone file
  • 62. TSIG example verification" AXFR" Sig ...! AXFR" Query: AXFR" Sig ...! Master" KEY:
 %sgs!f23fv! Slave" KEY:
 %sgs!f23fv! Response: Zone" SOA " …" SOA" Sig ...! verification" SOA " …" SOA" Sig ...!
  • 63. TSIG steps 1.  Generate secret 2.  Communicate secret 3.  Configure servers 4.  Test
  • 64. TSIG - Names and Secrets •  TSIG name –  A name is given to the key, the name is what is transmitted in the message (so receiver knows what key the sender used) •  TSIG secret value –  A value determined during key generation –  Usually seen in Base64 encoding
  • 65. TSIG – Generating a Secret •  dnssec-keygen –  Simple tool to generate keys –  Used here to generate TSIG keys > dnssec-keygen -a <algorithm> -b <bits> -n host <name of the key>!
  • 66. TSIG – Generating a Secret •  Example! > dnssec-keygen –a HMAC-MD5 –b 128 –n HOST ns1ns2.pcx.net This will generate the key > Kns1-ns2.pcx.net.+157+15921 >ls Kns1-ns2.pcx.net.+157+15921.key Kns1-ns2.pcx.net.+157+15921.private
  • 67. TSIG – Generating a Secret •  TSIG should never be put in zone files –  might be confusing because it looks like RR: ns1-ns2.pcx.net. IN KEY 128 3 157 nEfRX9…bbPn7lyQtE=!
  • 68. TSIG – Configuring Servers •  Configuring the key –  in named.conf file, same syntax as for rndc –  key { algorithm ...; secret ...;} •  Making use of the key –  in named.conf file –  server x { key ...; }! –  where 'x' is an IP number of the other server
  • 69. Configuration Example – named.conf Primary server 10.33.40.46! Secondary server 10.33.50.35 ! ! key ns1-ns2.pcx. net {! key ns1-ns2.pcx.net {! !algorithm hmac-md5;! !algorithm hmac-md5;! !secret "APlaceToBe";! !secret "APlaceToBe";! };! };! server 10.33.50.35 {! server 10.33.40.46 {! !keys {ns1-ns2.pcx.net;};! keys {ns1-ns2.pcx.net;};! };! };! zone "my.zone.test." {! zone "my.zone.test." {! !type master;! !type slave;! !file “db.myzone”;! !file “myzone.backup”;! !allow-transfer {! !masters {10.33.40.46;};! !key ns1-ns2.pcx.net ;};! };! };! You can save this in a file and refer to it in the named.conf using ‘include’ statement: include “/var/named/master/tsig-key-ns1-ns2”;
  • 70. TSIG Testing : dig •  You can use dig to check TSIG configuration –  dig @<server> <zone> AXFR -k <TSIG keyfile>! $ dig @127.0.0.1 example.net AXFR ! -k Kns1-ns2.pcx.net.+157+15921.key! •  Wrong key will give “Transfer failed” and on the server the security-category will log this.
  • 71. TSIG Testing - TIME! •  TSIG is time sensitive - to stop replays –  –  –  –  Message protection expires in 5 minutes Make sure time is synchronized For testing, set the time In operations, (secure) NTP is needed
  • 72. TSIG steps 1.  Generate secret –  dnssec-keygen -a <algorithm> -b <bits> -n host <name of the key> 2.  Communicate secret –  scp <keyfile> <user>@<remote-server>:<path> 3.  Configure servers –  –  key { algorithm ...; secret ...;} server x { key ...; } 4.  Test –  dig @<server> <zone> AXFR -k <TSIG keyfile>!
  • 74. Vulnerabilities protected by DNSKEY / RRSIG / NSEC Cache impersonation" Zone administrator Zone file Dynamic updates master Caching forwarder slaves resolver Cache pollution by" Data spoofing"
  • 75. DNS Security Extensions (DNSSEC) •  Protects the integrity of data in the DNS by establishing a chain of trust •  Uses public key cryptography – each link in the chain has a public/private key pair •  A form of digitally signing the data to attest its validity •  Standard is defined in RFC4033, RFC4034, and RFC4035 •  Guarantees –  Authenticity –  Integrity –  Non-existence of a domain RFC 4033 RFC 4034 RFC 4035
  • 76. DNSSEC History •  1990: Steven Bellovin discovers a major flaw in the DNS •  1995: Bellovin publishes his research; DNSSEC (as it became later known) becomes a topic within IETF •  1997: RFC 2065 (adding security extensions) was published •  1998: Dan Kaminsky discovers some security flaw •  1999: RFC 2535, the DNSSEC protocol, is published; BIND 9 developed to be DNSSEC-capable •  2001: key handling in RFC2535 is causing operational problems •  2005: Three new RFCs published to update RFC2535 –  RFC 4033 (DNS Security Introduction and Requirements) –  RFC 4034 (Resource Records for DNS Security Extensions) –  RFC 4035 (Protocol Modifications) https://wiki.tools.isoc.org/DNSSEC_History_Project
  • 77. DNSSEC History •  2005: In October, Sweden (.SE) becomes the first ccTLD to deploy DNSSEC •  2008: new DNSSEC record created to address privacy concerns (RFC 5155) •  2010 –  In July 15, the root zone was signed –  In July 29, .edu was signed –  In December 9, .net was signed •  2011: In March 31, .com was signed https://wiki.tools.isoc.org/DNSSEC_History_Project
  • 78. DNSSEC Resource Records RFC 4034 •  3 Public key crypto related RRs –  RRSIG = Signature over RRset made using private key –  DNSKEY = Public key, needed for verifying a RRSIG –  DS = Delegation Signer; ‘Pointer’ for building chains of authentication •  One RR for internal consistency –  NSEC = Next Secure; indicates which name is the next one in the zone and which type codes are available for the current name •  authenticated non-existence of data
  • 79. DNSSEC Resource Records •  DNSKEY, RRSIG, and NSEC records provide mechanisms to establish authenticity and integrity of data •  DS record provides a mechanism to delegate trust to public keys of third parties
  • 80. DNSSEC RRs •  Data authenticity and integrity by signing the Resource Records Sets with private key •  Public DNSKEY is used to verify the RRSIG •  Children sign their zones with their private key –  Authenticity of that key established by signature/checksum by the parent (DS) •  Ideal case: one public DNSKEY distributed
  • 81. RR’s and RRsets •  Resource Record: Name TTL www.example.net. 7200 class type IN A rdata 192.168.1.1 •  RRset: RRs with same name, class and type: www.example.net. 7200 IN A A A 192.168.1.1 10.0.0.3 172.10.1.1 •  RRsets are signed, not the individual RRs
  • 82. RRSIG •  The private part of the key-pair is used to sign the resource record set (RRset) per zone •  The digital signature per RRset is saved in an RRSIG record irrashai.net. 86400 NS 86400 NS 86400 RRSIG Signature expiry Date signed RR NS.JAZZI.COM. type signed Digital signature algorithm NS.IRRASHAI.NET. Number of labels in the NS 5 2 86400 ( signed name 20121202010528 20121102010528 3510 irrashai.net. Y2J2NQ+CVqQRjQvcWY256ffiw5mp0OQTQUF8 vUHSHyUbbhmE56eJimqDhXb8qwl/Fjl40/km lzmQC5CmgugB/qjgLHZbuvSfd9W+UCwkxbwx 3HonAPr3C+0HVqP8rSqGRqSq0VbR7LzNeayl BkumLDoriQxceV4z3d2jFv4ArnM= )
  • 83. DNSKEY •  Contains the zone’s public key •  Uses public key cryptography to sign and authenticate DNS resource record sets (RRsets). •  Example: 16-bit field flag Protocol octet DNSKEY algorithm number irrashai.net. IN DNSKEY 256 3 5 ( AwEAAagrVFd9xyFMQRjO4DlkL0dgUCtogviS+FG9Z6Au3h1ERe4EIi3L X49Ce1OFahdR2wPZyVeDvH6X4qlLnMQJsd7oFi4S9Ng+hLkgpm/n+otE kKiXGZzZn4vW0okuC0hHG2XU5zJhkct73FZzbmBvGxpF4svo5PPWZqVb H48T5Y/9 ) ; key id = 3510 Public key (base64)
  • 84. DNSKEY •  Also contains some timing metadata – as a comment in the key file ; This is a key-signing key, keyid 19996, for myzone.net. ; Created: 20121102020008 (Fri Nov 2 12:00:08 2012) ; Publish: 20121102020008 (Fri Nov 2 12:00:08 2012) ; Activate: 20121102020008 (Fri Nov 2 12:00:08 2012)
  • 85. NSEC / NSEC3 •  Next Secure •  Forms a chain of authoritative owner names in the zone •  Lists two separate things: –  Next owner name (canonical ordering) –  Set of RR types present at the NSEC RR’s owner name •  Also proves the non-existence of a domain irrashai.net. NSEC blog.irrashai.net. A NS SOA MX RRSIG NSEC DNSKEY
  • 86. NSEC / NSEC3 •  “The last NSEC wraps around from the last name in the ordered zone to the first” •  Each NSEC record also has a corresponding RRSIG
  • 87. NSEC RDATA •  Points to the next domain name in the zone –  also lists what are all the existing RRs for “name” –  NSEC record for last name “wraps around” to first name in zone •  Used for authenticated denial-of-existence of data –  authenticated non-existence of TYPEs and labels
  • 88. NSEC Record example $ORIGIN example.net.! @!SOA …! ! !NS !NS.example.net.! ! !DNSKEY !…! ! !NSEC mailbox.example.net. SOA NS NSEC DNSKEY !RRSIG! ! mailbox !A !192.168.10.2 !! ! !NSEC WWW ! !A !192.168.10.3 !! ! ! ! !TXT ! ! ! !NSEC ! ! www.example.net. A NSEC RRSIG! !Public webserver! example.net. A NSEC RRSIG TXT!
  • 89. Delegation Signer (DS) •  Establishes the chain of trust from parent to child zones •  Found in the parent’s zone file •  In this example, irrashai.net has been delegated from .net. This is how it looks like in the .net zone file Key ID DNSKEY algorithm (RSASHA1) irrashai.net. IN NS NS IN DS IN DS Digest type: 1 = SHA1 ns1.irrashai.net. 2 = SHA256 ns2.irrashai.net. 19996 5 1 ( CF96B018A496CD1A68EE7 C80A37EDFC6ABBF8175 ) 19996 5 2 ( 6927A531B0D89A7A4F13E11031 4C722EC156FF926D2052C7D8D70C50 14598CE9 )
  • 90. Delegation Signer (DS) •  Delegation Signer (DS) RR indicates that: –  delegated zone is digitally signed –  indicated key is used for the delegated zone •  Parent is authoritative for the DS of the child’s zone –  Not for the NS record delegating the child’s zone! –  DS should not be in the child’s zone
  • 91. Types of Keys •  Zone Signing Key (ZSK) –  Sign the RRsets within the zone –  Public key of ZSK is defined by a DNSKEY RR •  Key Signing Key (KSK) –  Signed the keys which includes ZSK and KSK and may also be used outside the zone •  Trusted anchor in a security aware server •  Part of the chain of trust by a parent name server •  Using a single key or both keys is an operational choice (RFC allows both methods)
  • 92. Creation of keys •  Zones are digitally signed using the private key •  Can use RSA-SHA-1, DSA-SHA-1 and RSA-MD5 digital signatures •  The public key corresponding to the private key used to sign the zone is published using a DNSKEY RR
  • 93. Chain of Trust •  DNSSEC is based on trust •  Root is on top of the chain of trust. –  Root servers were signed on July 15, 2010.
  • 94. Thank you! End of Session