Технологии безопасности сети на 2-ом уровне OSI. Часть 1

Технологии безопасности сети на 2-ом уровне OSI. Часть 1

Казалось бы, получив доступ во внутреннюю сеть, злоумышленник может относительно беспрепятственно исследовать соседние узлы, собирать передаваемую информацию и в общем уже все потеряно.

Тем не менее при корректном подходе к контролю уровня доступа можно существенно осложнить упомянутые процедуры. При этом грамотно подготовленная сетевая инфраструктура, заметив зловредную аномалию, об этом своевременно сообщит, что поможет снизить ущерб.

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

Статья выходила объемной, и, по-моему, слишком большие статьи не читаются, а складываются в долгий ящик с мыслью «как-нибудь осилю». Поэтому материал пришлось разделить, и при должном успехе составлю вторую часть с менее распространенными (по крайней мере у нас) технологиями.

Предполагаю, что данный вендор самый процентуально распространенный, да и самый информационно богатый, и вызывает бОльшую заинтересованность у начинающих изучать подобные темы.

Тем не менее, уверен, что после усвоения каждой конкретной технологии на циске, корректно составить конфигурацию у другого вендора не составит труда, если у Вас есть 30 мин. и обычный User Guide.

Считаю, что информация не дублирует уже существующую на хабре, хотя что-то похожее можно встретить тут и тут.

Port Security Описание

Технология предназначена для контроля подключенных к коммутатору устройств и предотвращения аномалий или атак, нацеленных на переполнения таблицы MAC-адресов (CAM table overflow).

С помощью Port Security устанавливается максимальное количество MAC адресов на конкретный свитчпорт (сетевой порт, оперирующий на 2-ом уровне OSI) или VLAN, и контролируется доступ по заданным MAC-адресам.

Способы работы с MAC-адресами:
  • Dynamic — пропускает и запоминает (на заданный период времени) любые MAC-адреса, пока не достигнет разрешенного максимума;
  • Static — пускает только заранее введенный руками MAC-адрес (может быть использовано вместе с Dynamic типом);
  • Sticky — учит новые MAC-адреса, записывая их в конфигурацию;
Действия в случае превышения полномочий:

  • Potect — в случае лишних или не заданных МАС-адресов не пускает новые, не генерирует сислог или SNMP трап, не роняет интерфейс;
  • Restrict — то же, что и Protect, но плюс лог и/или SNMP трап. А еще отчитывается в счетчик под show port-security interface <name> :

Конфигурация

Port-Security может быть активирован только, если тип свитчпорта явно задан (т.е. или Access, или Trunk). Если порт динамический (что уже неправильно), Port-Security на нем включить не получиться.

Access порты

Технология задается посредством команды switchport port-security… в режиме конфигурации конкретного интерфейса, доступные опции:

  • aging — задается временной интервал, после которого динамический МАС-адрес может быть переписан;
  • mac-address — дает доступ к следующей ветке:

В результате все выглядит примерно так:

Trunk порты

То же самое, только можно указывать поведение не относительно физического интерфейса, а конкретного VLAN'а. Для этого к каждой из предыдущих команд в конце добавляется vlan .

Проверка

Не прибегая к show run информация касательно Port-Security может быть найдена:

  • show port-security — отображает суммарно информацию об интерфейсах, их статус, количество адресов;
  • show interface <name> switchport — более детальная информация (счетчики, отдельные опции);
  • show mac address-table .. плюс опция, список ниже:

Команда проводит проверку актуальной информации о таблице MAC-адрессов. Например, нынешнее количество записей в таблице для конкретного VLAN'a и объем доступных записей проверяется посредством show mac address-table count vlan <id> :

DHCP snooping Описание

Технология предотвращает использование не авторизированного DHCP сервера в сети, что позволяет например произвести атаку человек-посередине (man-in-the-middle, MITM). Еще защищает сеть от атак на истощение DHCP (DHCP starvation/exauction), которая имхо не особо актуальна.

Технология следит за DHCP коммуникацией в сети, которая (в основном) состоит из четырех пакетов:

  • DHCP Discover — отправляет только клиент, запрос на получения IP по DHCP;
  • DHCP Offer — отправляет только сервер, предложение конфигурации от DHCP сервера;
  • DHCP Request — отправляет только клиент, выбор конкретной конфигурации и сервера;
  • DHCP ACK — отправляет только сервер, окончательное подтверждение;

Очень немаловажно, что после активации DHCP snooping, коммутатор начинает следить за DHCP коммуникацией в сети и отождествлять выданные IP адреса с MAC-адресами запрашивающих устройств, складируя данную информацию в таблицу DHCP snooping binding.

Конфигурация

Под доверенным интерфейсом вводится команда ip dhcp snooping trust :

Для предотвращения DHCP starvation под не доверенными интерфейсами указывается частота получаемых клиентских запросов с помощью ip dhcp snooping limit rate <nr> :

Важно не занизить данную характеристику, чтобы не порезать валидный трафик. Циска советует использовать число «10».

После этого указываем конкретный VLAN для работы DHCP snooping'a и включаем непосредственно саму технологию командой без опций:

Проверка

  • show ip dhcp snooping — отображает доверенные порты и VLAN'ы, на которых включен DHCP snooping;
  • show ip dhcp snooping binding — показывает ту самую таблицу, где фигурирует привязка IP-MAC внутри VLAN'ов с включенным DHCP snooping'ом:

Dynamic ARP inspection Описание

Технология предназначена для предотвращения ARP spoofing/poisoning атак, которая является базовым способом организации перехвата трафика (опять же атака человек-посередине/MITM), находясь в одном широковещательном домене с жертвой.

Конфигурация

Что бы эффективно предотвратить ARP spoofing, коммутатор должен иметь информацию о связке MAC-адрес/IP-адрес. Как упоминалось выше, данная информация хранится в таблице DHCP snooping. По этому корректная конфигурация эти две технологии практически всегда использует вместе.

При совместном использовании с DHCP snooping, технология активируется в режиме глобальной конфигурации командой:

После этого в данном VLAN'е будет разрешен трафик только тех устройств, которые фигурируют в таблице DHCP snooping.

В случае, если устройства НЕ используют DHCP, необходимо проводить дополнительные меры. ARP inspection позволяет использовать статические записи. Для этого создаются списки доступа ARP, создается который из режима глобальной конфигурации командой:

Синтаксис отдельной записи ниже:

помимо указания единичного MAC-адреса, в arp access-list'е можно указать диапазон. И это делается посредством !обратных ARP! масок:

Под таким arp access-list'ом указываются все необходимые статические записи. Далее технология активируется не как прежде, а с опцией filter:

Отдельный интерфейс(ы) можно пометить как доверенные. На этих интерфейсах ARP inspection проводиться не будет:

Практически всегда доверенными устанавливаются Trunk порты (главное об этом не забыть перед активированием всего механизма). Но в этом случае важно поднять установленный по умолчанию лимит ARP сообщений — он равен 15, и может быть слишком узким, особенно для транка. Советую поставить 100-ку:

Опционально можно добавить дополнительные проверки на соответствие MAC адресов в заголовках ARP и Ethernet. Делается это командой ip arp inspection validate <option> :

Функционал по каждой опции отдельно можно прочитать тут.

Проверка

Проверить статус технологии, включена ли, использует ли список доступа, статус проверки дополнительных опций и т.п. информацию:

Полезные опции у предыдущей команды (добавить в конце строки) — statistics (показывает счетчики дропов и т.п.) и interfaces (доверенные интерфейсы, лимиты ARP сообщений).

Source Guard Описание

В случае, если нет нужды проверять всю подсеть по ARP inspection, но хотелось бы защитить от подобных угроз пару-тройку узлов, можно использовать Source Guard. На практике их функционал дублирует друг друга, хотя и есть нюансы.

Технология привязывает заданные IP-MAC к конкретному физическому интерфейсу. В результате тоже предотвращает ARP спуфинг, а также один узел сети не сможет отправить трафик от имени другого, подменив IP и MAC адреса источника (в случае ARP inspection это возможно, хотя и не является критичным).

Конфигурация

Source Guard тоже использует таблицу DHCP snooping. Она содержит не только связку IP-MAC, но и еще интерфейс, за которым находится конкретный узел.

Если узлы опять же не используют DHCP, в режиме глобальной конфигурации создается мануальная запись:

Source Guard активируется непосредственно на интерфейсе:

Проверка

Проверка записей, которые использует технология, проводится командой: show ip source binding Что полезно, команда выводит как мануальные записи, так и взятые из таблицы DHCP snooping. Список интерфейсов, на которых Source Guard активирован, выводится командой: show ip verify source

📎📎📎📎📎📎📎📎📎📎