Information
In an enterprise network, devices under administrative control are trusted sources. These devices include the switches, routers, and servers in the network. Host (i.e., access) interfaces and unknown DHCP servers are considered untrusted sources. An unknown DHCP server on the network on an untrusted interface is called a spurious DHCP server, any device (PC, Wireless Access Point) that is loaded with DHCP server enabled. The DHCP snooping feature determines whether traffic sources are trusted or untrusted. The potential exists for a spurious DHCP server to respond to DHCPDISCOVER messages before the real server has time to respond. DHCP snooping allows switches on the network to trust the interface a DHCP server is connected to and not trust the other interfaces.
The DHCP snooping feature validates DHCP messages received from untrusted sources, filters out invalid messages, and rate-limits DHCP traffic from trusted and untrusted sources. The DHCP snooping feature builds and maintains a binding database, which contains information about untrusted hosts with leased IP addresses, and it uses the database to validate subsequent requests from untrusted hosts. Other security features, such as IP Source Guard and Dynamic Address Resolution Protocol (ARP) Inspection (DAI), also use information stored in the DHCP snooping binding database. Hence, it is imperative that the DHCP snooping feature is enabled on all user-facing or untrusted VLANs with active access interfaces.
NOTE: Nessus has provided the target output to assist in reviewing the benchmark to ensure target compliance.
Solution
Configure the switch with DHCP snooping for all user-facing or untrusted VLANs with active access interfaces to validate DHCP messages from untrusted sources.
1. Enter configuration mode.
2. Configure user-facing or untrusted VLANs with active access interfaces with DHCP snooping.
3. Commit the configuration.
user@host> configure
Entering configuration mode
user@host# set vlans <untrusted VLAN name> vlan-id <untrusted VLAN ID>
user@host# set vlans <untrusted VLAN name> forwarding-options dhcp-security
user@host# commit
commit complete