Configure ARP inspection.
ARP inspection is turned off by default, which means that all ARP packets are allowed through the PIX firewall. You can control the flow of ARP packets by enabling ARP inspection. When you enable ARP inspection, PIX Firewall compares the MAC address, IP address, and source interface in all ARP packets to static entries in the ARP table, and takes the actions as follows:
- a. If the IP address, MAC address, and source interface match an ARP entry, the packet is allowed through.
- b. If there is a mismatch between the MAC address, the IP address, or the interface, the PIX firewall drops the packet.
- c. If the ARP packet does not match any entries in the static ARP table, you can set the PIX firewall to either forward the packet out all interfaces (flood), or to drop the packet.
ARP inspection prevents network devices from ARP spoofing. ARP spoofing can lead an attacker to a
man-in-the-middle attack. For example, a host sends an ARP request to the gateway router; the gateway router responds with the gateway router MAC address. The attacker, however, sends another ARP response to the host with the attacker's MAC address instead of the router's MAC address. The host, thinking that the hacker's MAC address is the valid destination, starts forwarding the packet. The attacker can now intercept all the host traffic before forwarding it on to the router.
ARP inspection ensures that an attacker cannot send an ARP response with the attacker MAC address, if the correct MAC address and the associated IP address are in the static ARP table.
Note
In multiple context mode, the commands in this chapter can be entered in a security context, but not in the system context. The dedicated management interface, if present, never floods packets even if this parameter is set to flood.
You can add a static ARP Entry with the following command:
arp interface_name ip_address mac_address
ARP inspection compares ARP packets with static ARP entries in the ARP table. The following command allows ARP responses from the router at 10.1.1.1 with the MAC address 0009.7cbe.2100 on the outside interface. Enter the following command.
PIX(config)# arp outside 10.1.1.3 0009.7cbe.2100
Note that the transparent firewall uses dynamic ARP entries in the ARP table for traffic to and from PIX Firewall, such as management traffic. To enable ARP inspection, use the following command:
PIX(config)# arp-inspection interface name enable flood | no-flood]
Here
flood forwards non-matching ARP packets out all interfaces, and
no-flood drops non-matching packets. Note that the default setting is to flood non-matching packets. To restrict ARP through the PIX firewall to only static entries, set this command to
no-flood. The following command enables ARP inspection on the outside interface, and to drop all non-matching ARP Packets.
PIX(config)# arp-inspection outside enable no-flood
To view the current settings for ARP inspection on all interfaces, enter the following command:
PIX(config)# show arp-inspection