- PVSM.RU - https://www.pvsm.ru -
Казалось бы, получив доступ во внутреннюю сеть, злоумышленник может относительно беспрепятственно исследовать соседние узлы, собирать передаваемую информацию и вообщем уже все потеряно.
Тем не менее при корректном подходе к контролю уровня доступа можно существенно осложнить упомянутые процедуры. При этом грамотно подготовленная сетевая инфраструктура, заметив зловредную аномалию, об этом своевременно сообщит, что поможет снизить ущерб.
Под катом перечень механизмов, которые помогут выполнить данную функцию.
Хотелось бы привести общую выжимку без лишних Вики-обоснований, но с описанием вариаций конфигурации, тем не менее иногда отступаю в ликбез, что бы стороннему читателю статья показалась более дружелюбной.
Статья выходила объемной, и по-моему слишком большие статьи не читаются, а складываются в долгий ящик с мыслью «как нибудь осилю». Поэтому материал пришлось разделить, и при должном успехе составлю вторую часть с менее распространенными (по крайней мере у нас) технологиями.
Содержание:
Технологии описаны на базе коммутатора Cisco, конкретно моя тестовая модель и версия следующие:
Предпологаю, что данный вендор самый процентуально распространенный, да и самый инофрмационно богатый, а так же вызывает бОльшую заинтересованность у начинающих изучають подобные темы.
Тем не менее, уверен, что после усвоения каждой конкретной технологии на циске, корректно составить конфигурацию у другого вендора не составит труда, если у Вас есть 30 мин. и обычный User Guide.
Считаю, что информация не дублирует уже существующую на хабре, хотя что-то похожее можно встретить тут [5] и тут [6].
Технология предназначена для контроля подключенных к коммутатору устройств и предотвращения аномалий или атак, нацеленных на переполнения таблицы MAC-адресов (CAM table overflow).
С помощью Port Security устанавливается максимальное количество MAC адресов на конкретный свитчпорт (сетевой порт, оперирующий на 2-ом уровне OSI) или VLAN, а так же контролируется доступ заданным MAC-адресам.
show port-security interface <name>
:
Port-Security может быть активирован только, если тип свитчпорта явно задан (т.е. или Access, или Trunk). Если порт динамический (что уже неправильно), Port-Security на нем включить не получиться.
Технология задается посредством комманды switchport port-security… в режиме конфигурации конкретного интерфейса, доступные опции:
т.е. задаем разрешенные/запрещенные адреса или говорим железке их учить;
Устанавливаем что нужно, что не нужно пропускаем. В конце активируем технологию командой switchport port-security
без опций.
В результате все выглядит примерно так:
— Если хотим разрешить неизвестно какие маки, лимитируя их количество 5-ю, ставим максимум на 5 и не задаем ничего статически. Опционально указываем время жизни.
— Если известно, что за устройство стоит на втором конце провода и больше ничего там не будет и быть не должно — максимум=1, адрес прописываем статически.
— Если ждем нового работника с новым ПК или лень узнавать MAC-адрес, ставим Sticky, после подключения перепроверяем.
Тоже самое, только можно указывать поведение не относительно физического интерфейса, а конкретного 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 сервера в сети, что позволяет например произвести атаку человек-посередине (man-in-the-middle, MITM). Так же защищает сеть от атак на истощение DHCP (DHCP starvation/exauction), которая имхо не особо актуальна.
Технология следит за DHCP коммуникацией в сети, которая (в основном) состоит из четырех пакетов:
Перед активацией DHCP snooping нужно обязательно указать «доверенный» порт(ы), за которым находиться DHCP сервер. Активируя технологию, только этот порт будет передавать DHCP Offer и DHCP ACK (пакеты от сервера). В связи с чем ни одно устройство за другими интерфейсами этого коммутатора не сможет производить работу DHCP сервера, предлагая свои варианты сетевой конфигурации.
Так же, что очень не маловажно, при активации 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, а так же включаем непосредственно саму технологию командой без опций:
(config)# ip dhcp snooping vlan <id>
(config)# ip dhcp snooping
Технология предназначена для предотвращения ARP spoofing/poisoning атак, которая является базовым способом организации перехвата трафика (опять же атака человек-посередине/MITM), находясь в одном широковещательном домене с жертвой.
Что бы эффективно предотвратить ARP spoofing, коммутатор должен иметь инофрмацию о связке MAC-адрес/IP-адрес. Как упоминалось выше, данная информация храниться в таблице DHCP snooping. По этому корректная конфигурация эти две технологии практически всегда использует вместе.
При совместном использовании с DHCP snooping, технология активируется в режиме глобальной конфиругации командой:
(config)# ip arp inspection vlan <id>
После этого в данном VLAN'е будет разрешен траффик только тех устройств, которые фигурируют в таблице DHCP snooping.
В случае, если устройства НЕ используют DHCP, необходимо проводить дополнительные меры. ARP inspection позволяет использовать статические записи. Для этого создаются списки доступа ARP, создается который из режима глобальной конфигурации командой:
(config)# arp access-list <name>
Синтаксис отдельной записи ниже:
По-моему, это ужастный костыль и мир сошел с ума, но если по другому никак..
Под таким arp access-list'ом указываются все необходимые статические записи. Далее технология активируется не как прежде, а с опцией filer:
Так же можно отдельный интерфейс(ы) пометить как доверенные. На этих интерфейсах ARP inspection проводиться не будет:
Практически всегда доверенными устанавливаются Trunk порты (главное об этом не забыть перед активированием всего механизма). Но в этом случае важно поднять установленный по умолчанию лимит ARP сообщений — он равен 15, и может быть слишком узким, особенно для транка. Советую поставить 100-ку:
Опционально можно добавить дополнительные проверки на соответствие MAC адресов в заголовках ARP и Ethernet. Делается это командой ip arp inspection validate <option>
:
Функционал по каждой опции отдельно можно прочитать тут [7].
Проверить статус технологии, включена ли, использует ли список доступа, статус проверки дополнительных опций и т.п. информацию:
show ip arp inspection vlan <id>
Полезные опции у предыдущей команды (добавить в конце строки) — statistics (показывает счетчики дропов и т.п.) и interfaces (доверенные интерфейсы, лимиты ARP сообщений).
В случае, если нет нужды проверять всю подсеть по ARP inspection, но хотелось бы защитить от подобных угроз пару-тройку узлов, можно использовать Source Guard. На практике их функционал дублирует друг друга, хотя и есть нюансы.
Технология привязывает заданные IP-MAC к конкретному физическому интерфейсу. В результате тоже предотвращает ARP спуфинг, а так же один узел сети не сможет отправить трафик от имени другого, подменив IP и MAC адреса источника (в случае ARP inspection это возможно, хотя и не является критичным).
Source Guard так же использует таблицу DHCP snooping. Она содержит не только связку IP-MAC, но и еще интерфейс, за которым находится конкретный узел.
Если узлы опять же не используют DHCP, в режиме глобальной конфигурации создается мануальная запись:
(config)# ip source binding <mac.add.ress> vlan <id> <IP.add.re.ss> interface <name>
Source Guard активируется непосредственно на интерфейсе:
(config-if)# ip verify source port-security
Проверка записей, которые использует технология, проводится командой:
show ip source binding
Что полезно, команда выводит как мануальные записи, так и взятые из таблицы DHCP snooping.
Список интерйесов, на которых Source Guard активирован, выводится командой:
show ip verify source
В следующий раз покажу, какие еще списки доступа бывают на свичах и зачем они нужны; как контролировать комуникацию в пределах одной подсети; попробую осветить тонкости перехода интерфейса в статус errdisable и может получиться понять, нужен ли вообще MACsec.
Автор: Dimi3
Источник [8]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/cisco/203470
Ссылки в тексте:
[1] Port Security: #Port Security
[2] DHCP snooping: #DHCP snooping
[3] Dynamic ARP inspection: #Dynamic ARP inspection
[4] Source Guard: #Source Guard
[5] тут: https://habrahabr.ru/post/192022/
[6] тут: https://habrahabr.ru/post/251547/
[7] тут: http://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst3750x_3560x/software/release/12-2_55_se/configuration/guide/3750xscg/swdynarp.html#20307
[8] Источник: https://habrahabr.ru/post/313782/?utm_source=habrahabr&utm_medium=rss&utm_campaign=sandbox
Нажмите здесь для печати.