Атаки на коммутаторы принцип проведения атак и способы защиты

Обновлено: 01.07.2024

Эта страница посвящена обзору различных способов и средств обеспечения безопасности работы сети на канальном уровне.

Содержание

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

Задача атакующего получить доступ к определенным ресурсам, информации или, как минимум, нарушить нормальную работу сети.

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

Например, в сети настроены ACL на сетевых устройствах или файрвол для разграничения доступа пользователей к ресурсам в сети. Но, например, выполняя подмену IP-адреса в пакете, атакующий свободно проходит через настроенные правила, так как он выглядит как легитимный пользователь.

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

Например, атака ARP-spoofing позволяет атакующему перехватывать весь трафик между интересующим ресурсом и каким-то пользователем (или подменять его). Однако, выполнить эту атаку можно только в пределах широковещательного сегмента сети. Если в сети присутствует коммутатор Cisco с настройками по умолчанию, то можно поднять тегированный канал между компьютером атакующего и коммутатором и получить таким образом доступ к другим широковещательным сегментам сети. В таком случае выполнить ARP-spoofing можно в каждом из доступных сегментов.

В зависимости от результата, который будет получен, атаки можно разделить на такие несколько типов (выделенные типы атак не охватывают все возможные атаки):

  • Человек посередине (Man in the middle, MitM) — атакующий находится между двумя жертвами и либо прослушивает трафик, который передается между ними, либо перехватывает его и подменяет. При этом, для жертв атаки, никаких видимых признаков атаки нет;
  • Отказ в обслуживании (DoS) — атака на какой-то ресурс системы с целью довести его до отказа. На канальном уровне есть ряд атак, которые позволяют получить односторонний доступ к какому-то участку сети. Этого как раз достаточно для такого вида атаки;
  • Несанкционированный доступ к сети или участкам сети — используя какие-то недостатки в протоколах, получения доступа к тем участкам сети, которые теоретически должны были быть недоступны. И, возможно, выполнение других типов атак в этих участках сети;
  • Нарушение работы сети или её участков — некоторые недостатки протоколов канального уровня не могут использоваться предсказуемым образом. То есть, нет возможности как-то преднамерено повлиять на их поведение. Но есть возможность нарушить их нормальную работу и таким образом нарушить работу участка сети или всей сети.

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

Распространенные атаки канального уровня:

Существует множество различных утилит, которые позволяют выполнять атаки на сеть. Некоторые позволяют моделировать только определенные атаки, другие — генерировать любой пакет.

Рассматриваются такие аспекты использования сетевых утилит:

  • тестирование функций и средств безопасности,
  • тестирование уязвимостей некоторых настроек сетевых устройств и хостов.

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

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

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

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

Использование утилит в данном случае демонстрирует простоту взлома сети и уязвимость таких настроек коммутаторов.

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

Yersinia — сетевая утилита, позволяющая эксплуатировать недостатки ряда протоколов, использующихся активным сетевым оборудованием и стандартных сетевых протоколов, использующихся в сети.

В настоящий момент возможны атаки на:

  • стандартные сетевые протоколы:
    • Dynamic Host Configuration Protocol (DHCP),
    • Spanning Tree Protocol (STP),
    • 802.1Q,
    • 802.1X,
    • Inter-Switch Link Protocol (ISL),
    • VLAN Trunking Protocol (VTP),
    • Cisco Discovery Protocol (CDP),
    • Dynamic Trunking Protocol (DTP),
    • Hot Standby Router Protocol (HSRP).

    Scapy — сетевая утилита написанная на языке Python, которая позволяет посылать, просматривать и анализировать сетевые пакеты. В отличии от многих других утилит, утилита Scapy не ограничена перечнем каких-то протоколов, пакеты которых она может генерировать. Фактически, она позволяет создавать любые пакеты и комбинировать атаки различных типов.

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

    Поэтому сам коммутатор и протоколы, которые используют коммутаторы могут быть целью атак. Более того, некоторые настройки коммутаторов (как правило, это настройки по умолчанию) позволяют выполнить ряд атак и получить несанкционированный доступ к сети или вывести из строя сетевые устройства.

    Однако, коммутатор может быть и достаточно мощным средством защиты. Так как через него происходит всё взаимодействие в сети, то логично контролировать это на нем.

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

    Функция коммутатора От каких атак защищает
    Port security Переполнение таблицы коммутации, несанкционированная смена MAC-адреса
    DHCP Snooping Подмена DHCP-сервера в сети, DHCP starvation
    Dynamic ARP Inspection ARP-spoofing
    IP Source Guard IP-spoofing

    Port security — функция коммутатора, позволяющая указать MAC-адреса хостов, которым разрешено передавать данные через порт. После этого порт не передает пакеты, если MAC-адрес отправителя не указан как разрешенный. Кроме того, можно указывать не конкретные MAC-адреса, разрешенные на порту коммутатора, а ограничить количество MAC-адресов, которым разрешено передавать трафик через порт.

    Используется для предотвращения:

    • несанкционированной смены MAC-адреса сетевого устройства или подключения к сети,
    • атак направленных на переполнение таблицы коммутации.

    DHCP snooping — функция коммутатора, предназначенная для защиты от атак с использованием протокола DHCP. Например, атаки с подменой DHCP-сервера в сети или атаки DHCP starvation, которая заставляет DHCP-сервер выдать все существующие на сервере адреса злоумышленнику.

    • Dynamic ARP Protection (Inspection) — проверка ARP-пакетов, направленная на борьбу с ARP-spoofing,
    • IP Source Guard — выполняет проверку IP-адреса отправителя в IP-пакетах, предназначенная для борьбы с IP-spoofingом.

    Dynamic ARP Inspection (Protection) — функция коммутатора, предназначенная для защиты от атак с использованием протокола ARP. Например, атаки ARP-spoofing, позволяющей перехватывать трафик между узлами, которые расположены в пределах одного широковещательного домена.

    IP Source Guard (Dynamic IP Lockdown) — функция коммутатора, которая ограничивает IP-трафик на интерфейсах 2го уровня, фильтруя трафик на основании таблицы привязок DHCP snooping и статических соответствий. Функция используется для борьбы с IP-spoofingом.


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

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

    • Rogue DHCP Server
    • DHCP starvation
    • CAM-table overflow
    • VLAN hopping
    • MAC-spoofing

    За основу взят видеоурок CBT nuggets из цикла CCNA security.

    Rogue DHCP Server

    Описание

    Приведем упрощенную схему работы протокола DHCP:

    Discover: клиент, не имеющий IP-адреса, посылает широковещательный запрос на адрес 255.255.255.255, в котором просит откликнуться имеющиеся в сети DHCP-серверы.
    Offer: DHCP-серверы присылают ответ, в котором предлагают параметры конфигурации (IP-адрес, DNS-серверы, default gateway). Ответ отсылается на MAC адрес клиента.
    Request: Клиент выбирает, с каким сервером (при наличии нескольких) ему удобнее работать и отправляет запрос адреса. Данный запрос также отправляется широковещательно, но в качестве одной из опций уже указывается IP-адрес конкретного сервера.
    Acknowledgment: На данном этапе запрос подтверждается сервером. После получения этого пакета клиент конфигурирует свои сетевые параметры и процесс получения адреса можно считать состоявшимся.


    Цель данной атаки – подмена DHCP-сервера. При одновременном нахождении в сети двух DHCP-серверов, один из которых «вражеский», некоторая часть клиентов сконфигурирует у себя неправильные адреса и прочие сетевые реквизиты.

    Вследствие подмены шлюза по умолчанию неавторизованный DHCP-сервер получит возможность прослушивать весь трафик клиентов, перенаправляя в дальнейшем пакеты по назначению. Таким образом мы имеем простейшую реализацию атаки типа MitM (Man in the Middle), которая может быть осуществлена в большинстве современных сетей.

    Стоит отметить, что чаще всего атака с подменой DHCP-сервера не является атакой, как таковой. Распространены случаи, когда по незнанию в сеть подключается SOHO роутер с настроенным DHCP-сервером, причем подключается он LAN-портом. После этого у клиентов, успевших получить у него IP-адреса, наблюдаются как минимум существенные потери скорости, а чаще всего полная невозможность использования локальных и глобальных ресурсов.

    Методы защиты

    Простейший способ защиты от атак подобного рода – включение на всех коммутаторах функции DHCP snooping. Далее необходимо определить два типа портов:

    • Доверенные – порты коммутатора, к которым подключается DHCP-сервер, либо другой коммутатор.
    • Недоверенные – порты для клиентских подключений, за которыми DHCP-сервер находиться не может, зато вполне может находиться атакующее устройство.


    В данном случае DHCP snooping необходим для того, чтобы указать коммутатору, что следует обращать внимание на пакеты DHCP offer и acknowledgment, проходящие сквозь него, и не допускать прохождения данных пакетов с недоверенных портов. Также широковещательные запросы от клиента (discover и request) теперь будут перенаправляться только на доверенные порты. Выглядеть топология должна примерно так:

    Для конфигурирования функции DHCP snooping необходимо:

    Спасти трафик от прослушки также может шифрование на стороне клиента, например туннелирование в транспортном режиме.

    DHCP starvation

    Описание

    Еще одна атака, осуществляемая при помощи протокола DHCP. DHCP-пул, из которого клиенты получают IP-адреса, ограничен. Например, это может быть 253 адреса (при маске 255.255.255.0). Для нормальной работы сети этого должно хватить всем клиентам, но атака DHCP starvation стремится изменить данную ситуацию. Как происходит действие:

    1) Атакующее устройство запрашивает себе IP-адрес у DHCP-сервера и получает его;
    2) MAC-адрес атакующего устройства изменяется и оно запрашивает следующий, уже другой IP-адрес, маскируясь под нового клиента;
    3) Такие действия повторяются до тех пор, пока весь пул IP-адресов на сервере не будет исчерпан.

    Далее возможны два последствия, в зависимости от того, что является целью атаки:

    • Отказ в обслуживании. IP-адреса исчерпаны, и новые хосты не могут получить их. Таким образом, их взаимодействие с сетью на этом закончится.
    • Подмена DHCP-сервера. DHCP starvation отлично комбинируется с предыдущей атакой. Так как на основном DHCP-сервере свободных адресов не осталось, он выбывает из игры, и 100% клиентов достается вражескому атакующему DHCP-серверу.

    Методы защиты

    Самый простой способ защиты – ограничение числа MAC-адресов на порту коммутатора. Реализуется это с помощью функции port-security:

    Таким образом атакующее устройство просто не сможет исчерпать лимит IP-адресов DHCP-пула, так как коммутатор не позволит ему безнаказанно изменять свой MAC-адрес.

    Также здесь может помочь все тот же DHCP snooping, а именно команда
    SW(config-if)ip dhcp snooping limit rate

    Данная команда ограничивает количество DHCP пакетов в секунду на порт (рекомендуется не более 100 pps), а при превышении данного ограничения переводит порт в состояние err-disable, то есть временно выключает его. Обычный клиент не превысит данный лимит, а вот атакующее устройство, генерирующее сотни MAC-адресов в секунду, будет обнаружено.

    СAM-table overflow

    Описание

    Для того, чтобы понять, как работает данная атака, необходимо понимать принцип работы коммутатора.



    Представим новый коммутатор SW, к которому подключены два хоста PC1 (MAC 0000.1111.1111) и PC2 (MAC 0000.2222.2222). На них уже настроены IP-адреса (10.0.0.1 и 10.0.0.2) и они хотят общаться друг с другом. Так как они располагаются в одной подсети, наличие маршрутизатора не требуется и весь обмен пакетами будет происходить с помощью коммутатора. Итак, какова последовательность установления их общения:

    1) PC1 хочет обратиться к PC2 по IP-адресу. Тем не менее MAC-адрес PC2 ему неизвестен, поэтому PC1 использует протокол ARP. Отправляется широковещательный запрос: «Компьютер с IP-адресом 10.0.0.2, сообщите пожалуйста свой MAC-адрес компьютеру с адресом 10.0.0.1, чтобы я мог общаться с вами».
    2) Коммутатор пересылает запрос на все свои порты, но записывает соответствие MAC-адреса отправителя (0000.1111.1111) и порта, теперь все кадры, адресованные данному получателю он будет пересылать непосредственно, а не наугад во все доступные интерфейсы.
    3) PC2 получает адресованный ему пакет, понимает что должен ответить, и сообщает свой MAC-адрес PC1. Коммутатор при этом заносит в CAM-таблицу (таблицу MAC-адресов) запись вида: (интерфейс gig1/2 – MAC 0000.2222.2222). Теперь, когда компьютеры будут обмениваться информацией, задействоваться будут только два порта, за которыми они расположены. На другие информация пересылаться не будет.

    Основной смысл в том, что если коммутатор видит адрес получателя в своей CAM-таблице, он пересылает кадр в конкретный порт. Если не видит – устраивает широковещательную рассылку, в надежде, что кадр все-таки найдет адресата.

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

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

    Следует заметить, что все коммутаторы, подключенные к атакованному также подхватят фальшивые MAC-адреса и начнут вести широковещательную рассылку всех кадров.

    Методы защиты

    1) Port-security на всех access-портах с лимитированием максимального количество MAC-адресов.
    2) Шифрование трафика – в таком случае хоть все кадры и будут рассылаться широковещательно, а производительность сети сильно ухудшится, информация, попавшая в чужие руки, не будет прочитана.

    VLAN hopping

    Описание

    Следующая атака базируется на возможности коммутаторов автоматически согласовывать тип своего порта - access или trunk.

    Немного теории о том, чем access порт отличается от trunk порта:

    Как известно, протокол 802.1Q повсеместно используется во всех современных сетях. Суть его состоит в том, что он слегка расширяет ethernet кадр, добавляя туда несколько полей (в частности поле VLAN Identifier, VID). На основании данного поля коммутатор способен определить, какой группе портов адресован тот или иной кадр.


    Благодаря полю VID, к одному коммутатору можно подключить клиентов из нескольких разных подсетей, тем самым ограничив широковещательный домен. Также появляется возможность объединить клиентов, подключенных к разным коммутаторам в одну логическую сеть.

    По сути 802.1Q - очень гибкий механизм для создания необходимой логической топологии поверх уже существующей физической.
    Рассмотрим процесс передачи кадра в сети с протоколом 802.1Q.


    1) PC1 подключен к access-порту fa2/1 коммутатора SW1 в 10 VLAN’е. Это означает, что при попадании кадра на порт коммутатора, в него будет добавлен 802.1Q header с информацией о принадлежности к VLAN10.
    2) SW1 пересылает тегированный кадр на SW2 через trunk-порт.
    3) SW2 получает кадр, смотрит в свою CAM-таблицу и отправляет кадр в соответствующий access-порт, заголовок 802.1Q снимается.

    При этом можно выделить следующие особенности:

    • Клиенты ничего не знают о своей принадлежности к определенному VLAN и работают с нетегированными кадрами, заголовок 802.1Q появляется только при прохождении кадра через access-порт;
    • Порт может быть нетегирован (access) только в одном VLAN (верно для коммутаторов Cisco);
    • Через тегированный (trunk) порт можно передавать кадры, принадлежащие к разным VLAN.
    • Существует так называемый native VLAN – при попадании на trunk-порт кадра без тега, он автоматически будет причислен к native VLAN. Как правило native VLAN’ом по умолчанию считается VLAN1 (изменяемо).
    При этом кадры, принадлежащие native VLAN и попавшие в access-порт, передаваться через trunk-порт будут без тега.

    Перейдем к самой атаке:

    Как уже было сказано, VLAN hopping основан на том, что коммутаторы имеют возможность автоматически согласовывать тип порта. Используется для этого проприетарный протокол компании Cisco DTP (Dynamic Trunking Protocol). При его использовании (а он включен по умолчанию) возможны следующие состояния порта: dynamic auto, dynamic desirable, static access, static trunk. Предоставим сводную таблицу, как согласуются состояния двух портов, подключенных друг к другу:


    Как мы видим, при определенных условиях, а именно в режимах dynamic auto и dynamic desirable порт коммутатора может согласовать свою работу в режиме trunk. Это значит, что если атакующее устройство будет вести себя как порт в режиме desirable оно согласует на себя trunk-порт и получит доступ к трафику всех VLAN’ов, которыми оперирует коммутатор.

    Основная проблема заключается в том, что на коммутаторах Cisco все порты по умолчанию находятся в режиме auto. Поэтому даже если порт настроен в режиме access/auto при получении запроса на согласование его состояние может измениться на trunk/auto.

    Методы защиты
    Описание

    Еще один возможный вектор атаки VLAN hopping – использование native VLAN и добавление второго тега. Работает он только в том случае, если атакующее устройство находится в том VLAN, который является native VLAN для trunk-порта.


    Исходя из определения native VLAN, кадр, пришедший на порт fa2/1, находящийся в VLAN1, будет передаваться через trunk-порт нетегированным, но, так как злоумышленник PC1 присвоил ему два заголовка, на выходе он окажется с тегом VLAN2 и дойдет до атакуемого клиента, чего при нормальной ситуации быть не должно.

    Следует заметить, что такая атака является однонаправленной, так как невозможно по такой же схеме передать кадр обратно.

    Методы защиты

    Защититься можно следующим образом:

    Теперь атака неосуществима, так как VLAN 999 не относится ни к одному из access-портов.

    MAC-Spoofing

    Описание

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

    В таблице MAC-адресов коммутатора запись с атакованным MAC-адресом будет соотнесена с интерфейсом, на котором в последний раз был идентифицирован кадр с данным source MAC. Таким образом, до поступления кадра с атакуемого устройства, все данные коммутатор, на основании своей CAM-таблицы, будет пересылать на атакующий компьютер.

    Посмотрим атаку на практике. Использовать будем следующую топологию:



    Добиться воспроизведения не удалось, т.к. коммутатор при включении порта на PC2 сразу перебивал MAC на интерфейс Eth0/1, и даже при пинге с PC1 на R в дебаге на SW наблюдалась такая картина:



    Методы защиты

    Официально рекомендуемый метод – включение port-security на интерфейсе коммутатора:

    Смотрим на таблицу:


    И видим, что теперь MAC-адрес статически закреплен за интерфейсом Eth0/0. Теперь PC2, находящийся за портом Eth0/1 недоступен, и атаку можно считать отбитой.

    Когда у нас есть домашняя или профессиональная сеть с управляемыми коммутаторами и Wi-Fi точки доступа, очень важно обеспечить сеть необходимой безопасностью, чтобы избежать или смягчить возможные атаки со стороны будущих клиентов, будь то проводные клиенты или беспроводные клиенты. Сегодня в этой статье мы поговорим о мерах безопасности, которые вы можете предпринять для защиты своей сети, о настройке коммутаторов, а также точек доступа Wi-Fi особым образом, чтобы сделать сеть максимально безопасной.

    Общая конфигурация локальной сети

    Когда мы говорим о продвинутой домашней сети или профессиональной сети, очень важно иметь правильная сегментация с помощью VLAN . Обязательно наличие роутера / брандмауэр который поддерживает VLAN со стандартом 802.1Q, который используется в настоящее время, благодаря этой поддержке VLAN мы можем настроить выделенную подсеть для каждой из VLAN, а также разрешить или запретить доступ между различными VLAN, которые у нас есть .

    Защита коммутаторов и точек доступа в локальной сети

    Настоятельно рекомендуемая практика для обеспечения максимально возможной безопасности в сети - это: иметь определенную подсеть и VLAN для управления различными устройствами локальной сети, то есть коммутаторов, точек доступа WiFi, которые у нас есть, и контроллера WiFi программно или аппаратно. Все, что касается управления, администрирования и мониторинга различного сетевого оборудования, должно содержаться в этой VLAN.

    Благодаря маршрутизаторам / брандмауэрам с поддержкой VLAN его можно настроить для предотвращения доступа из других VLAN к этой VLAN управления, с тем чтобы никто не мог получить доступ к меню веб-конфигурации различных устройств, доступ также не будет разрешен. через SSH или выполните обычный пинг. То есть все коммуникации из остальных подсетей, таких как «маркетинг», «гости», «рабочие», не будут иметь доступа к этой конкретной VLAN.

    По умолчанию на всех компьютерах (маршрутизаторах, коммутаторах и точках доступа) VLAN ID 1 является VLAN управления и администрирования, этот идентификатор VLAN рекомендуется изменить в целях безопасности и применить соответствующие списки управления доступом для разрешения или запрета доступа. Например, если мы используем профессиональный маршрутизатор, такой как DSR-1000AC, мы можем настроить идентификатор VLAN, который нам нужен, и использовать определенную подсеть, остальные коммутаторы должны находиться в этой конкретной подсети.


    Представим, что мы создаем VLAN ID 10 на маршрутизаторе / межсетевом экране, а также на коммутаторах, которые будут управляющими. В маршрутизаторе или брандмауэре мы должны создать этот идентификатор VLAN и пропустить все VLAN через интерфейс в «магистральном» режиме, то есть с тегами VLAN, чтобы коммутатор «понимал» различные VLAN, которые мы ему передаем.

    Конфигурация управляющей VLAN в коммутаторах, также известной как «Management VLAN», настраивается несколькими способами:

    • У нас есть специальное меню «Management VLAN», в котором мы выбираем VLAN, в которой мы хотим, чтобы управление происходило. Частный IP-адрес, который мы вводим в коммутатор, должен находиться в диапазоне управляющей VLAN 10, в противном случае используйте DHCP-клиент для автоматического получения IP-адреса.
    • Если у нас есть коммутатор с функциями L3, мы должны создать «интерфейс IPv4» с VLAN ID 10 и предоставить частный IP-адрес в пределах диапазона управления VLAN 10 или использовать DHCP-клиент для автоматического получения IP-адреса.

    Например, на этот раз мы использовали коммутатор D-Link DGS-3130-30TS, как видите, у нас настроены различные сети VLAN, а порты 25 и 26 помечены как «Tagged»:


    В разделе «Интерфейс IPv4» мы создаем новый интерфейс с идентификатором VLAN, который нам нужен, мы помещаем IP-адрес для администрирования, и в это время мы сможем администрировать это устройство только через эту VLAN и с этим конкретным IP-адресом. .


    В более простых переключателях, которые являются «умными», например, в линейке DGS-1210 от D-Link, у нас также есть эта функциональность с доступными аналогичными опциями. В этом случае это не позволяет нам удалить VLAN интерфейса по умолчанию, но мы можем отключить администрирование, поэтому мы будем в том же сценарии. Как видите, в этом случае мы также можем зарегистрировать VLAN, которую хотим для администрирования, фактически, это позволяет нам зарегистрировать до 4 IP-интерфейсов в этом интеллектуальном коммутаторе.


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

    Конфигурации на управляемых коммутаторах

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

    Управление портами и транками

    • Отключите порты коммутатора, которые не будут использоваться.
    • Не согласовывать стволы автоматически.
    • Порты, которые не являются транками, явно помещают их как ACCESS.


    Существует еще одна атака, называемая двойным тегированием, которая позволяет отправлять данные в виртуальную локальную сеть, которая на самом деле недоступна. Чтобы избежать этой атаки, рекомендуется следующее:

    • Порты, которые не используются, явно помещают их как ACCESS в виртуальную локальную сеть, созданную в коммутаторе и не имеющую реального использования (например, VLAN 999).

    Сделав эти основные рекомендации, мы избежим большого количества возможных атак.

    Порт-Безопасность

    • Ограничьте количество MAC-адресов, которые могут подключаться к этому порту.
    • Разрешить только MAC-адреса, которые отображаются в белом списке.
    • Выключение: порт может быть отключен автоматически, затем администратору придется вручную выключить его или подождать определенное время, пока он не восстановится самостоятельно. В зависимости от переключателя у нас будет больше или меньше вариантов.
    • Restrict (ограничено): трафик MAC-адреса, который нарушил применяемую политику, блокируется, увеличивает счетчик нарушений, чтобы проверить, что произошло на порту.
    • Protect (защищенный): трафик MAC-адреса, нарушившего примененную политику, блокируется, счетчик не увеличивается.


    Обычно по умолчанию он находится в режиме «выключения».

    Вы используете Spanning-Tree в своих коммутаторах?

    • Активируйте функцию bpduguard : эта функция предотвращает получение кадра STP на определенном порту, она автоматически блокирует кадры. Это нужно делать на не магистральных портах, иначе мы заблокируем порт.
    • Включить функцию защиты корня : Эта функция предотвращает превращение нового устройства в корневой или корневой коммутатор сети. Если получен кадр, указывающий, что коммутатор станет корневым, если эта функция активирована на порту, он автоматически заблокирует кадры и проигнорирует его.


    Эта мера безопасности очень важна, но если вы не используете Spanning-Tree (или RSTP, MSTP), вам не придется выполнять какую-либо настройку.

    Отслеживание DHCP

    Злоумышленник может создать поддельный DHCP-сервер в нашей организации и предоставить IP-адреса различным проводным и даже беспроводным клиентам. Чтобы смягчить это, абсолютно необходимо включить функцию DHCP Snooping, одну из самых важных функций безопасности, которые есть у коммутаторов.



    Анти-ARP-спуфинг

    Коммутаторы также включают меры безопасности для предотвращения атак ARP Spoofing, также известных как ARP Poisoning. Таким образом, если мы зарегистрируем в маршрутизаторе комбинацию «IP, MAC и порт», злоумышленник не сможет обмануть жертву с помощью шлюза по умолчанию (маршрутизатора) для захвата сетевого трафика. Очень важно зарегистрировать в этом разделе все шлюзы или критическое оборудование, которое у нас есть в сети, такое как серверы, таким образом, они не смогут выполнить атаку ARP Spoofing.


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

    Прочие меры безопасности

    • Предотвращение DoS-атак : коммутаторы позволяют настроить все порты для обнаружения возможных DoS-атак с высоким трафиком и очень специфическим трафиком. Например, мы можем избежать атак Land Attack, TCP Xmasscan, TCP Null-Scan или TCP SYNFIN и других. В зависимости от переключателя у нас будет несколько доступных атак или другие, чтобы их избежать.
    • Контроль бури : цель этой меры безопасности - предотвратить отправку проводным клиентом большого количества одноадресного, многоадресного или широковещательного трафика. Этот тип атаки направлен на блокировку или обрушение сети, коммутатор позаботится о ее предотвращении.
    • Сегментация трафика : мы уже говорили ранее, что можем сегментировать сеть на разные VLAN с подсетями. Если мы хотим изолировать устройство от определенного порта и VLAN 20 (например) от другого устройства на том же коммутаторе, который также находится в VLAN 20, мы можем настроить «Сегментацию трафика», чтобы избежать обмена данными.

    Другие более сложные конфигурации, которые мы можем выполнить, - это аутентификация каждого из проводных клиентов на сервере RADIUS или TACACS с использованием протокол 802.1X . Этот протокол позволяет нам аутентифицировать проводных клиентов, которые подключаются к коммутатору. Если они не могут пройти аутентификацию автоматически, весь создаваемый им трафик будет отклонен. Это одна из лучших мер безопасности, которую мы можем настроить в коммутаторе, потому что она позволяет нам аутентифицировать клиентов.

    После того, как мы увидим основные меры безопасности в коммутаторах, мы посмотрим, какие меры безопасности мы можем применить к точкам доступа Wi-Fi.

    Конфигурация на точках доступа

    Конфигурация безопасности в точках доступа Wi-Fi, чтобы клиенты не могли получить к ним доступ, проста, если мы правильно сегментировал сеть на VLAN . Как правило, контроллеры Wi-Fi используются программным или аппаратным обеспечением, чтобы централизованно управлять десятками точек доступа Wi-Fi, эти контроллеры Wi-Fi всегда будут находиться в сети управления, поскольку они будут отвечать за управление точками доступа Wi-Fi в этой подсети. .

    В примере, который вы увидите ниже, мы использовали Nuclias Connect на DNH-100, который расположен в VLAN 10, которая является нашей управляющей VLAN. Как видите, конфигурация VLAN указывает на то, что порт «Mgmt» находится в VLAN 10 и имеет значение «Tagged» , как и остальные сети VLAN, которые мы получаем через порт LAN, так что все точки доступа Wi-Fi правильно получают все VLAN от коммутатора.


    В этом случае VLAN, соответствующие сетям WiFi, помечены как «Untag», иначе беспроводные клиенты не смогут правильно подключиться. Для конечных клиентов (Wi-Fi-клиенты, принтеры, ПК и т. Д.) Все VLAN всегда должны быть без тегов, если только они не знают, как «понимать» 802.1Q, как это делают серверы NAS.

    После того, как мы правильно сегментировали точки доступа с их внутренней сетью управления и с виртуальными локальными сетями для клиентов, мы также должны защищать доступ к разным точкам доступа с помощью соответствующих имени пользователя и пароля . В разделе «Настройки устройства» нам нужно будет установить имя пользователя «admin» и надежный пароль, это будет пароль, с помощью которого вы сможете получить доступ к веб-сайтам администрирования всех точек доступа Wi-Fi, которыми мы управляем централизованно.

    Мы также можем активировать или нет консольный доступ к точкам доступа WiFi , в случае, если консольный доступ вообще не используется, в целях безопасности рекомендуется отключить его. Любую неиспользуемую службу лучше всегда отключать. Конечно, вы всегда должны выбирать SSH и никогда не использовать Telnet, потому что последний является небезопасным протоколом.


    Как вы видели, мы должны принять ряд мер безопасности как в коммутаторах, так и в точках доступа Wi-Fi, чтобы поддерживать безопасность всей сети, а также клиентов.

    Сетевые атаки и защита от них

    Сегодня мы рассмотрим наиболее популярные виды сетевых атак и разберем методы защиты от них на примере операционной системы Cisco IOS. В данной статье мы поговорим о сетевых атаках, относящиеся к DHCP, VLAN, STP и Switch table.

    В теории обеспечения информационной безопасности есть такое понятие, как глубоко эшелонированная оборона (Defense in depth). Этим умным термином называют концепцию, в которой весь корпоративный ИТ-ландшафт делится на несколько уровней контроля безопасности и защиты от атак. В такой схеме один уровень защиты от атак, не зависит от остальных и является самостоятельной единицей.

    К примеру, на границе внутренней локальной сети и интернета стоят периметровые средства защиты, такие как Firewall, IDS/IPS, NGFW (Next-Generation_Firewall) или UTM-шлюзы. После этого вся сеть мониторится на предмет выявления аномальной активности и инцидентов информационной безопасности, к примеру с помощью SIEM-системы. Состояние программного обесепечения контролируется с помощью сканеров безопасности.

    На другом уровне безопасности задействованы средства защиты прикладного ПО, к примеру WAF для веб-сервера или DAM для СУБД. Ну а на конечных узлах применяются уже endpoint средства защиты — AV, SSO, DLP и другие страшные аббревиатуры, которыми обозначают штатные механизмы безопасности операционной системы, разделения прав доступа и полномочий пользователей, шифрование на лету и т.д.

    Концепция глубоко эшелонированной обороны

    Концепция глубоко эшелонированной обороны

    В статье мы рассмотрим только одну часть этой схемы, а именно защиту сетевого периметра корпоративного ИТ-ландшафта на примере коммутаторов и маршрутизаторов компании Cisco.

    Чтобы провернуть все описанные в этой статье атаки на практике, не нужно много софта. Вполне хватит утилиты Yersinia. Она доступна для установки на любую Linux-систему и входит в сборку популярного дистрибутива для пентестеров Kali Linux.

    Типовые сетевые атаки

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

    Rogue DHCP Server

    Но чаще всего атака с подменой сервера DHCP не является атакой как таковой, а скорее служит неким плацдармом для дальнейшего углубления хакеров в атакуемую сеть.

    Иллюстрация атаки Rogue DHCP Server

    Иллюстрация атаки Rogue DHCP Server

    DHCP starvation

    Еще одна простая и популярная атака, выполняемая при помощи протокола DHCP. Суть ее заключается в том, что пул DHCP, из которого все корпоративные клиенты получают IP-адреса, изначально ограничен доступным диапазоном. Например, это может быть 253 адреса при использовании маски 255.255.255.0. Для нормальной работы сети этого должно хватить всем клиентам за глаза, однако «атака резервации» (DHCP starvation) стремится исчерпать этот пул и таким образом вывести легитимный сервер DHCP из игры.

    Если воспроизвести действия злодеев по шагам, то вот как происходит такая атака:

    1. Атакующее устройство запрашивает себе IP-адрес, маску и шлюз по умолчанию у сервера DHCP и получает их.
    2. MAC-адрес атакующего устройства изменяется, и оно запрашивает следующий, уже другой IP-адрес, маскируясь под некоего нового клиента, который появился в корпоративной сети.
    3. Предыдущие два пункта циклически повторяются до тех пор, пока весь пул IP-адресов на сервере не будет исчерпан.

    Возможны два следствия, в зависимости от того, чего добиваются атакующие:

    • Отказ в обслуживании. Имеющиеся у сервера IP-адреса исчерпаны, и новые хосты не могут получить их. Таким образом, их взаимодействие с сетью на этом закончится.
    • Подмена сервера DHCP. DHCP starvation отлично комбинируется с предыдущей атакой Rogue DHCP Server. Так как на основном сервере DHCP свободных адресов уже не осталось, он выключается, и все 100% корпоративных клиентов сети достаются вражескому атакующему DHCP-серверу.

    Атака на переполнение таблицы, или СAM table overflow

    Атака CAM table overflow, или переполнение локальной таблицы MAC-адресов, реализуется, когда таблица коммутации заполняется и после этого коммутатор работает в режиме хаба. Иными словами, подключившись к любому порту коммутатора после успешной атаки, можно перехватывать весь трафик в пределах широковещательного домена, которому принадлежит этот порт. Атаку можно выполнить, например, с помощью утилиты macof, которая входит в dsniff.

    Чтобы понять, как работает эта атака, необходимо знать принципы работы современного коммутатора. Давай представим себе коммутатор с именем SW, к которому подключены два равнозначных хоста PC1 (MAC 0000.1111.1111) и PC2 (MAC 0000.2222.2222). На них уже настроены IP-адреса (10.0.0.1 и 10.0.0.2), и эти хосты хотят общаться друг с другом, как разнополые подростки в пубертатный период.

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

    1. PC1 хочет обратиться к PC2 по IP-адресу. Тем не менее MAC-адрес PC2 ему неизвестен, поэтому PC1 использует протокол ARP. Для этого отправляется широковещательный запрос всей сети.
    2. Получив широковещательный запрос, коммутатор пересылает его на все свои порты, но записывает соответствие MAC-адреса отправителя ( 0000.1111.1111 ) и порта. Теперь все пакеты, адресованные данному получателю, он будет пересылать адресату, а не во все доступные интерфейсы подряд.
    3. PC2 получает адресованный ему пакет, понимает, что должен ответить, и сообщает свой MAC-адрес PC1. Коммутатор при этом заносит в CAM-таблицу (таблицу MAC-адресов) запись вида интерфейс gig1/2 - MAC 0000.2222.2222) . Теперь, когда компьютеры начнут обмениваться информацией, будут использоваться только два порта, за которыми они расположены. На другие порты информация пересылаться не будет.

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

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

    Коммутатор начнет рассылать кадры, адресованные конкретному получателю, на все порты, находящиеся в том же VLAN. Следовательно, у атакующего устройства появится возможность перехватить и прочитать их.

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

    Атака на виртуальные сети, или VLAN hopping

    Следующая атака базируется на возможности коммутаторов автоматически согласовывать тип своего порта — access или trunk . В двух словах расскажу о том, чем порт access отличается от trunk . Наберись терпения!

    Как известно, протокол 802.1Q используется во всех современных сетях. Хитрая особенность этого протокола состоит в том, что он слегка расширяет ethernet-кадр, добавляя туда несколько полей (в частности, поле VLAN Identifier, VID). На основании этого поля коммутатор способен определить, какой группе портов адресован тот или иной кадр.

    Благодаря полю VID к одному коммутатору можно подключить клиенты из нескольких подсетей, тем самым ограничив широковещательный домен. Также появляется возможность объединить подключенные к разным коммутаторам клиенты в одну логическую сеть.

    Иллюстрация сетевой атаки VLAN hopping

    Иллюстрация сетевой атаки VLAN hopping

    Рассмотрим передачу кадра в сети с протоколом 802.1Q.

    1. PC1 подключен к access-порту fa0/1 коммутатора SW1 в VLAN c порядковым номером 10. Это означает, что при попадании кадра на порт коммутатора в него будет добавлен 802.1Q-header с информацией о принадлежности к VLAN10.
    2. SW1 пересылает тегированный кадр на SW2 через trunk-порт.
    3. SW2 получает кадр, смотрит в свою CAM-таблицу и отправляет кадр на соответствующий access-порт, заголовок 802.1Q снимается.

    При этом можно выделить следующие особенности:

    • клиенты ничего не знают о своей принадлежности к определенному VLAN и работают с нетегированными кадрами, заголовок 802.1Q появляется только при прохождении кадра через access-порт;
    • порт может быть не тегирован (access) только в одном VLAN;
    • через тегированный (trunk) порт можно передавать кадры, принадлежащие к разным VLAN;
    • существует так называемый native VLAN — при попадании на trunk-порт кадра без тега он автоматически будет причислен к native VLAN. Как правило, native VLAN по умолчанию — это VLAN1 (но это можно изменить);
    • при этом кадры, принадлежащие native VLAN и попавшие в access-порт, передаваться через trunk-порт будут без тега.

    А теперь перейдем к самой атаке. Как уже было сказано, VLAN hopping основан на том, что коммутаторы имеют возможность автоматически согласовывать тип порта. Используется для этого проприетарный протокол компании Cisco под названием DTP. При его использовании (а он включен по умолчанию) возможны следующие состояния порта: dynamic auto , dynamic desirable , static access , static trunk .

    Как мы видим, при определенных условиях, а именно в режимах dynamic auto и dynamic desirable , порт коммутатора может согласовать свою работу в режиме trunk . Это значит, что, если атакующее устройство будет вести себя как порт в режиме desirable , оно согласует на себя trunk-порт и получит доступ к трафику всех виртуальных сетей, которыми оперирует коммутатор.

    Основная проблема заключается в том, что на коммутаторах Cisco все порты по умолчанию находятся в режиме auto . Поэтому, даже если порт настроен в режиме access/auto , при получении запроса на согласование его состояние может измениться на trunk/auto .

    Защита от сетевых атак

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

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

    Защита от Rogue DHCP Server

    Простейший способ защиты от атак класса Rogue DHCP Server — это включить на всех коммутаторах такую функцию, как DHCP snooping. Однако перед этим необходимо определить два типа портов:

    • доверенные — порты коммутатора, к которым подключается DHCP-сервер либо другой легитимный коммутатор;
    • недоверенные — порты для клиентских подключений, за которыми DHCP-сервер находиться не может.

    В данном случае DHCP snooping необходим для того, чтобы указать коммутатору, что следует обращать внимание на проходящие сквозь него пакеты DHCP offer и acknowledgment, и не допускать прохождения таких пакетов с недоверенных портов. Также широковещательные запросы от клиента ( discover и request ) теперь будут перенаправляться только на доверенные порты.

    Читайте также: