Dynamic ARP Inspection: как свитч сам проверяет ARP-таблицу
👋 Привет, сетевой друг!
Давай расскажу про DAI - механизм, который закрывает ARP-спуфинг на уровне коммутатора, не требуя ничего настраивать на конечных устройствах.
🟣Суть проблемы: ARP работает на доверии. Любое устройство может отправить gratuitous ARP и объявить себя владельцем любого IP - соседи обновят кэш и начнут слать трафик атакующему. DAI закрывает именно это, проверяя каждый ARP-пакет против базы DHCP snooping перед тем, как пропустить его дальше.
🟣Как работает связка DHCP Snooping + DAI: DHCP snooping перехватывает все DHCP-сообщения и строит binding table: IP, MAC, порт, VLAN. DAI берёт эту таблицу и проверяет каждый ARP-запрос и ответ, если MAC и IP не совпадают с записью в таблице, пакет дропается.
🟣Включаем DHCP Snooping и DAI на Cisco:
ip dhcp snooping
ip dhcp snooping vlan 10,20,30
ip arp inspection vlan 10,20,30
! Uplink к роутеру помечаем как trusted
interface GigabitEthernet0/1
ip dhcp snooping trust
ip arp inspection trust
! Порты к хостам — untrusted по умолчанию, явно ограничиваем rate
interface GigabitEthernet0/2
ip arp inspection limit rate 100
interface range GigabitEthernet0/3-24
ip arp inspection limit rate 100
Uplink к роутеру или другому свитчу помечаем trust - там трафик уже проверен. Порты к хостам остаются untrusted, DAI проверяет каждый ARP с них.
🟣Для статических устройств которые не получают адрес через DHCP - серверы, принтеры - создаём ручные ARP ACL:
arp access-list STATIC_HOSTS
permit ip host 192.168.10.10 mac host 00a1.b2c3.d4e5
permit ip host 192.168.10.11 mac host 00a1.b2c3.d4e6
ip arp inspection filter STATIC_HOSTS vlan 10
Без этого статические хосты будут дропаться DAI потому что записей о них в DHCP snooping binding table нет.
🟣Проверяем что DAI реально работает:
show ip arp inspection vlan 10
show ip arp inspection statistics
show ip dhcp snooping binding
В статистике видно сколько пакетов прошло проверку и сколько было дропнуто. Если счётчик Forwarded растёт и Dropped нулевой - либо атак нет, либо DAI не применяется.
🟣Диагностика когда легитимный трафик дропается: DAI пишет в syslog каждый дроп с причиной - несовпадение MAC, несовпадение IP или превышение rate limit:
debug ip arp inspection vlan 10
show ip arp inspection log
Чаще всего проблема в том что статический хост не добавлен в ARP ACL или uplink не помечен как trusted.
Серверная Админа | #ARP
👋 Привет, сетевой друг!
Давай расскажу про DAI - механизм, который закрывает ARP-спуфинг на уровне коммутатора, не требуя ничего настраивать на конечных устройствах.
🟣Суть проблемы: ARP работает на доверии. Любое устройство может отправить gratuitous ARP и объявить себя владельцем любого IP - соседи обновят кэш и начнут слать трафик атакующему. DAI закрывает именно это, проверяя каждый ARP-пакет против базы DHCP snooping перед тем, как пропустить его дальше.
🟣Как работает связка DHCP Snooping + DAI: DHCP snooping перехватывает все DHCP-сообщения и строит binding table: IP, MAC, порт, VLAN. DAI берёт эту таблицу и проверяет каждый ARP-запрос и ответ, если MAC и IP не совпадают с записью в таблице, пакет дропается.
🟣Включаем DHCP Snooping и DAI на Cisco:
ip dhcp snooping
ip dhcp snooping vlan 10,20,30
ip arp inspection vlan 10,20,30
! Uplink к роутеру помечаем как trusted
interface GigabitEthernet0/1
ip dhcp snooping trust
ip arp inspection trust
! Порты к хостам — untrusted по умолчанию, явно ограничиваем rate
interface GigabitEthernet0/2
ip arp inspection limit rate 100
interface range GigabitEthernet0/3-24
ip arp inspection limit rate 100
Uplink к роутеру или другому свитчу помечаем trust - там трафик уже проверен. Порты к хостам остаются untrusted, DAI проверяет каждый ARP с них.
🟣Для статических устройств которые не получают адрес через DHCP - серверы, принтеры - создаём ручные ARP ACL:
arp access-list STATIC_HOSTS
permit ip host 192.168.10.10 mac host 00a1.b2c3.d4e5
permit ip host 192.168.10.11 mac host 00a1.b2c3.d4e6
ip arp inspection filter STATIC_HOSTS vlan 10
Без этого статические хосты будут дропаться DAI потому что записей о них в DHCP snooping binding table нет.
🟣Проверяем что DAI реально работает:
show ip arp inspection vlan 10
show ip arp inspection statistics
show ip dhcp snooping binding
В статистике видно сколько пакетов прошло проверку и сколько было дропнуто. Если счётчик Forwarded растёт и Dropped нулевой - либо атак нет, либо DAI не применяется.
🟣Диагностика когда легитимный трафик дропается: DAI пишет в syslog каждый дроп с причиной - несовпадение MAC, несовпадение IP или превышение rate limit:
debug ip arp inspection vlan 10
show ip arp inspection log
Чаще всего проблема в том что статический хост не добавлен в ARP ACL или uplink не помечен как trusted.
Серверная Админа | #ARP