Попробовал совершить arp spoofing с подобной конфигурацией. Привязал к каждому порту ip + port_security по 2 мака на порт + auto_fdb с адресом шлюза.
Код:
create access_profile ip source_ip 255.255.255.255 profile_id 10
config access_profile profile_id 10 add access_id 1 ip source_ip 192.168.1.3 port 15 permit
config access_profile profile_id 10 add access_id 2 ip source_ip 192.168.1.4 port 13 permit
create access_profile ip source_ip 0.0.0.0 profile_id 20
config access_profile profile_id 20 add access_id 2 ip source_ip 0.0.0.0 port 15 deny
config access_profile profile_id 20 add access_id 3 ip source_ip 0.0.0.0 port 13 deny
disable cpu_interface_filtering
Код:
config port_security ports 1-16 admin_state enable max_learning_addr 2 lock_address_mode DeleteOnTimeout
config port_security ports 17-18 admin_state disable max_learning_addr 1 lock_address_mode DeleteOnTimeout
Код:
create auto_fdb 192.168.1.1
192.168.1.1 - шлюз (17 порт);
192.168.1.3 - атакующий (15 порт);
192.168.1.4 - жертва (13 порт);
Не получилось совершить атаку с подменой MAC-адреса шлюза. На компьютере жертвы только шлюз перестал быть доступным на некоторое время, а на атакующем компьютере вообще перестали приходить пакеты. При второй попытке установил изучение только 1 MAC-адреса в port_security и вообще ничего не происходило.
Так может все-таки этого достаточно от arp spoofing'а?
arp_spoofing_prevention не подходит, в нем нужно жестко привязывать IP с MAC-адресом шлюза, т.е. при замене шлюза или переводе на другой порт, придется переконфигурирывать все свичи. Хотелось бы что-то более универсальное.