ARP Inspection
Dynamic Address Resolution Protocol (ARP) is a TCP/IP protocol for translating IP addresses into MAC addresses.
ARP Cache Poisoning
A malicious user can attack hosts, switches, and routers connected to a Layer 2 network by poisoning the ARP caches of systems connected to the subnet and by intercepting traffic intended for other hosts on the subnet. This situation can happen because ARP allows a gratuitous reply from a host even if an ARP request was not received. After the attack, all traffic from the device under attack flows through the attacker's computer and then to the router, switch, or host.
How ARP Inspection Prevents Cache Poisoning
The ARP inspection feature relates to interfaces as either trusted or untrusted (see Security > ARP Inspection > Interface Settings page). Interfaces are classified by the user as follows:
-
Trusted—Packets are not inspected.
-
Untrusted—Packets are inspected as described below.
ARP inspection is performed only on untrusted interfaces. ARP packets that are received on the trusted interface are simply forwarded.
Upon packet arrival on untrusted interfaces the following logic is implemented:
-
Search the ARP access control rules for the packet's IP/MAC addresses. If the IP address is found and the MAC address in the list matches the packet's MAC address, then the packet is valid
-
If the packet's IP address was not found, and DHCP Snooping is enabled for the packet’s VLAN, search the DHCP Snooping Binding database for the packet's <VLAN - IP address> pair. If the <VLAN - IP address> pair was found, and the MAC address and the interface in the database match the packet's MAC address and ingress interface, the packet is valid.
-
If the packet's IP address was not found in the ARP access control rules or in the DHCP Snooping Binding database the packet is invalid and is dropped. A SYSLOG message is generated.
-
If a packet is valid, it is forwarded and the ARP cache is updated.
If the ARP Packet Validation option is selected (on the Properties page), the following additional validation checks are performed:
-
Source MAC Address—Compares the packet’s source MAC address in the Ethernet header against the sender’s MAC address in the ARP request. This check is performed on both ARP requests and responses.
-
Destination MAC Address—Compares the packet’s destination MAC address. This check is performed for ARP responses.
-
IP Address—Compares the ARP body for invalid and unexpected IP addresses. Addresses include 0.0.0.0, 255.255.255.255, and all IP Multicast addresses.
Packets with invalid ARP Inspection bindings are logged and dropped.
Interaction Between ARP Inspection and DHCP Snooping
If DHCP Snooping is enabled, ARP Inspection uses the DHCP Snooping Binding database in addition to the ARP access control rules. If DHCP Snooping is not enabled, only the ARP access control rules are used.
Option |
Default State |
---|---|
Dynamic ARP Inspection |
Disabled |
ARP Packet Validation |
Disabled |
ARP Inspection Enabled on VLAN |
Disabled |
Log Buffer Interval |
SYSLOG message generation for dropped packets is enabled at 10 seconds interval. |