Dec 311998
DNS – restricting zone transfers
When you provide DNS, you are giving out a lot of information. It can give a hacker a great deal of information. Just by using a simple tool like nslookup, you can accomplish a zone transfer. To restrict your zone transfers to specified IP addresses, use the boot file directive xfrnets.For BIND 4
The following is an extract from man named:The ``xfrnets'' directive (not shown) can be used to implement primitive access control. If this directive is given, then your name server will only answer zone trans- fer requests from hosts which are on networks listed in your ``xfrnets'' directives. This directive may also be given as ``tcplist'' for compatibility with older, interim servers.
Here’s what I added to my /etc/named.boot file (well, I used a different IP address):
xfrnets 11.22.33.44&255.255.255.255
This states that zone transfers can be accepted from 11.22.33.44.
Points to note:
- You can include more than one IP adddress per line, separated by white space.
- You can have more than one xfrnets directive per file.
- Don’t put any white space between the IP address and the mask
For BIND8
Under BIND 8, you should use something like this:options { allow-transfer {209.222.164.2;203.32.61.10;}; }
Or you can restrict certain zones to certain addresses:
zone "yourdomain.com" { type master; file "db.yourdomain"; allow-transfer {11.22.33.44; }; }
In both cases, multiple IP addresses can be added each ending with a semi-colon (‘;’). An adress range can be specified using the "192.168/16" type of format. The "/16" is a netmask and would allow any zone transfers from the 192.168.0.0 network.