Octet

What is RA Guard, and what other IPv6 first hop security features do you deploy on access switches?

Show the answer

Say this first

RA Guard (RFC 6105) drops Router Advertisements arriving on switch ports that are not meant to have a router behind them. It stops rogue RAs, from a misconfigured device or an attacker, that would hand hosts a new default gateway or prefix. The rest of the toolkit: DHCPv6 Guard against rogue DHCPv6 servers, a binding table built by snooping NDP and DHCPv6 (SISF device tracking on Cisco), ND inspection, IPv6 Source Guard and Destination Guard.

Go deeper

Why rogue RAs hurt

A laptop sharing its connection or a home router plugged in backwards sends RAs. Hosts add its link-local address as another default router and may build addresses from its prefix. Traffic either black-holes or goes through the attacker.

RA Guard on Cisco IOS-XE

Cisco IOS
ipv6 nd raguard policy HOSTS
 device-role host
!
ipv6 nd raguard policy UPLINK
 device-role router
!
interface range GigabitEthernet1/0/1 - 46
 ipv6 nd raguard attach-policy HOSTS
interface GigabitEthernet1/0/48
 ipv6 nd raguard attach-policy UPLINK

DHCPv6 Guard

Cisco IOS
ipv6 dhcp guard policy CLIENTS
 device-role client
!
interface range GigabitEthernet1/0/1 - 46
 ipv6 dhcp guard attach-policy CLIENTS

The rest

FeatureWhat it does
Device tracking (SISF)binding table of address, MAC, port and VLAN from NDP and DHCPv6
ND inspectiondrops NS and NA that contradict the binding table
Source Guarddrops traffic sourced from addresses not in the binding table
Destination Guarddrops traffic to addresses with no binding, limiting NDP cache exhaustion

Evasion

Attackers hid RAs behind extension headers or fragments so the switch could not see the ICMPv6 type. RFC 7113 says RA Guard must parse the whole header chain and drop what it cannot parse, and RFC 7112 requires the whole chain in the first fragment. On Cisco a port ACL with deny ipv6 any any undetermined-transport closes the gap on older code.

Traps

  • Applying RA Guard with a host policy on the uplink to the real router.
  • Forgetting DHCPv6 Guard, which is the same problem for DHCPv6.
How did you do?Book 4.2 IP Version 6Book 8.1 Trust and Threats