DETAILED OUTLINE
Day 1: DNS refreshers - Debugging - Architecture
------------------------------------------------
S1: * Intro
* Presentation of participants, and workshop overview
* Presentation: Quick overview on DNS protocol and architecture
- terminology (parent, child, zone, domain, apex,
delegation, recursive, authoritative, SOA, ...)
- SOA mechanism: values, notify, negative ttl
- Reverse DNS
- Glue records
- RFC2317
- Common misconceptions about primary/secondary, etc...
* Lab requirements:
- zones to dig/test scenarios below
- firewall rules to block / limit
S2:
* Lab 1: Introduction to the environment
1. First login to the system
2. Explore, use commands
* Q&A session on DNS
* Lab 2: Using dig
1. Using dig to explore
- walking through DNS delegations
2. The basic dig options
-x, +short, ...
3. Flags, and their meaning
- DNS flags (AA, RA, RD, ...)
4. dig to find network/filter problems
5. Caching effects, negative ttl
- cached records
6. Following a delegation
7. Glue records
What happens when they are not there ?
- dig with/without
S3:
* Lab 3: More hands on using dig, doc, wireshark
1. using 'dig' to debug delegation problems by hand
2. Non matching delegations between parent and child:
a b a b a b a b c
a b b c a b c a b
3. Circular dependencies a <-> b
4. Advanced dig options
- options: +norec, +trace, +edns=0, +bufsize=, +dnssec
- flags: AA, RD, RA, DF, DO/AD,
- issues: packet size/replies, TCP/UDP, DF bit
5. Delegation testing with doc
* Lab 4: Query/response analysis, protocol, format
- getting more details: using tcpdump/tshark/wireshark
to decode and analyze DNS traffic
- explain how to access VNC server and run wireshark
- packet capture on a recursive query (c -> S -> {internet})
- detail packet format
- analysis on screen
- illustrate query id, flags & bits
- EDNS0
* Lab 5: basic DNS statistics with dnstop
S4:
* Presentation: Reliable Architecture design
- Service vs server separation
- Separation of authoritative and recursive
- Historical reasons for running auth + recursive
- What happens when recursive and auth are not separated
- Software and topological diversity (different SW, different AS)
- Setup distinct recursive and authoritative NSes
* Lab 5: Service separation
1. Start with BIND and recursive + auth enabled
2. Sample zone gets moved/deleted
3. Clients of the recursive + auth for obsolete zone are misled
4. See discrepancy in results
5. How to determine that data is wrong ?
- dig parent
- test delegations
DISCUSSION TOPICS:
- GSLB, Load Balancing in general
- Databases and DNS
Day 2: DNS Software, Sizing/configuration, Anycast
--------------------------------------------------
S1:
* Presentation: Software platforms - BIND, NSD, Unbound
- Background
- Use cases
- Discussions
* Lab 6: Software configuration
1. Configuring BIND on server 1
2. Configuring NSD on server 2
3. Configuring Unbound on server 3
4. Make hosts + laptop and S1 + S2 user S3 as recurser
5. Setup primary zone on BIND
6. Setup NSD as secondary (AXFR, no TSIG yet)
S2:
* Presentation: Configuration & tuning
- Sizing and deploying a DNS server
- Platform, OS, tuning for load
- DOs and DON'Ts - best practices config, deployment
- When to use/not use forwarders / stubs
- Operational aspect - RFC2870
- Common errors - RFC1912
- Benchmarking tools - dnsperf, namebench
- Not so well-known options
- Platform specific:
- BIND configuration
- configuration structure
- rndc, use of keys
- options: fetch-glue, recursion, max-clients, etc...
- Unbound configuraiton
- configuration structure
- options: pre-expire re-fetch, etc...
- NSD configuration
- Tuning for a particular use case
S3:
* Presentation: Anycasting for robustness and performance
- Anycast demo using OSPF, quagga, IOS
- Application: AS112, root servers, site-wide recursers
* Lab 7: Anycasting
- anycast a /32 across all participants using ospfd|quagga +
virtual router and show route withdrawal and service continuity
- participate in the class-wide anycast cloud
Day 3: Logging & Monitoring, DNS Security
-----------------------------------------
S1:
* Presentations: Log management & monitoring
- Why logging ?
- Proper timekeeping
- Log management / aggregation
- Log monitoring with SWATCH/SEC
- Service monitoring with Nagios / SmokePing
* Lab 8: Log management & service monitoring
1. syslog aggregation (syslog.conf to master host)
- install syslog-ng
- configure syslog to master host
- SEC/swatch on logs
2. Service monitoring
- Monitoring response time with SmokePing + DNS
- DNS service availability with Nagios (check_dns)
3. Write plugins:
- check SOA sync between secondaries
- verify delegations against reality
http://www.andyd.net/2006/monitoring-soa-drift-with-nagios/
http://www.andyd.net/media/check-dns-soamatch.pl.txt
For all installations:
4. RNDC & SNMP
- Instrumentation of nameservers using SNMP
- rndc and remote control
5. DSC Demo ?
S3 - S4:
* Presentation: DNS security (CV)
- DNS areas of vulnerability
- Secure zone transfers (AXFR) and TSIG configuration
- Secure dynamic updates
- MITM attacks, cache poisoning (impersonation)
- ACLs & views
- Running securely: chroot jails
- Monitoring of unauthorized AXFR attempts
- DNS cache poisoning, and the rationale for DNSsec
* Lab 9: DNS security
1. Securing AXFR using IP access-lists
2. TSIG config to limit transfer to authorized hosts (key)
3. Using swatch to monitor AXFR attempts
4. illustrating jails
5. dynamic updates, using & securing
6. dns + filters hands-on with dig
7. DNS blackbox: query recording using tcpdump / wireshark in a loop
Day 4: DNS and the network, DNSSEC
----------------------------------
S1:
* Presentation: DNS and IPv6
- IPv6 service
- IPv6 Resource Records, and impact on clients
* Lab 10: IPv6
- creating IPv6 resource records
- service DNS traffic over v6, testing resolution
S2:
* Presentation: DNS & Firewalls
- DNS and filtering (TCP, UDP, size)
- Why UDP 512
- truncation, fragmentation problems
- Packet size limitations and EDNS0
S3 - S4:
* Presentation: Introduction to DNSSEC
...
Day 5: DNSSEC Hands-on
----------------------
S1:
* Tutorial: DNSSEC hands-on
- signing toolkits
- BIND 9.7+, OpenDNSSEC
S2:
* Lab 11: Zone signing
...
* Lab 12: Automation using OpenDNSSEC
...
S3:
* Presentation: IDN
- protocol / encoding
- operational impact
- IDN demo and how DNS deals with it
- using dig with IDN
* Lab 13: Deploy IDN
1. Deploy IDN zones
2. Test with browser
- IDN2 overview
- Protocols, encoding
S4: - Open (Q&A, Evaluation)
Last modified 8 years ago
Last modified on Feb 7, 2011, 5:06:29 PM
