BIND-9X-001055 - A BIND 9.x server implementation must prohibit recursion on authoritative name servers - allow-recursion

Information

A potential vulnerability of DNS is that an attacker can poison a name server's cache by sending queries that will cause the server to obtain host-to-IP address mappings from bogus name servers that respond with incorrect information. Once a name server has been poisoned, legitimate clients may be directed to non-existent hosts (which constitutes a denial of service), or, worse, hosts that masquerade as legitimate ones to obtain sensitive data or passwords.

To guard against poisoning, name servers authoritative for .mil domains should be separated functionally from name servers that resolve queries on behalf of internal clients. Organizations may achieve this separation by dedicating machines to each function or, if possible, by running two instances of the name server software on the same machine: one for the authoritative function and the other for the resolving function. In this design, each name server process may be bound to a different IP address or network interface to implement the required segregation.

DNSSEC ensures that the answer received when querying for name resolution actually comes from a trusted name server. Since DNSSEC is still far from being globally deployed external to DoD, and many resolvers either have not been updated or do not support DNSSEC, maintaining cached zone data separate from authoritative zone data mitigates the gap until all DNS data is validated with DNSSEC.

Since DNS forwarding of queries can be accomplished in some DNS applications without caching locally, DNS forwarding is the method to be used when providing external DNS resolution to internal clients.

Satisfies: SRG-APP-000246-DNS-000035, SRG-APP-000383-DNS-000047

Solution

Configure the authoritative name server to prohibit recursion.

Edit the 'named.conf' file and add the following sub statements to the options statement:

recursion no;
allow-recursion {none;};
allow-query { none };

Configure each zone to limit queries to authorized hosts:

Edit the 'named.conf' file and add the following sub statement to each zone definition:

allow-query { address_match_list; };

Restart the BIND 9.x process

See Also

https://dl.dod.cyber.mil/wp-content/uploads/stigs/zip/U_BIND_9-x_V2R2_STIG.zip

Item Details

Category: CONFIGURATION MANAGEMENT, SYSTEM AND COMMUNICATIONS PROTECTION

References: 800-53|CM-6b., 800-53|SC-5(1), CAT|II, CCI|CCI-000366, CCI|CCI-001094, Rule-ID|SV-207554r612253_rule, STIG-ID|BIND-9X-001055, STIG-Legacy|SV-87031, STIG-Legacy|V-72407, Vuln-ID|V-207554

Plugin: Unix

Control ID: 5a6ae14252529af41c06ee870d94b469c8fdc24f997084212d894ac398b89027