SlideShare a Scribd company logo
Introduction To DNS everything you never wanted to know about IP directory services Linux Users Victoria, April 3 rd  2007 Jonathan Oxer  <jon@ivt.com.au>
what is the domain name system anyway? Introduction To DNS  Jonathan Oxer  < [email_address] >
it's like a phone book ...kinda Introduction To DNS  Jonathan Oxer  < [email_address] >
DNS is (1) a directory service Introduction To DNS  Jonathan Oxer  < [email_address] >
DNS is (2) an identity mechanism Introduction To DNS  Jonathan Oxer  < [email_address] >
DNS is (3) a namespace structure Introduction To DNS  Jonathan Oxer  < [email_address] >
DNS is (4) an abstraction layer Introduction To DNS  Jonathan Oxer  < [email_address] >
think of the phone book... Introduction To DNS  Jonathan Oxer  < [email_address] >
maps hostnames to IP addresses Introduction To DNS  Jonathan Oxer  < [email_address] >
maps jon.oxer.com.au to 221.133.213.151 Introduction To DNS  Jonathan Oxer  < [email_address] >
forward vs reverse Introduction To DNS  Jonathan Oxer  < [email_address] >
maps jon.oxer.com.au to 221.133.213.151 Introduction To DNS  Jonathan Oxer  < [email_address] >
maps 221.133.213.151 to jon.oxer.com.au Introduction To DNS  Jonathan Oxer  < [email_address] >
simple beginnings: hosts.txt Introduction To DNS  Jonathan Oxer  < [email_address] >
...but phone books Introduction To DNS  Jonathan Oxer  < [email_address] >
...but phone books don't Introduction To DNS  Jonathan Oxer  < [email_address] >
...but phone books don't Introduction To DNS  Jonathan Oxer  < [email_address] >  scale
so modern DNS is managed like a distributed phone book Introduction To DNS  Jonathan Oxer  < [email_address] >
DNS is (5) delegation of authority Introduction To DNS  Jonathan Oxer  < [email_address] >
a “zone” defines an area of authority Introduction To DNS  Jonathan Oxer  < [email_address] >
think of it as an inverted tree Introduction To DNS  Jonathan Oxer  < [email_address] >
Introduction To DNS  Jonathan Oxer  < [email_address] >
anatomy of a host name Introduction To DNS  Jonathan Oxer  < [email_address] >
(a host name is a record inside a domain name) Introduction To DNS  Jonathan Oxer  < [email_address] >
read right to left: jon.oxer.com.au. Introduction To DNS  Jonathan Oxer  < [email_address] >
yes, it really ends in a dot! Introduction To DNS  Jonathan Oxer  < [email_address] >
root zone: jon.oxer.com.au . Introduction To DNS  Jonathan Oxer  < [email_address] >
top level domain: jon.oxer.com .au . Introduction To DNS  Jonathan Oxer  < [email_address] >
2nd level zone: jon.oxer .com .au. Introduction To DNS  Jonathan Oxer  < [email_address] >
3rd level zone: jon .oxer .com.au. Introduction To DNS  Jonathan Oxer  < [email_address] >
host name: jon .oxer.com.au. Introduction To DNS  Jonathan Oxer  < [email_address] >
back to that dot: jon.oxer.com.au . Introduction To DNS  Jonathan Oxer  < [email_address] >
“ ICANN's 13” : the A to M root servers Introduction To DNS  Jonathan Oxer  < [email_address] >
root.hints Introduction To DNS  Jonathan Oxer  < [email_address] >
“ There can be only 13” Introduction To DNS  Jonathan Oxer  < [email_address] >
(UDP packets limited to 512B) Introduction To DNS  Jonathan Oxer  < [email_address] >
A response with more than 13 entries > 512B Introduction To DNS  Jonathan Oxer  < [email_address] >
root servers replicated globally using anycast Introduction To DNS  Jonathan Oxer  < [email_address] >
Introduction To DNS  Jonathan Oxer  < [email_address] >
root servers delegate ccTLDs, gTLDs, and iTLDs Introduction To DNS  Jonathan Oxer  < [email_address] >
so what is this “ delegation” of which you speak? Introduction To DNS  Jonathan Oxer  < [email_address] >
registries, registrars, resellers, registrants, InterNIC, ICANN, OpenSRS, oh my! Introduction To DNS  Jonathan Oxer  < [email_address] >
Introduction To DNS  Jonathan Oxer  < [email_address] >
ICANN controls the registries Introduction To DNS  Jonathan Oxer  < [email_address] >
registries control the registrars Introduction To DNS  Jonathan Oxer  < [email_address] >
registrars control delegations Introduction To DNS  Jonathan Oxer  < [email_address] >
domain allocation policies Introduction To DNS  Jonathan Oxer  < [email_address] >
own or lease? Introduction To DNS  Jonathan Oxer  < [email_address] >
trademarks and disputes Introduction To DNS  Jonathan Oxer  < [email_address] >
Introduction To DNS  Jonathan Oxer  < [email_address] >
alt roots (alternative DNS roots) Introduction To DNS  Jonathan Oxer  < [email_address] >
DNS works because we agree to let it work Introduction To DNS  Jonathan Oxer  < [email_address] >
alt roots are just alternative agreements Introduction To DNS  Jonathan Oxer  < [email_address] >
Introduction To DNS  Jonathan Oxer  < [email_address] >
critical concept alert! Introduction To DNS  Jonathan Oxer  < [email_address] >
authoritative vs recursive servers Introduction To DNS  Jonathan Oxer  < [email_address] >
authoritative servers answer questions about zones they own Introduction To DNS  Jonathan Oxer  < [email_address] >
recursive resolvers query other servers on your behalf Introduction To DNS  Jonathan Oxer  < [email_address] >
recursive lookups require multiple queries Introduction To DNS  Jonathan Oxer  < [email_address] >
Introduction To DNS  Jonathan Oxer  < [email_address] >
 
 
 
 
 
 
 
 
 
 
 
caching good! Introduction To DNS  Jonathan Oxer  < [email_address] >
caching bad! Introduction To DNS  Jonathan Oxer  < [email_address] >
beware the cache Introduction To DNS  Jonathan Oxer  < [email_address] >
caching: in the recursive DNS resolver Introduction To DNS  Jonathan Oxer  < [email_address] >
(Big Pond bad! Bad, I say!) Introduction To DNS  Jonathan Oxer  < [email_address] >
caching: in your OSs resolver library Introduction To DNS  Jonathan Oxer  < [email_address] >
caching: directly inside applications Introduction To DNS  Jonathan Oxer  < [email_address] >
(IE very bad too!) Introduction To DNS  Jonathan Oxer  < [email_address] >
internationalisation Introduction To DNS  Jonathan Oxer  < [email_address] >
anatomy of a zone[file] Introduction To DNS  Jonathan Oxer  < [email_address] >
; zone file for example.com. $TTL 2d  ; 172800 TTL @  IN  SOA  ns1.example.com. hostmaster.example.com. ( 2007040304 ; serial 12h  ; refresh 15m  ; retry 3w  ; expiry 3h  ; minimum ) IN  NS  ns1.myprovider.com. IN  NS  ns1.example.com. IN  MX  10  mail.example.net. homer  IN  A  192.168.254.3 marge  IN  A  192.168.12.15 www  IN  CNAME  homer vpn  IN  CNAME  marge  Introduction To DNS  Jonathan Oxer  < [email_address] >
types of DNS records Introduction To DNS  Jonathan Oxer  < [email_address] >
“ A” (address) links names and IPv4 addresses Introduction To DNS  Jonathan Oxer  < [email_address] >
“ AAAA” (address) links names and IPv6 addresses Introduction To DNS  Jonathan Oxer  < [email_address] >
“ CNAME” (canonical name) aliases names to other names Introduction To DNS  Jonathan Oxer  < [email_address] >
“ MX” (mail exchange) name of machine for mail delivery Introduction To DNS  Jonathan Oxer  < [email_address] >
“ NS” (name server) name of DNS server for a zone Introduction To DNS  Jonathan Oxer  < [email_address] >
“ TXT” (text) arbitrary text string Introduction To DNS  Jonathan Oxer  < [email_address] >
“ NAPTR” (naming auth pointer) fun with regex Introduction To DNS  Jonathan Oxer  < [email_address] >
“ SOA” (start of authority) controls inter-server data synchronisation Introduction To DNS  Jonathan Oxer  < [email_address] >
SOA (Start Of Authority) Introduction To DNS  Jonathan Oxer  < [email_address] >
SOA sets TTL (Time To Live) Introduction To DNS  Jonathan Oxer  < [email_address] >
TTL says how long data may be cached Introduction To DNS  Jonathan Oxer  < [email_address] >
SOA parameters Serial : identifies version of SOA Introduction To DNS  Jonathan Oxer  < [email_address] >
SOA parameters Refresh : seconds between updates Introduction To DNS  Jonathan Oxer  < [email_address] >
SOA parameters Retry : seconds to wait after failure Introduction To DNS  Jonathan Oxer  < [email_address] >
SOA parameters Expire : seconds before data flushed Introduction To DNS  Jonathan Oxer  < [email_address] >
SOA parameters Minimum : used now for negative caching Introduction To DNS  Jonathan Oxer  < [email_address] >
circular dependencies: self-delegation Introduction To DNS  Jonathan Oxer  < [email_address] >
the solution: glue records Introduction To DNS  Jonathan Oxer  < [email_address] >
breaking your brain: reverse DNS Introduction To DNS  Jonathan Oxer  < [email_address] >
Let's look up 1.2.3.4! Introduction To DNS  Jonathan Oxer  < [email_address] >
4.3.2.1.in-addr.arpa. Introduction To DNS  Jonathan Oxer  < [email_address] >
security Introduction To DNS  Jonathan Oxer  < [email_address] >
DNS cache poisoning Introduction To DNS  Jonathan Oxer  < [email_address] >
Introduction To DNS  Jonathan Oxer  < [email_address] >
Practical example: Dr Evil wants to take over “ www.bigbank.com” Introduction To DNS  Jonathan Oxer  < [email_address] >
Dr Evil attack vector #1 redirecting the target domain's nameserver Introduction To DNS  Jonathan Oxer  < [email_address] >
(1) Dr Evil creates a sub-zone of a zone he controls, such as “ bigbank.dr-evil.com” Introduction To DNS  Jonathan Oxer  < [email_address] >
(2) Dr Evil delegates his evil zone to “ www.bigbank.com” Introduction To DNS  Jonathan Oxer  < [email_address] >
(3) Dr Evil configures his DNS server to return the wrong IP address for “www.bigbank.com” Introduction To DNS  Jonathan Oxer  < [email_address] >
(4) Dr Evil issues a DNS lookup for “ bigbank.dr-evil.com” to your DNS resolver Introduction To DNS  Jonathan Oxer  < [email_address] >
(5) Your DNS server caches the evil IP and uses it for future requests for “ www.bigbank.com” Introduction To DNS  Jonathan Oxer  < [email_address] >
what happened? request: bigbank.dr-evil.com. IN A response: Answer: (no response) Authority section: bigbank.dr-evil.com. 3600 IN NS www.bigbank.com. Additional section: www.bigbank.com. IN A 1.2.3.4 Introduction To DNS  Jonathan Oxer  < [email_address] >
what happened? request: bigbank.dr-evil.com. IN A response: Answer: (no response) Authority section: bigbank.dr-evil.com. 3600 IN NS www.bigbank.com. Additional section: www.bigbank.com. IN A 1.2.3.4 Introduction To DNS  Jonathan Oxer  < [email_address] >
what happened? request: bigbank.dr-evil.com. IN A response: Answer: (no response) Authority section: bigbank.dr-evil.com. 3600 IN NS www.bigbank.com. Additional section: www.bigbank.com. IN A 1.2.3.4 Introduction To DNS  Jonathan Oxer  < [email_address] >
what happened? request: bigbank.dr-evil.com. IN A response: Answer: (no response) Authority section: bigbank.dr-evil.com. 3600 IN NS www.bigbank.com. Additional section: www.bigbank.com. IN A 1.2.3.4 Introduction To DNS  Jonathan Oxer  < [email_address] >
Introduction To DNS  Jonathan Oxer  < [email_address] >
Dr Evil attack vector #2 redirect the NS record of the target domain Introduction To DNS  Jonathan Oxer  < [email_address] >
compare this with... request: bigbank.dr-evil.com. IN A response: Answer: (no response) Authority section: bigbank.dr-evil.com. 3600 IN NS www.bigbank.com. Additional section: www.bigbank.com. IN A 1.2.3.4 Introduction To DNS  Jonathan Oxer  < [email_address] >
...alternative attack request: bigbank.dr-evil.com. IN A response: Answer: (no response) Authority section: bigbank.com. 3600 IN NS ns.dr-evil.com. Additional section: ns.dr-evil.com. IN A 1.2.3.4   Introduction To DNS  Jonathan Oxer  < [email_address] >
Dr Evil attack vector #3 DNS forgery: respond before the real nameserver Introduction To DNS  Jonathan Oxer  < [email_address] >
not as easy as it sounds! Introduction To DNS  Jonathan Oxer  < [email_address] >
do a “ birthday attack” against the nonce  value Introduction To DNS  Jonathan Oxer  < [email_address] >
Introduction To DNS  Jonathan Oxer  < [email_address] >  Start with the Taylor series approximation to the probability of a “nonce” value collision where “n” is the number of attempts and “H” is the number of unique outputs: Invert the expression: Now assigning a 0.5 probability of collision: So it's obvious that for a 16 bit hash there are 65536 outputs, ie: only 301 attempts are required to generate a collision by brute force!
Introduction To DNS  Jonathan Oxer  < [email_address] >  Start with the Taylor series approximation to the probability of a “nonce” value collision where “n” is the number of attempts and “H” is the number of unique outputs: Invert the expression: Now assigning a 0.5 probability of collision: So it's obvious that for a 16 bit hash there are 65536 outputs, ie: only 301 attempts are required to generate a collision by brute force!
Introduction To DNS  Jonathan Oxer  < [email_address] >  Start with the Taylor series approximation to the probability of a “nonce” value collision where “n” is the number of attempts and “H” is the number of unique outputs: Invert the expression: Now assigning a 0.5 probability of collision: So it's obvious that for a 16 bit hash there are 65536 outputs, ie: only 301 attempts are required to generate a collision by brute force!
301 attempts against 2 x16  hash Introduction To DNS  Jonathan Oxer  < [email_address] >
secure zone transfers Introduction To DNS  Jonathan Oxer  < [email_address] >
(mis?)using DNS Introduction To DNS  Jonathan Oxer  < [email_address] >
TCP-over-DNS Introduction To DNS  Jonathan Oxer  < [email_address] >
dynamic DNS Introduction To DNS  Jonathan Oxer  < [email_address] >
SPF Introduction To DNS  Jonathan Oxer  < [email_address] >
useful tools nslookup Introduction To DNS  Jonathan Oxer  < [email_address] >
useful tools nslookup Introduction To DNS  Jonathan Oxer  < [email_address] >
useful tools whois Introduction To DNS  Jonathan Oxer  < [email_address] >
useful tools dig Introduction To DNS  Jonathan Oxer  < [email_address] >
DNS server software Introduction To DNS  Jonathan Oxer  < [email_address] >
authoritative and recursive: BIND, MaraDNS Introduction To DNS  Jonathan Oxer  < [email_address] >
authoritative: MyDNS, tinydns Introduction To DNS  Jonathan Oxer  < [email_address] >
recursive: dnscache Introduction To DNS  Jonathan Oxer  < [email_address] >
master vs slave Introduction To DNS  Jonathan Oxer  < [email_address] >
firewall issues port 53 UDP  and  TCP Introduction To DNS  Jonathan Oxer  < [email_address] >
Introduction To DNS  Jonathan Oxer  < [email_address] >
Introduction to DNS Thankyou  :-) questions? Slid es:  jon.oxer.com.au/talks Contact: Jonathan Oxer < [email_address] > We're hiring!  www.ivt.com.au/jobs

More Related Content

What's hot

Domain Name System
Domain Name SystemDomain Name System
Domain Name System
ABDUL GAFOOR K V
 
DNS (Domain Name System)
DNS (Domain Name System)DNS (Domain Name System)
DNS (Domain Name System)
Shashidhara Vyakaranal
 
Dns presentation
Dns presentationDns presentation
Dns presentation
Anurag Pandey
 
DHCP Server & Client Presentation
DHCP Server & Client PresentationDHCP Server & Client Presentation
DHCP Server & Client Presentation
raini
 
Presentation on Domain Name System
Presentation on Domain Name SystemPresentation on Domain Name System
Presentation on Domain Name System
Chinmay Joshi
 
Domain Name System
Domain Name SystemDomain Name System
Domain Name System
Aashima Wadhwa
 
DNS
DNSDNS
DNSFTC
 
Domain name system
Domain name systemDomain name system
Domain name systemRahul Baghla
 
Domain Name System
Domain Name SystemDomain Name System
Domain Name System
Mahavir Vataliya
 
Dynamic Host Configuration Protocol
Dynamic Host Configuration ProtocolDynamic Host Configuration Protocol
Dynamic Host Configuration Protocol
gueste98b36
 
DHCP
DHCPDHCP
Domain Name System
Domain Name SystemDomain Name System
Domain Name System
Gurkamal Rakhra
 
DNS ( Domain Name System)
DNS ( Domain Name System)DNS ( Domain Name System)
DNS ( Domain Name System)
Prakhar Rastogi
 
IPv4 to Ipv6
IPv4 to Ipv6IPv4 to Ipv6
IPv4 to Ipv6
Amit kumar
 

What's hot (20)

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 Record
DNS RecordDNS Record
DNS Record
 
Domain name system
Domain name systemDomain name system
Domain name system
 
Dns presentation
Dns presentationDns presentation
Dns presentation
 
DHCP Server & Client Presentation
DHCP Server & Client PresentationDHCP Server & Client Presentation
DHCP Server & Client Presentation
 
Dns 2
Dns 2Dns 2
Dns 2
 
Presentation on Domain Name System
Presentation on Domain Name SystemPresentation on Domain Name System
Presentation on Domain Name System
 
Domain Name System
Domain Name SystemDomain Name System
Domain Name System
 
DHCP
DHCPDHCP
DHCP
 
DNS
DNSDNS
DNS
 
Domain name system
Domain name systemDomain name system
Domain name system
 
DNS Attacks
DNS AttacksDNS Attacks
DNS Attacks
 
The History of DNS
The History of DNSThe History of DNS
The History of DNS
 
Domain Name System
Domain Name SystemDomain Name System
Domain Name System
 
Dynamic Host Configuration Protocol
Dynamic Host Configuration ProtocolDynamic Host Configuration Protocol
Dynamic Host Configuration Protocol
 
DHCP
DHCPDHCP
DHCP
 
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)
 
IPv4 to Ipv6
IPv4 to Ipv6IPv4 to Ipv6
IPv4 to Ipv6
 

Viewers also liked

Chap24
Chap24Chap24
Chap24
Waqas !!!!
 
Osi model vs TCP/IP
Osi model vs TCP/IPOsi model vs TCP/IP
Osi model vs TCP/IPMannu Khani
 
I Have the Power(View)
I Have the Power(View)I Have the Power(View)
I Have the Power(View)
Will Schroeder
 
PostgreSQL DBA Neler Yapar?
PostgreSQL DBA Neler Yapar?PostgreSQL DBA Neler Yapar?
PostgreSQL DBA Neler Yapar?
Gulcin Yildirim Jelinek
 
TTÜ Geeky Weekly
TTÜ Geeky WeeklyTTÜ Geeky Weekly
TTÜ Geeky Weekly
Gulcin Yildirim Jelinek
 
150928 - Verisign Public DNS
150928 - Verisign Public DNS150928 - Verisign Public DNS
150928 - Verisign Public DNSMichael Kaczmarek
 
OpenDNS Enterprise Web Content Filtering
OpenDNS Enterprise Web Content FilteringOpenDNS Enterprise Web Content Filtering
OpenDNS Enterprise Web Content Filtering
OpenDNS
 
Managing Postgres with Ansible
Managing Postgres with AnsibleManaging Postgres with Ansible
Managing Postgres with Ansible
Gulcin Yildirim Jelinek
 
Remediating Violated Customers
Remediating Violated CustomersRemediating Violated Customers
Remediating Violated Customers
Barry Greene
 
DNS for Developers - NDC Oslo 2016
DNS for Developers - NDC Oslo 2016DNS for Developers - NDC Oslo 2016
DNS for Developers - NDC Oslo 2016
Maarten Balliauw
 
Indusrty Strategy For Action
Indusrty Strategy For ActionIndusrty Strategy For Action
Indusrty Strategy For Action
Barry Greene
 
Are you ready for the next attack? reviewing the sp security checklist (apnic...
Are you ready for the next attack? reviewing the sp security checklist (apnic...Are you ready for the next attack? reviewing the sp security checklist (apnic...
Are you ready for the next attack? reviewing the sp security checklist (apnic...
Barry Greene
 
Creating Domain Specific Languages in Python
Creating Domain Specific Languages in PythonCreating Domain Specific Languages in Python
Creating Domain Specific Languages in Python
Siddhi
 
Query-name Minimization and Authoritative Server Behavior
Query-name Minimization and Authoritative Server BehaviorQuery-name Minimization and Authoritative Server Behavior
Query-name Minimization and Authoritative Server Behavior
Shumon Huque
 
IoT Security in Action - Boston Sept 2015
IoT Security in Action - Boston Sept 2015IoT Security in Action - Boston Sept 2015
IoT Security in Action - Boston Sept 2015
Eurotech
 
Approaches to application request throttling
Approaches to application request throttlingApproaches to application request throttling
Approaches to application request throttling
Maarten Balliauw
 
DNS and Troubleshooting DNS issues in Linux
DNS and Troubleshooting DNS issues in LinuxDNS and Troubleshooting DNS issues in Linux
DNS and Troubleshooting DNS issues in Linux
Konkona Basu
 
Hands-on getdns Tutorial
Hands-on getdns TutorialHands-on getdns Tutorial
Hands-on getdns Tutorial
Shumon Huque
 

Viewers also liked (20)

Remote Login
Remote LoginRemote Login
Remote Login
 
Chap24
Chap24Chap24
Chap24
 
Osi model vs TCP/IP
Osi model vs TCP/IPOsi model vs TCP/IP
Osi model vs TCP/IP
 
I Have the Power(View)
I Have the Power(View)I Have the Power(View)
I Have the Power(View)
 
PostgreSQL DBA Neler Yapar?
PostgreSQL DBA Neler Yapar?PostgreSQL DBA Neler Yapar?
PostgreSQL DBA Neler Yapar?
 
TTÜ Geeky Weekly
TTÜ Geeky WeeklyTTÜ Geeky Weekly
TTÜ Geeky Weekly
 
150928 - Verisign Public DNS
150928 - Verisign Public DNS150928 - Verisign Public DNS
150928 - Verisign Public DNS
 
OpenDNS Enterprise Web Content Filtering
OpenDNS Enterprise Web Content FilteringOpenDNS Enterprise Web Content Filtering
OpenDNS Enterprise Web Content Filtering
 
Managing Postgres with Ansible
Managing Postgres with AnsibleManaging Postgres with Ansible
Managing Postgres with Ansible
 
Remediating Violated Customers
Remediating Violated CustomersRemediating Violated Customers
Remediating Violated Customers
 
DNS for Developers - NDC Oslo 2016
DNS for Developers - NDC Oslo 2016DNS for Developers - NDC Oslo 2016
DNS for Developers - NDC Oslo 2016
 
Indusrty Strategy For Action
Indusrty Strategy For ActionIndusrty Strategy For Action
Indusrty Strategy For Action
 
Are you ready for the next attack? reviewing the sp security checklist (apnic...
Are you ready for the next attack? reviewing the sp security checklist (apnic...Are you ready for the next attack? reviewing the sp security checklist (apnic...
Are you ready for the next attack? reviewing the sp security checklist (apnic...
 
Creating Domain Specific Languages in Python
Creating Domain Specific Languages in PythonCreating Domain Specific Languages in Python
Creating Domain Specific Languages in Python
 
Query-name Minimization and Authoritative Server Behavior
Query-name Minimization and Authoritative Server BehaviorQuery-name Minimization and Authoritative Server Behavior
Query-name Minimization and Authoritative Server Behavior
 
IoT Security in Action - Boston Sept 2015
IoT Security in Action - Boston Sept 2015IoT Security in Action - Boston Sept 2015
IoT Security in Action - Boston Sept 2015
 
Approaches to application request throttling
Approaches to application request throttlingApproaches to application request throttling
Approaches to application request throttling
 
IDNOG - 2014
IDNOG - 2014IDNOG - 2014
IDNOG - 2014
 
DNS and Troubleshooting DNS issues in Linux
DNS and Troubleshooting DNS issues in LinuxDNS and Troubleshooting DNS issues in Linux
DNS and Troubleshooting DNS issues in Linux
 
Hands-on getdns Tutorial
Hands-on getdns TutorialHands-on getdns Tutorial
Hands-on getdns Tutorial
 

Similar to Introduction to DNS

Domain name system advanced power point presentation
Domain name system advanced power point presentationDomain name system advanced power point presentation
Domain name system advanced power point presentation
rituchouhan1508
 
ppt.pptx
ppt.pptxppt.pptx
ppt.pptx
GumanSingh10
 
Domain Name System(ppt)
Domain Name System(ppt)Domain Name System(ppt)
Domain Name System(ppt)
chovatiyabhautik
 
Dns
DnsDns
2009 Itc Nslookup Rev01
2009 Itc Nslookup Rev012009 Itc Nslookup Rev01
2009 Itc Nslookup Rev01
JayMNEA
 
Design of a campus network
Design of a campus networkDesign of a campus network
Design of a campus network
Aalap Tripathy
 
Advanced MongoDB Aggregation Pipelines
Advanced MongoDB Aggregation PipelinesAdvanced MongoDB Aggregation Pipelines
Advanced MongoDB Aggregation Pipelines
Tom Schreiber
 
MongoDB Europe 2016 - Advanced MongoDB Aggregation Pipelines
MongoDB Europe 2016 - Advanced MongoDB Aggregation PipelinesMongoDB Europe 2016 - Advanced MongoDB Aggregation Pipelines
MongoDB Europe 2016 - Advanced MongoDB Aggregation Pipelines
MongoDB
 
Hands-on DNSSEC Deployment
Hands-on DNSSEC DeploymentHands-on DNSSEC Deployment
Hands-on DNSSEC Deployment
Bangladesh Network Operators Group
 
DNS 101 for Non-Techs
DNS 101 for Non-TechsDNS 101 for Non-Techs
DNS 101 for Non-Techs
Alison Gianotto
 
AWS re:Invent 2016: DNS Demystified: Getting Started with Amazon Route 53, fe...
AWS re:Invent 2016: DNS Demystified: Getting Started with Amazon Route 53, fe...AWS re:Invent 2016: DNS Demystified: Getting Started with Amazon Route 53, fe...
AWS re:Invent 2016: DNS Demystified: Getting Started with Amazon Route 53, fe...
Amazon Web Services
 
Introduction
IntroductionIntroduction
Introduction
hajafaarukh
 
Curso: Redes y comunicaciones I: 07 Redes
Curso: Redes y comunicaciones I: 07 RedesCurso: Redes y comunicaciones I: 07 Redes
Curso: Redes y comunicaciones I: 07 Redes
Jack Daniel Cáceres Meza
 
Active directory dns
Active directory dnsActive directory dns
Active directory dns
palashghosh123
 
Beyond Logging: Using MongoDB to Power a Private Social Network (Oh, and log ...
Beyond Logging: Using MongoDB to Power a Private Social Network (Oh, and log ...Beyond Logging: Using MongoDB to Power a Private Social Network (Oh, and log ...
Beyond Logging: Using MongoDB to Power a Private Social Network (Oh, and log ...
justinjenkins
 
Domainnamesystem
DomainnamesystemDomainnamesystem
DNSSEC Tutorial, by Champika Wijayatunga [APNIC 38]
DNSSEC Tutorial, by Champika Wijayatunga [APNIC 38]DNSSEC Tutorial, by Champika Wijayatunga [APNIC 38]
DNSSEC Tutorial, by Champika Wijayatunga [APNIC 38]
APNIC
 
DNS
DNSDNS

Similar to Introduction to DNS (20)

Domain name system advanced power point presentation
Domain name system advanced power point presentationDomain name system advanced power point presentation
Domain name system advanced power point presentation
 
ppt.pptx
ppt.pptxppt.pptx
ppt.pptx
 
Domain Name System(ppt)
Domain Name System(ppt)Domain Name System(ppt)
Domain Name System(ppt)
 
Dns
DnsDns
Dns
 
2009 Itc Nslookup Rev01
2009 Itc Nslookup Rev012009 Itc Nslookup Rev01
2009 Itc Nslookup Rev01
 
Design of a campus network
Design of a campus networkDesign of a campus network
Design of a campus network
 
Advanced MongoDB Aggregation Pipelines
Advanced MongoDB Aggregation PipelinesAdvanced MongoDB Aggregation Pipelines
Advanced MongoDB Aggregation Pipelines
 
MongoDB Europe 2016 - Advanced MongoDB Aggregation Pipelines
MongoDB Europe 2016 - Advanced MongoDB Aggregation PipelinesMongoDB Europe 2016 - Advanced MongoDB Aggregation Pipelines
MongoDB Europe 2016 - Advanced MongoDB Aggregation Pipelines
 
Hands-on DNSSEC Deployment
Hands-on DNSSEC DeploymentHands-on DNSSEC Deployment
Hands-on DNSSEC Deployment
 
DNS 101 for Non-Techs
DNS 101 for Non-TechsDNS 101 for Non-Techs
DNS 101 for Non-Techs
 
AWS re:Invent 2016: DNS Demystified: Getting Started with Amazon Route 53, fe...
AWS re:Invent 2016: DNS Demystified: Getting Started with Amazon Route 53, fe...AWS re:Invent 2016: DNS Demystified: Getting Started with Amazon Route 53, fe...
AWS re:Invent 2016: DNS Demystified: Getting Started with Amazon Route 53, fe...
 
Introduction
IntroductionIntroduction
Introduction
 
Curso: Redes y comunicaciones I: 07 Redes
Curso: Redes y comunicaciones I: 07 RedesCurso: Redes y comunicaciones I: 07 Redes
Curso: Redes y comunicaciones I: 07 Redes
 
Active directory dns
Active directory dnsActive directory dns
Active directory dns
 
Beyond Logging: Using MongoDB to Power a Private Social Network (Oh, and log ...
Beyond Logging: Using MongoDB to Power a Private Social Network (Oh, and log ...Beyond Logging: Using MongoDB to Power a Private Social Network (Oh, and log ...
Beyond Logging: Using MongoDB to Power a Private Social Network (Oh, and log ...
 
Domain Name Service
Domain Name ServiceDomain Name Service
Domain Name Service
 
DNS resolution
DNS resolutionDNS resolution
DNS resolution
 
Domainnamesystem
DomainnamesystemDomainnamesystem
Domainnamesystem
 
DNSSEC Tutorial, by Champika Wijayatunga [APNIC 38]
DNSSEC Tutorial, by Champika Wijayatunga [APNIC 38]DNSSEC Tutorial, by Champika Wijayatunga [APNIC 38]
DNSSEC Tutorial, by Champika Wijayatunga [APNIC 38]
 
DNS
DNSDNS
DNS
 

More from Jonathan Oxer

OSDcLang On Mobile Devices
OSDcLang On Mobile DevicesOSDcLang On Mobile Devices
OSDcLang On Mobile Devices
Jonathan Oxer
 
Geek My Ride
Geek My RideGeek My Ride
Geek My Ride
Jonathan Oxer
 
Debian Package Caching Solutions
Debian Package Caching SolutionsDebian Package Caching Solutions
Debian Package Caching Solutions
Jonathan Oxer
 
Software Freedom: Pragmatic Idealism?
Software Freedom: Pragmatic Idealism?Software Freedom: Pragmatic Idealism?
Software Freedom: Pragmatic Idealism?
Jonathan Oxer
 
Encrypted password storage
Encrypted password storageEncrypted password storage
Encrypted password storage
Jonathan Oxer
 
How to grow your eBusiness and build an online community
How to grow your eBusiness and build an online communityHow to grow your eBusiness and build an online community
How to grow your eBusiness and build an online community
Jonathan Oxer
 
Self-Healing Databases
Self-Healing DatabasesSelf-Healing Databases
Self-Healing Databases
Jonathan Oxer
 
How To Build A Website And Stay Sane
How To Build A Website And Stay SaneHow To Build A Website And Stay Sane
How To Build A Website And Stay Sane
Jonathan Oxer
 
Managing Source Code With Subversion
Managing Source Code With SubversionManaging Source Code With Subversion
Managing Source Code With Subversion
Jonathan Oxer
 
Large Scale PHP
Large Scale PHPLarge Scale PHP
Large Scale PHP
Jonathan Oxer
 
PHP On Steroids
PHP On SteroidsPHP On Steroids
PHP On Steroids
Jonathan Oxer
 
PHP Performance Profiling
PHP Performance ProfilingPHP Performance Profiling
PHP Performance Profiling
Jonathan Oxer
 
Compiling kernels the Debian way
Compiling kernels the Debian wayCompiling kernels the Debian way
Compiling kernels the Debian way
Jonathan Oxer
 

More from Jonathan Oxer (13)

OSDcLang On Mobile Devices
OSDcLang On Mobile DevicesOSDcLang On Mobile Devices
OSDcLang On Mobile Devices
 
Geek My Ride
Geek My RideGeek My Ride
Geek My Ride
 
Debian Package Caching Solutions
Debian Package Caching SolutionsDebian Package Caching Solutions
Debian Package Caching Solutions
 
Software Freedom: Pragmatic Idealism?
Software Freedom: Pragmatic Idealism?Software Freedom: Pragmatic Idealism?
Software Freedom: Pragmatic Idealism?
 
Encrypted password storage
Encrypted password storageEncrypted password storage
Encrypted password storage
 
How to grow your eBusiness and build an online community
How to grow your eBusiness and build an online communityHow to grow your eBusiness and build an online community
How to grow your eBusiness and build an online community
 
Self-Healing Databases
Self-Healing DatabasesSelf-Healing Databases
Self-Healing Databases
 
How To Build A Website And Stay Sane
How To Build A Website And Stay SaneHow To Build A Website And Stay Sane
How To Build A Website And Stay Sane
 
Managing Source Code With Subversion
Managing Source Code With SubversionManaging Source Code With Subversion
Managing Source Code With Subversion
 
Large Scale PHP
Large Scale PHPLarge Scale PHP
Large Scale PHP
 
PHP On Steroids
PHP On SteroidsPHP On Steroids
PHP On Steroids
 
PHP Performance Profiling
PHP Performance ProfilingPHP Performance Profiling
PHP Performance Profiling
 
Compiling kernels the Debian way
Compiling kernels the Debian wayCompiling kernels the Debian way
Compiling kernels the Debian way
 

Recently uploaded

JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 

Recently uploaded (20)

JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 

Introduction to DNS

  • 1. Introduction To DNS everything you never wanted to know about IP directory services Linux Users Victoria, April 3 rd 2007 Jonathan Oxer <jon@ivt.com.au>
  • 2. what is the domain name system anyway? Introduction To DNS Jonathan Oxer < [email_address] >
  • 3. it's like a phone book ...kinda Introduction To DNS Jonathan Oxer < [email_address] >
  • 4. DNS is (1) a directory service Introduction To DNS Jonathan Oxer < [email_address] >
  • 5. DNS is (2) an identity mechanism Introduction To DNS Jonathan Oxer < [email_address] >
  • 6. DNS is (3) a namespace structure Introduction To DNS Jonathan Oxer < [email_address] >
  • 7. DNS is (4) an abstraction layer Introduction To DNS Jonathan Oxer < [email_address] >
  • 8. think of the phone book... Introduction To DNS Jonathan Oxer < [email_address] >
  • 9. maps hostnames to IP addresses Introduction To DNS Jonathan Oxer < [email_address] >
  • 10. maps jon.oxer.com.au to 221.133.213.151 Introduction To DNS Jonathan Oxer < [email_address] >
  • 11. forward vs reverse Introduction To DNS Jonathan Oxer < [email_address] >
  • 12. maps jon.oxer.com.au to 221.133.213.151 Introduction To DNS Jonathan Oxer < [email_address] >
  • 13. maps 221.133.213.151 to jon.oxer.com.au Introduction To DNS Jonathan Oxer < [email_address] >
  • 14. simple beginnings: hosts.txt Introduction To DNS Jonathan Oxer < [email_address] >
  • 15. ...but phone books Introduction To DNS Jonathan Oxer < [email_address] >
  • 16. ...but phone books don't Introduction To DNS Jonathan Oxer < [email_address] >
  • 17. ...but phone books don't Introduction To DNS Jonathan Oxer < [email_address] > scale
  • 18. so modern DNS is managed like a distributed phone book Introduction To DNS Jonathan Oxer < [email_address] >
  • 19. DNS is (5) delegation of authority Introduction To DNS Jonathan Oxer < [email_address] >
  • 20. a “zone” defines an area of authority Introduction To DNS Jonathan Oxer < [email_address] >
  • 21. think of it as an inverted tree Introduction To DNS Jonathan Oxer < [email_address] >
  • 22. Introduction To DNS Jonathan Oxer < [email_address] >
  • 23. anatomy of a host name Introduction To DNS Jonathan Oxer < [email_address] >
  • 24. (a host name is a record inside a domain name) Introduction To DNS Jonathan Oxer < [email_address] >
  • 25. read right to left: jon.oxer.com.au. Introduction To DNS Jonathan Oxer < [email_address] >
  • 26. yes, it really ends in a dot! Introduction To DNS Jonathan Oxer < [email_address] >
  • 27. root zone: jon.oxer.com.au . Introduction To DNS Jonathan Oxer < [email_address] >
  • 28. top level domain: jon.oxer.com .au . Introduction To DNS Jonathan Oxer < [email_address] >
  • 29. 2nd level zone: jon.oxer .com .au. Introduction To DNS Jonathan Oxer < [email_address] >
  • 30. 3rd level zone: jon .oxer .com.au. Introduction To DNS Jonathan Oxer < [email_address] >
  • 31. host name: jon .oxer.com.au. Introduction To DNS Jonathan Oxer < [email_address] >
  • 32. back to that dot: jon.oxer.com.au . Introduction To DNS Jonathan Oxer < [email_address] >
  • 33. “ ICANN's 13” : the A to M root servers Introduction To DNS Jonathan Oxer < [email_address] >
  • 34. root.hints Introduction To DNS Jonathan Oxer < [email_address] >
  • 35. “ There can be only 13” Introduction To DNS Jonathan Oxer < [email_address] >
  • 36. (UDP packets limited to 512B) Introduction To DNS Jonathan Oxer < [email_address] >
  • 37. A response with more than 13 entries > 512B Introduction To DNS Jonathan Oxer < [email_address] >
  • 38. root servers replicated globally using anycast Introduction To DNS Jonathan Oxer < [email_address] >
  • 39. Introduction To DNS Jonathan Oxer < [email_address] >
  • 40. root servers delegate ccTLDs, gTLDs, and iTLDs Introduction To DNS Jonathan Oxer < [email_address] >
  • 41. so what is this “ delegation” of which you speak? Introduction To DNS Jonathan Oxer < [email_address] >
  • 42. registries, registrars, resellers, registrants, InterNIC, ICANN, OpenSRS, oh my! Introduction To DNS Jonathan Oxer < [email_address] >
  • 43. Introduction To DNS Jonathan Oxer < [email_address] >
  • 44. ICANN controls the registries Introduction To DNS Jonathan Oxer < [email_address] >
  • 45. registries control the registrars Introduction To DNS Jonathan Oxer < [email_address] >
  • 46. registrars control delegations Introduction To DNS Jonathan Oxer < [email_address] >
  • 47. domain allocation policies Introduction To DNS Jonathan Oxer < [email_address] >
  • 48. own or lease? Introduction To DNS Jonathan Oxer < [email_address] >
  • 49. trademarks and disputes Introduction To DNS Jonathan Oxer < [email_address] >
  • 50. Introduction To DNS Jonathan Oxer < [email_address] >
  • 51. alt roots (alternative DNS roots) Introduction To DNS Jonathan Oxer < [email_address] >
  • 52. DNS works because we agree to let it work Introduction To DNS Jonathan Oxer < [email_address] >
  • 53. alt roots are just alternative agreements Introduction To DNS Jonathan Oxer < [email_address] >
  • 54. Introduction To DNS Jonathan Oxer < [email_address] >
  • 55. critical concept alert! Introduction To DNS Jonathan Oxer < [email_address] >
  • 56. authoritative vs recursive servers Introduction To DNS Jonathan Oxer < [email_address] >
  • 57. authoritative servers answer questions about zones they own Introduction To DNS Jonathan Oxer < [email_address] >
  • 58. recursive resolvers query other servers on your behalf Introduction To DNS Jonathan Oxer < [email_address] >
  • 59. recursive lookups require multiple queries Introduction To DNS Jonathan Oxer < [email_address] >
  • 60. Introduction To DNS Jonathan Oxer < [email_address] >
  • 61.  
  • 62.  
  • 63.  
  • 64.  
  • 65.  
  • 66.  
  • 67.  
  • 68.  
  • 69.  
  • 70.  
  • 71.  
  • 72. caching good! Introduction To DNS Jonathan Oxer < [email_address] >
  • 73. caching bad! Introduction To DNS Jonathan Oxer < [email_address] >
  • 74. beware the cache Introduction To DNS Jonathan Oxer < [email_address] >
  • 75. caching: in the recursive DNS resolver Introduction To DNS Jonathan Oxer < [email_address] >
  • 76. (Big Pond bad! Bad, I say!) Introduction To DNS Jonathan Oxer < [email_address] >
  • 77. caching: in your OSs resolver library Introduction To DNS Jonathan Oxer < [email_address] >
  • 78. caching: directly inside applications Introduction To DNS Jonathan Oxer < [email_address] >
  • 79. (IE very bad too!) Introduction To DNS Jonathan Oxer < [email_address] >
  • 80. internationalisation Introduction To DNS Jonathan Oxer < [email_address] >
  • 81. anatomy of a zone[file] Introduction To DNS Jonathan Oxer < [email_address] >
  • 82. ; zone file for example.com. $TTL 2d ; 172800 TTL @ IN SOA ns1.example.com. hostmaster.example.com. ( 2007040304 ; serial 12h ; refresh 15m ; retry 3w ; expiry 3h ; minimum ) IN NS ns1.myprovider.com. IN NS ns1.example.com. IN MX 10 mail.example.net. homer IN A 192.168.254.3 marge IN A 192.168.12.15 www IN CNAME homer vpn IN CNAME marge Introduction To DNS Jonathan Oxer < [email_address] >
  • 83. types of DNS records Introduction To DNS Jonathan Oxer < [email_address] >
  • 84. “ A” (address) links names and IPv4 addresses Introduction To DNS Jonathan Oxer < [email_address] >
  • 85. “ AAAA” (address) links names and IPv6 addresses Introduction To DNS Jonathan Oxer < [email_address] >
  • 86. “ CNAME” (canonical name) aliases names to other names Introduction To DNS Jonathan Oxer < [email_address] >
  • 87. “ MX” (mail exchange) name of machine for mail delivery Introduction To DNS Jonathan Oxer < [email_address] >
  • 88. “ NS” (name server) name of DNS server for a zone Introduction To DNS Jonathan Oxer < [email_address] >
  • 89. “ TXT” (text) arbitrary text string Introduction To DNS Jonathan Oxer < [email_address] >
  • 90. “ NAPTR” (naming auth pointer) fun with regex Introduction To DNS Jonathan Oxer < [email_address] >
  • 91. “ SOA” (start of authority) controls inter-server data synchronisation Introduction To DNS Jonathan Oxer < [email_address] >
  • 92. SOA (Start Of Authority) Introduction To DNS Jonathan Oxer < [email_address] >
  • 93. SOA sets TTL (Time To Live) Introduction To DNS Jonathan Oxer < [email_address] >
  • 94. TTL says how long data may be cached Introduction To DNS Jonathan Oxer < [email_address] >
  • 95. SOA parameters Serial : identifies version of SOA Introduction To DNS Jonathan Oxer < [email_address] >
  • 96. SOA parameters Refresh : seconds between updates Introduction To DNS Jonathan Oxer < [email_address] >
  • 97. SOA parameters Retry : seconds to wait after failure Introduction To DNS Jonathan Oxer < [email_address] >
  • 98. SOA parameters Expire : seconds before data flushed Introduction To DNS Jonathan Oxer < [email_address] >
  • 99. SOA parameters Minimum : used now for negative caching Introduction To DNS Jonathan Oxer < [email_address] >
  • 100. circular dependencies: self-delegation Introduction To DNS Jonathan Oxer < [email_address] >
  • 101. the solution: glue records Introduction To DNS Jonathan Oxer < [email_address] >
  • 102. breaking your brain: reverse DNS Introduction To DNS Jonathan Oxer < [email_address] >
  • 103. Let's look up 1.2.3.4! Introduction To DNS Jonathan Oxer < [email_address] >
  • 104. 4.3.2.1.in-addr.arpa. Introduction To DNS Jonathan Oxer < [email_address] >
  • 105. security Introduction To DNS Jonathan Oxer < [email_address] >
  • 106. DNS cache poisoning Introduction To DNS Jonathan Oxer < [email_address] >
  • 107. Introduction To DNS Jonathan Oxer < [email_address] >
  • 108. Practical example: Dr Evil wants to take over “ www.bigbank.com” Introduction To DNS Jonathan Oxer < [email_address] >
  • 109. Dr Evil attack vector #1 redirecting the target domain's nameserver Introduction To DNS Jonathan Oxer < [email_address] >
  • 110. (1) Dr Evil creates a sub-zone of a zone he controls, such as “ bigbank.dr-evil.com” Introduction To DNS Jonathan Oxer < [email_address] >
  • 111. (2) Dr Evil delegates his evil zone to “ www.bigbank.com” Introduction To DNS Jonathan Oxer < [email_address] >
  • 112. (3) Dr Evil configures his DNS server to return the wrong IP address for “www.bigbank.com” Introduction To DNS Jonathan Oxer < [email_address] >
  • 113. (4) Dr Evil issues a DNS lookup for “ bigbank.dr-evil.com” to your DNS resolver Introduction To DNS Jonathan Oxer < [email_address] >
  • 114. (5) Your DNS server caches the evil IP and uses it for future requests for “ www.bigbank.com” Introduction To DNS Jonathan Oxer < [email_address] >
  • 115. what happened? request: bigbank.dr-evil.com. IN A response: Answer: (no response) Authority section: bigbank.dr-evil.com. 3600 IN NS www.bigbank.com. Additional section: www.bigbank.com. IN A 1.2.3.4 Introduction To DNS Jonathan Oxer < [email_address] >
  • 116. what happened? request: bigbank.dr-evil.com. IN A response: Answer: (no response) Authority section: bigbank.dr-evil.com. 3600 IN NS www.bigbank.com. Additional section: www.bigbank.com. IN A 1.2.3.4 Introduction To DNS Jonathan Oxer < [email_address] >
  • 117. what happened? request: bigbank.dr-evil.com. IN A response: Answer: (no response) Authority section: bigbank.dr-evil.com. 3600 IN NS www.bigbank.com. Additional section: www.bigbank.com. IN A 1.2.3.4 Introduction To DNS Jonathan Oxer < [email_address] >
  • 118. what happened? request: bigbank.dr-evil.com. IN A response: Answer: (no response) Authority section: bigbank.dr-evil.com. 3600 IN NS www.bigbank.com. Additional section: www.bigbank.com. IN A 1.2.3.4 Introduction To DNS Jonathan Oxer < [email_address] >
  • 119. Introduction To DNS Jonathan Oxer < [email_address] >
  • 120. Dr Evil attack vector #2 redirect the NS record of the target domain Introduction To DNS Jonathan Oxer < [email_address] >
  • 121. compare this with... request: bigbank.dr-evil.com. IN A response: Answer: (no response) Authority section: bigbank.dr-evil.com. 3600 IN NS www.bigbank.com. Additional section: www.bigbank.com. IN A 1.2.3.4 Introduction To DNS Jonathan Oxer < [email_address] >
  • 122. ...alternative attack request: bigbank.dr-evil.com. IN A response: Answer: (no response) Authority section: bigbank.com. 3600 IN NS ns.dr-evil.com. Additional section: ns.dr-evil.com. IN A 1.2.3.4 Introduction To DNS Jonathan Oxer < [email_address] >
  • 123. Dr Evil attack vector #3 DNS forgery: respond before the real nameserver Introduction To DNS Jonathan Oxer < [email_address] >
  • 124. not as easy as it sounds! Introduction To DNS Jonathan Oxer < [email_address] >
  • 125. do a “ birthday attack” against the nonce value Introduction To DNS Jonathan Oxer < [email_address] >
  • 126. Introduction To DNS Jonathan Oxer < [email_address] > Start with the Taylor series approximation to the probability of a “nonce” value collision where “n” is the number of attempts and “H” is the number of unique outputs: Invert the expression: Now assigning a 0.5 probability of collision: So it's obvious that for a 16 bit hash there are 65536 outputs, ie: only 301 attempts are required to generate a collision by brute force!
  • 127. Introduction To DNS Jonathan Oxer < [email_address] > Start with the Taylor series approximation to the probability of a “nonce” value collision where “n” is the number of attempts and “H” is the number of unique outputs: Invert the expression: Now assigning a 0.5 probability of collision: So it's obvious that for a 16 bit hash there are 65536 outputs, ie: only 301 attempts are required to generate a collision by brute force!
  • 128. Introduction To DNS Jonathan Oxer < [email_address] > Start with the Taylor series approximation to the probability of a “nonce” value collision where “n” is the number of attempts and “H” is the number of unique outputs: Invert the expression: Now assigning a 0.5 probability of collision: So it's obvious that for a 16 bit hash there are 65536 outputs, ie: only 301 attempts are required to generate a collision by brute force!
  • 129. 301 attempts against 2 x16 hash Introduction To DNS Jonathan Oxer < [email_address] >
  • 130. secure zone transfers Introduction To DNS Jonathan Oxer < [email_address] >
  • 131. (mis?)using DNS Introduction To DNS Jonathan Oxer < [email_address] >
  • 132. TCP-over-DNS Introduction To DNS Jonathan Oxer < [email_address] >
  • 133. dynamic DNS Introduction To DNS Jonathan Oxer < [email_address] >
  • 134. SPF Introduction To DNS Jonathan Oxer < [email_address] >
  • 135. useful tools nslookup Introduction To DNS Jonathan Oxer < [email_address] >
  • 136. useful tools nslookup Introduction To DNS Jonathan Oxer < [email_address] >
  • 137. useful tools whois Introduction To DNS Jonathan Oxer < [email_address] >
  • 138. useful tools dig Introduction To DNS Jonathan Oxer < [email_address] >
  • 139. DNS server software Introduction To DNS Jonathan Oxer < [email_address] >
  • 140. authoritative and recursive: BIND, MaraDNS Introduction To DNS Jonathan Oxer < [email_address] >
  • 141. authoritative: MyDNS, tinydns Introduction To DNS Jonathan Oxer < [email_address] >
  • 142. recursive: dnscache Introduction To DNS Jonathan Oxer < [email_address] >
  • 143. master vs slave Introduction To DNS Jonathan Oxer < [email_address] >
  • 144. firewall issues port 53 UDP and TCP Introduction To DNS Jonathan Oxer < [email_address] >
  • 145. Introduction To DNS Jonathan Oxer < [email_address] >
  • 146. Introduction to DNS Thankyou :-) questions? Slid es: jon.oxer.com.au/talks Contact: Jonathan Oxer < [email_address] > We're hiring! www.ivt.com.au/jobs