![]() |
Безопасность в сетях, построенных на Layer2 коммутаторах.
В этой статье будет рассмотрено, как можно произвести атаки на Layer2 сети и как можно защитить такую сеть от нападения с помощью оборудования Cisco Systems.
Типы Layer2 аттак
Рассмотрим эти атаки и меры борьбы с ними более подробно. 1. Переполнение CAM таблицы. Коммутатор имеет CAM таблицу, где содержится "привязка", какие MAC адреса на каком порту принимаются. Разумеется CAM таблица не бесконечна и имеет свои размеры. Например коммутатор Catalyst 2960 может содержать 8192 MAC адресов, Catalyst 6000 серии 128000 MAC адресов. Стоит подумать, а что же произойдет, когда вся таблица будет занята? Новые записи не смогут добавляться, весь трафик будет проходить на все порты. Что это даст атакующему вполне очевидно. Он может "прослушать" весь сетевой трафик и получить конфеденциальную информацию. Стоит отметить, что всё это действенно для VLAN'а, в котором находится злоумышленник. т.е. после переполнения данной таблицы атакующий не сможет прослушивать весь сетевой трафик, который "ходит" через коммутатор, а лишь своего VLAN, но и это не очень радостно. Какие же существуют способы борьбы с данным видом атаки? Логика подсказывает, что для подавления такой атаки, нам необходимо указать, что на порте коммутатора, к которому подключен пользователь может быть скажем не больше одного MAC адреса, а в случае если появляется более одного, перевести порт в отключенное состояние и отправить сообщение администратору о нарушении безопасности (например на syslog сервер). Рассмотрим на примере. Допустим, у нас есть коммутатор Cisco Catalyst 2960,24 порта к которым подключены пользователи. Нужно сделать так, чтоб на каждом порту мог быть только один хост (иными словами только один MAC адрес, какой? сейчас нас это не интересует). Для этого делаем: Заходим в режим глобального конфигурирования: Код:
switch# conf tКод:
switch(config)#int range f0/1Код:
switch(config-if-range)#switchport mode accessКод:
switch(config-if-range)#switchport port-securityКод:
switch(config-if-range)#switchport port-security violation shutdownКод:
switch(config-if-range)#switchport port-security maximum 1Код:
switch(config-if-range)#switchport port-security mac-address stickyНесколько команд для просмотра установок сделанных на портах, связанных с port-security. Код:
show port-securityКод:
catalyst#show port-security show port-security interface имя_интерфейса. Пример: Код:
catalyst#show port-security int f0/1 |
2. Vlan Hopping
Рассмотрим более подробно данный вид атаки, способ реализации и как ее предотвратить. Цель данной атаки в том, что пользователь может попытаться передать данные в другой vlan. Давайте рассмотрим, как это сделать. Как подсказывает логика, это возможно когда атакующий может инициировать trunk режим. В коммутаторах Cisco Catalyst, по умолчанию порт работает не в режиму mode access и не в режиме mode trunk, таким образом на порту работает протокол DTP (Dynamic Trunk Protocol). В такой ситуации стоит атакующему "претвориться" коммутатором, как между ними будет установленно транковое соединения, и соответсвенно будут доступны vlan'ы сконфигурированные на коммутаторе и после чего передать данные в другой Vlan не составит труда. Бороться с этим не легко, а очень легко. Для начала нужно все используемые интерфейсы коммутатора перевести принудительно в режимы access и trunk, где это положено. Неиспользуемые порты необходимо перевести в shutdown, и перенести их в несуществующий VLAN, который будет известен только данному коммутатору, т.е. не передавался по trunk портам другим коммутаторам. Первый этап был рассмотрен нами выше. Для перевода порта в режим доступа необходимо: Переключиться в режим глобального конфигурирования Код:
switch# conf tКод:
switch(conf)#int f0/1Код:
switch(config-if)#switchport mode accessКод:
switch(config-if)#switchport mode trunkСоздаем VLAN. Код:
switch(conf)#vlan 666Код:
switch(config-vlan)#name Unconnected Код:
switch(conf)#int range f0/12 - 243. Атака на STP. Как известно, STP (Spanning Tree Protocol) это протокол, предназначенный для предотвращения зацикливания пакетов в сети, при наличии дублирующих маршрутов. В кратце как это работает. Сначала происходит обнаружения коммутаторов которые связаны между собой, Здесь точка. Затем... Выбирается так называемый Root Bridge, т.е. главный «корневой коммутатор» . Далее по специальному алгоритму будут заблокированы порты коммутатора, которые создают петли в получившейся топологии. Более подробно работу STP мы не будем рассматривать. Что может сделать атакующий? Атакующий может так же "претвориться" коммутатором, направить в сторону коммутатора BPDU пакет, в котором может подделать приоритет, mac адрес, для того чтобы стать «корневым коммутатором», и с его помощью перехватить сетевой трафик. Корневой коммутатор становится тот, у которого самый высокий приоритет. Если приоритет у нескольких коммутаторов одинаковый, то для выбора корневого коммутатора используется MAC адрес, у кого он меньше тот и становится корневым. Постараемся избавиться от этой уязвимости. Что для этого необходимо?
Перейдем к реализации данной идеи непосредственно на коммутаторе. Для начала, на всех портах доступа поставим специальный режим STP, который называется portfast. После этого клиент , подключенный к такому порту, не будет принимать участие в разрешении маршрутов по алгоритму STP и данные будут передаваться ему сразу. Если данная опция включена не будет, то сначала подключенный клиент инициирует пересчет маршрутов по алгоритму STP (это может занять достаточно много времени, десятки секунд и даже больше) и лишь после того будут начинать передаваться пользовательские данные через порт. По умолчанию portfast на Cisco Catalyst отключен и это нужно будет сконфигурировать вручную. Будем конфигурировать Portfast на портах f0/1 - 24. Код:
switch# conf tКод:
switch(config)#spanning-tree portfast bpduguard defaultИ последнее, необходимо обезопасить наш Root Bridge. Для этого необходимо перейти в конфигурацию интерфейса, к которому подключен другой коммутатор и сделать следующее: Код:
switch(config)# int f0/1 |
4. MAC Spoofing.
MAC Spoofing, это атака, реализуемая путем подделывания MAC адреса, например атакующий может подделать MAC адрес, который использовал другой хост сети. Что это может дать атакующему зависит от политики безопасности сети. Для того чтобы предотвратить данный тип атаки необходимо выполнить меры, которые описаны в пункте 1. «Переполнение CAM таблицы , т.е. необходимо, указать максимальное количество mac адресов на порту, указать действие, которое будет выполнено в случае нарушения нашей политики (shutdown, restrict, protect). Указать MAC адреса статически, динамически, либо в режиме обучении. Для указания mac адреса статическим, в режими конфигурирования интерфейса необходимо выполнить: Switch(config-if)# switchport port-security mac-address 3234.2343.fa12 Где, 3234.2343.fa12 mac адрес клиента. Для указания динамического mac адреса, ничего дополнительного не делается, необходимо только включить фурнкцию port-security, как было описано выше. Чтобы указать режим обучения mac-адресов необходимо выполнить в режиме конфигурирования интерфейса: switch(config-if-range)#switchport port-security mac-address sticky Указать время жизни записей arp-таблице. Рассмотрим пример, в котором установим максимальное количество адресов на порту в 1, действие shutdown и укажем что arp таблица имеет таймер в 60 секунд. Код:
switch# conf t5. Атака на PVLAN (Private VLAN). В технологии PVLAN в отличии от VLAN порты могут находиться в трёх режимах:
Порты которые отмечены как Isolated, не могут передавать данные в своем VLAN между клиентами. Данные передаваться могут только между Isolated и Promiscuous портами. Promiscuous порты это порты в PVLAN, в которые можно передавать данные со всех Isalated и Community портов. как и в обычном VLAN. Community это группы портов, между членами которых можно передавать данные, можно назвать vlan в vlan'е. Если атакующему доступно устройство Layer 3 (например маршрутизатор, либо коммутатор третьего уровня), он может установить связь между клиентами, которые находятся в одном PVLAN, между Isolated портами. Как это можно реализовать? Пользователь может подделать пакет, в котором IP назначения он укажет необходимое ему устройство (которое находится на другом порту Isolated), источник останется без изменения, т.к. ip атакающего, как и MAC адрес, а вот в качестве MAC адрес назначения он укажет MAC устройства L3. L3 устройство получится данный пакет и может переправить его по указанному адресу. Принимающая сторона может сделать тоже самое, тем самым обеспечив передачу данных между Isolated портами. Предотвращение такой атаки сводится к тому, что на устройстве L3 создается специальный Access List в котором запрещается прямая передача данных между сегментом сети. Рассмотрим пример настройки. Код:
router#conf tОписанные выше настройки не позволят атакующему установить связь между клиентами одного PVLAN, между Isolated портами используя L3 устройство. 6. Атака на DHCP Существуеет несколько способов атаковать DHCP сервер. 1.Злоумышленник может сформировать и послать DHCP серверу огромное количество DHCP запросов, с разными MAC адресами. Сервер будет выделять IP адреса из пула и рано или поздно весь DHCP pool закончится, после чего сервер не сможет обслуживать новых клиентов. Данный вид атаки можно классифицировать как DOS (Denial of service - Откзал в обслуживании). Нарушается работоспособность сети. Метод борьбы с такими атаками называется DHCP Snooping. В кратце рассмотрим как это работает. Когда коммутатор получает пакет сравнивает MAC-адрес указанный в DHCP-запросе и MAC-адрес, который был прописан на порту коммутатора. Если адреса совпадают, то коммутатор отправляет пакет дальше. Если адреса не совпадают, то коммутатор отбрасывает пакет. 2. Злоумышленник может поставить свой DHCP сервер и выдавать свои настройки пользователям сети. (может указать любой DNS,Gateway и т.д.) и воспользоваться уже по своему усмотрению, начиная от прослушивания трафика, до подделки DNS ответов, и т.д. Если в сети существует несколько DHCP серверов, то на запрос будут отвечать все серверы, но клиентом будет обработан только первый ответ. Какой из DHCP серверов ответит быстрее и чей ответ быстрее дойдет до клиента зависит от многих факторов, таких как: загрузка DHCP сервера, загрузка сети и т.д. Для того чтоб злоумышленник был уверен, что именно от его DHCP сервера клиент получит ответ, атакующим может быть предварительно произведена DOS атака на легальные DHCP сервера способом описанным в пункте 1 В технологии DHCP Snooping существует поняетие доверительных и не доверительных портов. (trusted и untrusted соответсвенно) Доверительные порты, это порты с которых может приходить ответ DHCP (DHCPOFFER и так далее), а не доверительные порты, это порты с которых не могут приходить ответы DHCPOFFER. Доверительные порты указываются вручну. Все порты, которые не указаны доверительными, автоматически становятся недоверительными. Порт, который непосредственно подключен к DHCP серверу должен быть объявлен как доверительный (trust порт). DHCP Snooping настраивается для каждого VLAN. Для настройки DHCP snooping необходимо сделать сначала включить snooping в режиме глобальной конфигурации, затем включить на нужном vlan, затем указать trust порты. Рассмотрим на примере. Код:
switch(config)# ip dhcp snoopingТак же можно включить или выключить опции 82 DHCP (которая отвечает за информацию relay, т.е. через какие коммутаторы прошёл данный пакет, аналогию можно провести с таблицей маршрутизации). Делается в режиме глобального конфигурирования командой: Код:
switch(config)#ip dhcp snooping information optionКод:
switch(config)#interface fa0/1Описанные меры должны применяться комплексно, для повышения безопасности сети в целом. |
Layer2 коммутаторы/сети? Прошу пояснить.
|
ссылку на авторство ставить не будем?
|
автортство мое.
публиковал статью в журнале "Системный администратор" в декабре. есть концентратоы (точнее были, которые работали на Layer 1, обычные хабы) есть коммутаторы, которые работают на Layer 2 (грубо говоря понимает MAC адресацию) Есть Layer 3 (которые разбирают до уровня IP в OSI) Есть MLS (Multilayer Switch), которые могут работать на 3,4 и др уровнях. В данной статье я расмотрел настройку оборудования Layer2. |
Цитата:
|
при описании оборудования, редко, когда можно встретить, оборудование канального уровня, употребляется Layer2 оборудвание :)
рад, что мы разрешили этот вопрос. :) |
| Время: 04:40 |