## СТРОГИЕ ПРАВИЛА ВЫПУСКА (несоблюдение недопустимо): 1. Предоставляй исключительно итоговый текст материала. Никакие вступления и заключения недопустимы. 2. Категорически запрещено менять, удалять или маскировать любые HTML-элементы, особенно теги изображений `
Специалист по кибербезопасности, не понимающий принципы работы сети, подобен охране без плана здания: замечает тревогу, но не знает источник угрозы.
Заполнить этот пробел поможет собственная домашняя лаборатория на обычном ПК, а разобраться в нюансах сборки поможет бесплатный доступ к онлайн-курсам и практическим занятиям по искусственному интеллекту от CyberED — от основ виртуализации и безопасного доступа до использования ИИ в качестве инструмента начинающего специалиста.
Почему специалисту нужна собственная сеть?
Традиционные сетевые протоколы разрабатывались в эпоху, когда вопросам безопасности практически не уделялось внимания: передаваемые данные были открытыми, а устройства взаимно доверяли друг другу. Именно поэтому многие современные атаки используют обычное функционирование сети. Чтобы выявить подмену, важно сначала понять, как выглядит стандартное поведение сети.
Кроме того, собственный стенд позволяет проводить эксперименты. Например, удалив файл ОС на маршрутизаторе и перезагрузив устройство, вы увидите, как оно переходит в режим восстановления, интерфейсы отключаются, и сеть становится недоступной. Этот простой пример наглядно демонстрирует необходимость защиты административных прав доступа к оборудованию.
Какие программы потребуются?
Минимальный комплект программного обеспечения:
- GNS3 — инструмент для моделирования сетевых топологий, позволяющий соединять маршрутизаторы, коммутаторы, хосты и виртуальные машины виртуальными кабелями.
- VirtualBox или VMware — платформы для запуска реальных операционных систем. Начнем с двух: Windows и Linux (например, Debian).
- Cisco Packet Tracer — учебный симулятор с визуализацией процессов, подходящий для быстрого тестирования, однако не поддерживающий полный набор команд и дающий результаты далекие от реальной среды.
- Wireshark — сетевой сниффер, показывающий реальный трафик, проходящий по каналам связи.
- draw.io — редактор диаграмм и схем с обширной библиотекой сетевого оборудования, работающий как браузерное приложение и десктоп-приложение.
Для эмулятора маршрутизатора в GNS3 потребуется образ операционной системы маршрутизатора. Встроенная среда Dynamips поддерживает только маршрутизаторы Cisco, тогда как остальные устройства работают через эмулятор QEMU.
Как избежать чрезмерной нагрузки на домашний ПК?
Лабораторный стенд с несколькими виртуальными машинами сильно загружает ресурсы компьютера. Вот несколько рекомендаций, чтобы снизить нагрузку:
- Запускайте устройства последовательно. Попытка одновременного старта всех компонентов часто приводит к зависанию системы.
- Ограничивайте объем выделяемой памяти виртуальным машинам. Для учебных целей достаточно выделить Windows 1 ГБ, а Debian без графического окружения — 512 МБ.
- Образ Cisco 7200 требует минимум 256 МБ, но GNS3 по умолчанию выделяет 512 МБ. Минимальное значение подходит лишь для простых сценариев, сложные ситуации требуют большего объема памяти.
- Перед добавлением нового маршрутизатора убедитесь, что корректно рассчитано значение Idle-PC, иначе эмуляция может занять весь процессор.
- Используйте аппаратное ускорение KVM для QEMU. Если система не поддерживает аппаратное ускорение, снимите соответствующую опцию в настройках.
- Не добавляйте лишние порты коммутатора — каждый дополнительный порт увеличивает потребление ресурсов, и для поддержки 16–24 портов придется существенно увеличивать объем оперативной памяти.
Первый проект: две сети и маршрутизатор
Начните с простейшей топологии: слева сеть 10.10.10.0/24, справа 192.168.10.0/24, между ними маршрутизатор. В каждой сети разместите по коммутатору и по два хоста: в левой подключите Debian и легкий хост VPCS, в правой — Windows и еще один VPCS. VPCS имитирует компьютер с ограниченным набором команд, достаточным для проверки доступности узлов (например, пинга).
Адресное пространство простое: интерфейсам маршрутизатора присваиваются адреса .1, хостам — соответственно .10 и .20. Рекомендуется сразу включить отображение имен портов на схеме, чтобы спустя некоторое время не забыть, какой кабель куда подключен.
Настройка маршрутизатора
Cisco IOS имеет несколько режимов доступа: обычный режим с приглашением «>«, ограниченные возможности, привилегированный режим с приглашением «#«, и режим конфигурации. Обычно в GNS3 консоль открывается сразу в привилегированном режиме.
Полезные приемы для ускорения работы: знак вопроса в любой строке выводит список возможных команд, клавиша Tab автоматически дополняет вводимые команды. Символ «cr`>` указывает, что команда готова к выполнению.
Первым делом проверьте состояние интерфейсов:
show ip interface brief
Интерфейсы с состоянием «administratively down`>` выключены. Включите нужный интерфейс и назначьте ему IP-адрес:
configure terminal interface FastEthernet0/0 ip address 10.10.10.1 255.255.255.0 description LAN-Debian no shutdown exit interface FastEthernet1/0 ip address 192.168.10.1 255.255.255.0 description LAN-Windows no shutdown end
Обратите внимание, что в Cisco IOS отсутствует явная команда включения интерфейса. Вместо этого используется отрицание: команда «no shutdown`>` активирует интерфейс, а «no hostname`>` сбрасывает название устройства.
Параллельно установите имя устройства командой «hostname`>`, часовой пояс через «clock timezone`>` и текущее время через «clock set`>`. Проверить текущую конфигурацию можно командой «show running-config`>`. После перезагрузки эта конфигурация теряется, поэтому сохраняйте ее в энергонезависимой памяти NVRAM командой «write`>`.
Шлюз по умолчанию и первый сбой
Задаем адреса на хостах. В Debian:
ip link set enp0s3 up ip addr add 10.10.10.20/24 dev enp0s3 ip -br -4 a
В Windows IP-адрес, маску и шлюз проще установить через свойства сетевого адаптера, проверяя результат командой «ipconfig /all`>`.
Попробуем интересный эксперимент: зададим шлюз только на Windows, оставив Debian без шлюза. Затем с Windows выполним команду «ping 10.10.10.20`>`. Пакеты будут приходить, но ответов не последует. Запустите Wireshark на линке к Debian и примените фильтр «icmp`>`: запросы видны, но ответов нет. Debian распознает пакеты из другой сети, но не знает, кому их передать.
Эта проблема решается назначением шлюза по умолчанию — IP-адреса маршрутизатора, на который отправляются все пакеты, предназначенные для внешних сетей:
ip route add default via 10.10.10.1 dev enp0s3 ip route show
После выполнения данной команды пинги начнут проходить, а с Windows можно открыть веб-сервер на Debian, если он запущен.
Важно помнить, что настройки, заданные командами в Linux, сохраняются только в оперативной памяти и теряются после перезагрузки. Однако история команд доступна через «history`>`, позволяя быстро восстановить предыдущие настройки.
Что интересного можно увидеть в трафике?
Практически каждая передача данных в локальной сети начинается с протокола ARP. Узлу известен IP-адрес соседнего устройства, но для передачи кадра необходим MAC-адрес. Поэтому узел отправляет широковещательный запрос на адрес FF:FF:FF:FF:FF:FF с вопросом, чей это IP. Получивший запрос узел отвечает персонально. В Wireshark с фильтром «arp`>` можно наблюдать обе стадии процесса: запрос и ответ.
Ответ сохраняется в ARP-кэше. Просмотреть содержимое таблицы можно командами «arp -a`>` в Windows, «ip neigh show`>` в Linux и «show arp`>` на маршрутизаторе. Временные записи существуют примерно одну-две минуты, после чего запрос повторяется. В Linux статусы записей включают «REACHABLE`>` (свежая запись), «STALE`>` (запись устарела) и «FAILED`>` (неуспешный запрос).
Однако здесь кроется уязвимость протокола: узел принимает любой полученный ответ и сохраняет его в таблицу. Таким образом, злоумышленник может подделать связь IP-MAC, что называется ARP-спуфингом. Ручная статическая запись, созданная через «arp -s`>` в Windows, защищена от замены.
Еще два коротких эксперимента:
- Присвойте VPCS адрес, уже занятый другим устройством. Узел сначала проверит доступность адреса, получив отказ от текущего владельца, и откажется его использовать. Этот механизм называется механизмом обнаружения конфликтов адресов.
- Определите MAC-адрес своей сетевой карты командой «getmac`>` и узнайте первые три байта в любом сервисе поиска OUI. Эти байты указывают на производителя оборудования, а у виртуальных карт VirtualBox и VMware есть собственные уникальные диапазоны.
Коммутатор и проблемы петель
На коммутаторе выполните команду «show mac address-table`>`. Таблица содержит только MAC-адреса, поскольку классический коммутатор работает именно с ними. Коммутатор запоминает MAC-отправителя и соответствующий порт, определяя дальнейшую передачу пакета по MAC-получателю. Если получатель неизвестен, кадр отправляется на все активные порты.
Широковещательные кадры также распространяются по всем доступным портам, пока не встретят маршрутизатор. Сети из множества несегментированных коммутаторов превращаются в единый широковещательный домен, замедляя производительность даже при доступе в интернет. Решением служат технологии разделения на VLAN.
Наиболее яркий эксперимент: создайте кольцо из трех коммутаторов. Без защиты один ARP-запрос начнет бесконечно циркулировать по кольцу, заполнив канал и нагрузив процессоры устройств. Такая ситуация называется широковещательным штормом. От нее спасает протокол STP, выбирающий корневой коммутатор с наименьшим идентификатором и блокирующий избыточные линии. Проверьте состояние дерева командой «show spanning-tree`>`, затем снизьте приоритет одного из коммутаторов ниже стандартного значения (кратно 4096) и наблюдайте, как сеть перестроится. Извлеките активный кабель — заблокированная линия вскоре активизируется.
Если два коммутатора соединены двумя кабелями, STP заблокирует один из них. Для параллельной работы обоих линий применяется технология агрегирования каналов LACP. Несмотря на объединение, скорость канала не увеличивается: трафик между двумя устройствами всегда проходит по одному физическому кабелю.
Проектируем собственную сеть для защиты
После успешного запуска стенда перенесите его в draw.io и дополните до схемы небольшого предприятия. Разделите сеть на зоны: внутреннюю (inside), внешнюю (outside) и DMZ для серверов, доступных извне (например, почтовых или веб-серверов). Подключите пользователей через уровень доступа, соедините коммутаторы уровня доступа с уровнем распределения двойными линками, а для крупных сетей добавьте ядро.
Проверяйте свою схему вопросами:
- Что выйдет из строя, если откажет маршрутизатор, межсетевой экран или кабель?
- Какие сервера действительно нуждаются в доступе из интернета, а какие лучше изолировать во внутренней зоне?
- Где расположен межсетевой экран и какие зоны он разделяет?
- Кто и откуда сможет получить доступ к административному режиму сетевого оборудования?
Дальнейшие шаги
Схема из двух сетей демонстрирует, как пакеты находят своего адресата и почему одиночная петля может парализовать офис. Далее на основе этой основы изучаются Linux, Windows и инструменты защиты. Следующим этапом может стать участие в программе CyberED «Инженерный октябрь», предоставляющей бесплатный доступ к курсам «Аналитик SOC», «Инженер по информационной безопасности», «Основы пентестинга», воркшопам по использованию ИИ в сфере ИБ и ассессментам навыков на платформе OctoForge.
