Как предотвратить атаку MAC Flooding?

Цель: Как выполнить атаку MAC Flooding и предотвратить атаку MAC Flooding на устройствах уровня 2

 

Прежде чем вы сможете предотвратить атаку MAC-флудинга на устройствах уровня 2, вы должны достаточно знать об основных операциях коммутатора и атаке по таблице MAC-адресов. Коммутатор локальной сети уровня 2 создает таблицу MAC-адресов, которые хранятся в его адресуемой памяти (CAM). Таблица CAM — это то же самое, что и таблица MAC-адресов. Таблица CAM связывает и хранит MAC-адреса и связанные параметры VLAN, подключенные к портам физического коммутатора. Затем коммутаторы сравнивают одноадресные MAC-адреса назначения входящих кадров с записями в таблице CAM, чтобы принять решение о переадресации портов. Если MAC-адрес назначения находится в таблице CAM, коммутатор соответствующим образом пересылает кадр. Однако если MAC-адрес назначения отсутствует в таблице CAM, коммутатор рассылает кадр из всех портов, кроме порта входа кадра. Это называется неизвестным одноадресным флудом.

Как работает атака на CAM таблицу?

Все таблицы CAM имеют фиксированный размер, и, следовательно, у коммутатора может не хватить ресурсов для хранения MAC-адресов. Атаки на переполнение таблицы CAM (также называемые атаками переполнения MAC-адресов) используют это ограничение, бомбардируя коммутатор поддельными исходными MAC-адресами до тех пор, пока таблица MAC-адресов коммутатора не заполнится.

Если в таблицу CAM вводится достаточно записей до истечения срока действия старых записей, таблица заполняется до такой степени, что новые записи не могут быть приняты. Когда это происходит, коммутатор рассматривает кадр как неизвестный одноадресный и начинает рассылать весь входящий трафик на все порты без обращения к таблице CAM. Коммутатор, по сути, действует как концентратор. В результате злоумышленник может перехватить все кадры, отправленные с одного хоста на другой.

ПРИМЕЧАНИЕ. Трафик рассылается только внутри локальной VLAN, поэтому злоумышленник видит только трафик внутри локальной VLAN, к которой он подключен.

Инструменты MAC Flooding для Windows и Linux

Инструменты Macof наводняют локальную сеть случайными MAC-адресами (что приводит к сбою открытия некоторых коммутаторов в режиме повторения, что облегчает перехват). Что делает эти инструменты настолько опасными, так это то, что злоумышленник может организовать атаку на переполнение таблицы CAM за считанные секунды. Например, коммутатор Catalyst 6500 может хранить 132 000 MAC-адресов в своей таблице CAM. Такой инструмент, как Macof, может загружать коммутатор до 8000 фиктивных кадров в секунду; создание атаки на переполнение таблицы CAM за считанные секунды.

Другая причина, по которой эти инструменты атаки опасны, заключается в том, что они влияют не только на локальный коммутатор, но и на другие подключенные коммутаторы уровня 2. Когда таблица CAM коммутатора заполнена, он начинает широковещательную рассылку всех портов, включая те, которые подключаются к другим коммутаторам уровня 2.

Как предотвратить атаку Mac Flooding?

Чтобы смягчить атаки на переполнение таблицы CAM, сетевые администраторы должны обеспечить безопасность портов. Это самый простой и эффективный метод предотвращения атаки MAC-флудинга и переполнения таблицы CAM. Безопасность порта позволяет администратору статически указывать MAC-адреса для порта или разрешать коммутатору динамически изучать ограниченное количество MAC-адресов. Ограничив количество разрешенных MAC-адресов на порте до одного, можно использовать безопасность порта для контроля несанкционированного расширения сети.

После настройки или включения безопасности порта MAC-адреса назначаются защищенному порту, порт не пересылает кадры с исходными MAC-адресами за пределы группы определенных адресов. Когда порт, настроенный с использованием безопасности порта, получает кадр, MAC-адрес источника кадра сравнивается со списком защищенных адресов источника, которые были настроены вручную или автоматически (обучены) на порту.

Чтобы включить безопасность порта, используйте команду конфигурации интерфейса switchport port-security на порту доступа. Порт должен быть настроен как порт доступа, прежде чем можно будет включить безопасность порта. Это связано с тем, что безопасность порта можно настроить только на портах доступа, а для портов коммутатора уровня 2 по умолчанию установлен динамический автоматический режим (транкинг включен). Следовательно, порт должен быть изначально сконфигурирован с помощью команды настройки интерфейса доступа в режиме switchport.

Чтобы установить максимальное количество MAC-адресов, разрешенных для порта, используйте команду switchport port-максимальное значение безопасности

Примечание: Фактическое максимальное количество защищенных MAC-адресов, которые можно настроить, определяется максимальным количеством доступных MAC-адресов, разрешенных шаблоном управления базой данных active Switch (SDM). Используйте команду show sdm preferred для просмотра текущих настроек шаблона.

Коммутатор можно настроить для получения информации о MAC-адресах на защищенном порту одним из двух способов:

  • Настроено вручную – вручную настраивает MAC-адреса с помощью команды настройки интерфейса mac-адреса безопасности switchport port-security.
  • Динамически изучаемый – позволяет коммутатору динамически изучать MAC-адрес с помощью команды настройки интерфейса switchport port-security mac-address sticky.
S4(config)# interface fastEthernet 0/10
S4(config-if)# switchport mode access
S4(config-if)# switchport port-security
S4(config-if)# switchport port-security maximum 5
S4(config-if)# switchport port-security violation shutdown
S4(config-if)# switchport port-security mac-address sticky

Чтобы просмотреть результат, просто введите show port-security interface FastEthernet 0/10.

S4#show port-security interface fastEthernet 0/10
Secure Port MaxSecureAddr CurrentAddr SecurityViolation Security Action
               (Count)       (Count)        (Count)
--------------------------------------------------------------------
       Fa0/10        5          0                 0         Shutdown
----------------------------------------------------------------------
Port Security              : Enabled
Port Status                : Secure-down
Violation Mode             : Shutdown
Aging Time                 : 0 mins
Aging Type                 : Absolute
SecureStatic Address Aging : Disabled
Maximum MAC Addresses      : 5
Total MAC Addresses        : 0
Configured MAC Addresses   : 0
Sticky MAC Addresses       : 0
Last Source Address:Vlan   : 0000.0000.0000:0
Security Violation Count   : 0
 
S4#

Режимы нарушения безопасности портов

Существует три режима нарушения безопасности: режим ограничения, выключения и защиты для предотвращения атаки MAC flooding.

  • Защита: это наименее защищенный из режимов нарушения безопасности. Когда количество защищенных MAC-адресов достигает предела, разрешенного для порта, пакеты с неизвестными исходными адресами отбрасываются до тех пор, пока не будет удалено достаточное количество защищенных MAC-адресов или не будет увеличено количество максимально допустимых адресов. Нет никакого уведомления о том, что произошло нарушение безопасности.
  • Ограничение: Когда количество защищенных MAC-адресов достигает предела, разрешенного для порта, пакеты с неизвестными исходными адресами отбрасываются до тех пор, пока не будет удалено достаточное количество защищенных MAC-адресов или не будет увеличено количество максимально допустимых адресов. В этом режиме появляется уведомление о том, что произошло нарушение безопасности.
  • Завершение работы: В этом режиме нарушения безопасности (по умолчанию) нарушение безопасности порта приводит к немедленному отключению интерфейса с ошибкой и выключению индикатора порта. Это увеличивает счетчик нарушений. Когда защищенный порт находится в состоянии отключения из-за ошибки, его можно вывести из этого состояния, введя команды режима настройки интерфейса shutdown и no shutdown. Что еще более важно, порт должен быть повторно включен администратором вручную.

Защита от старения безопасности

Параметр «Устаревание безопасности порта» можно использовать для установки времени устаревания статических и динамических защищенных адресов на порту. Для каждого порта поддерживаются два типа старения:

  • Абсолютный – Защищенные адреса в порту удаляются по истечении указанного времени устаревания.
  • Бездействие – Защищенные адреса на порту удаляются только в том случае, если они неактивны в течение указанного времени устаревания.

Используйте устаревание для удаления защищенных MAC-адресов на защищенном порту без ручного удаления существующих защищенных MAC-адресов. Ограничения по времени устаревания также могут быть увеличены, чтобы гарантировать сохранение прежних защищенных MAC-адресов даже при добавлении новых MAC-адресов. Имейте в виду, что можно настроить максимальное количество защищенных адресов для каждого порта. Устаревание статически настроенных защищенных адресов может быть включено или отключено для каждого порта.

S4(config-if)#switchport port-security aging time 150