Amazon.co.uk Review
The fourth edition is mainly an update: The authors have added coverage of incremental and conditional zone transfer with BIND's new NOTIFY features, as well as of Transaction Signatures (TSIG) and DNS Security Extensions (DNSSEC). Sections on firewalling and DNS for IPv6 addresses have been expanded, and Albitz and Liu maintain their impeccable style that combines text and illustrative listings into an educational whole throughout. --David Wall
Topics covered: The Domain Name System (DNS) and how it's implemented by BIND (through versions 8.2.3 and 9.1.0), how to set up BIND, how to configure MX records for mail service, parent and child domains, NOTIFY, and DNS security. --This text refers to an out of print or unavailable edition of this title.
Amazon.co.uk Review
This book's early chapters give a view of DNS from high altitude, explaining basic concepts such as domains, name servers and name resolution. From there, the authors proceed on a more practical tack, presenting specific instructions for setting up your own domain and DNS server using BIND. The authors then tell you what to do as your domain grows and you need to add more machines, subdomains, and greater throughput capacity. They also talk a lot about nslookup and C programming with the various DNS and BIND libraries. Administrators will find the chapter on BIND debugging output particularly helpful. Here, the authors translate BIND's mysterious error messages and offer specific strategies for fixing and optimising the program. This edition covers BIND 8.1.2, but pays lots of attention to older versions that are still in wide use (4.8.3 and 4.9). The authors are careful to note differences among the versions. --David Wall, Amazon.com
Review
Peter H. Salus, ;login: Dec 2001
Product Description
DNS and BIND discusses one of the Internet's fundamental building blocks: the distributed host information database that's responsible for translating names into addresses, routing mail to its proper destination, and many other services. As the authors write in the preface, if you're using the Internet, you're already using DNS -- even if you don't know it.
The third edition covers BIND 4.9, on which most commercial products are currently based, and BIND 8, which implements many important new features and will be the basis for the next generation of commercial name servers. It also covers topics like DNS security (greatly improved with BIND 8.1), asynchronous notification of changes to a zone, dynamic updates, and programming with Perl's Net::DNS module.
Whether you're an administrator involved with DNS on daily basis, or a user who wants to be more informed about the Internet and how it works, you'll find that this book is essential reading.
Topics include:
- What DNS does, how it works, and when you need to use it
- How to find your own place in the Internet's name space
- Setting up name servers
- Using MX records to route mail
- Configuring hosts to use DNS name servers
- Subdividing domains (parenting)
- Securing your name server: restricting who can query your server, preventing unauthorized zone transfers, avoiding bogus name servers, etc.
- Mapping one name to several servers for load sharing
- Troubleshooting: using nslookup, reading debugging output, common problems
- DNS programming, using the resolver library and Perl's Net::DNS module
From the Publisher
About the Author
Excerpted from DNS and BIND by Paul Albitz, Cricket Lui, Cricket Liu, Mike Loukides, Deborah Russell. Copyright © 2001. Reprinted by permission. All rights reserved.
In this chapter:
TSIG
Securing Your Name Server
DNS and Internet Firewalls
The DNS Security Extensions
"I hope you've got your hair well fastened on?"
he continued, as they set off.
"Only in the usual way," Alice said, smiling.
"That's hardly enough," he said, anxiously.
"You see the wind is so very strong here.
It's as strong as soup."
"Have you invented a plan for keeping the hair from being blown
off?" Alice enquired.
"Not yet," said the Knight. "But I've got a plan
for keeping it from falling off."
Why should you care about DNS security? Why go to the trouble of securing a service that mostly maps names to addresses? Let us tell you a story.(The AlterNIC runs an alternate set of root name servers that delegate to additional top-level domains with names like med and porn.Kashpureff hadn't made any attempt to disguise what he had done; the web site that users reached was plainly the AlterNIC's, not the InterNIC's.Further, imagine your users typing in their credit card numbers and expiration dates. Now you get the idea.
Protecting your users against these kinds of attacks requires DNS security. DNS security comes in several flavors. You can secure transactions--the queries, responses, and other messages your name server sends and receives. You can secure your name server, refusing queries, zone transfer requests, and dynamic updates from unauthorized addresses, for example. You can even secure zone data by digitally signing it.
Since DNS security is one of the most complicated topics in DNS, we'll start you off easy and build up to the hard stuff.
TSIG
BIND 8.2 introduced a new mechanism for securing DNS messages called transaction signatures, or TSIG for short. TSIG uses shared secrets and a one-way hash function to authenticate DNS messages, particularly responses and updates.
TSIG, now codified in RFC 2845, is relatively simple to configure, lightweight for resolvers and name servers to use, and flexible enough to secure DNS messages (including zone transfers) and dynamic updates. (Contrast this with the DNS Security Extensions, which we'll discuss at the end of this chapter.)
With TSIG configured, a name server or updater adds a TSIG record to the additional data section of a DNS message. The TSIG record "signs" the DNS message, proving that the message's sender had a cryptographic key shared with the receiver and that the message wasn't modified after it left the sender.[1]
One-Way Hash Functions
TSIG provides authentication and data integrity through the use of a special type of mathematical formula called a one-way hash function. A one-way hash function, also known as a cryptographic checksum or message digest, computes a fixed-size hash value based on arbitrarily large input. The magic of a one-way hash function is that each bit of the hash value depends on each and every bit of the input. Change a single bit of the input and the hash value changes dramatically and unpredictably--so unpredictably that it's "computationally infeasible" to reverse the function and find an input that produces a given hash value.
TSIG uses a one-way hash function called MD5. In particular, it uses a variant of MD5 called HMAC-MD5. HMAC-MD5 works in a keyed mode in which the 128-bit hash value depends not only on the input, but also on a key.
The TSIG Record
We won't cover the TSIG record's syntax in detail because you don't need to know it: TSIG is a "meta-record" that never appears in zone data and is never cached by a resolver or name server. A signer adds the TSIG record to a DNS message, and the recipient removes and verifies the record before doing anything further, such as caching the data in the message.
You should know, however, that the TSIG record includes a hash value computed over the entire DNS message as well as some additional fields. (When we say "computed over," we mean that the raw, binary DNS message and the additional fields are fed through the HMAC-MD5 algorithm to produce the hash value.) The hash value is keyed with a secret shared between the signer and the verifier. Verifying the hash value proves both that the DNS message was signed by a holder of the shared secret and that it wasn't modified after it was signed.
The additional fields in the TSIG record include the time the DNS message was signed. This helps combat replay attacks, in which a hacker captures a signed, authorized transaction (say a dynamic update deleting an important resource record) and replays it later. The recipient of a signed DNS message checks the time signed to make sure it's within the allowable "fudge" (another field in the TSIG record).
--This text refers to an out of print or unavailable edition of this title.