Security

Как настроить VLAN таким образом, чтобы не подвергать меня риску переключения VLAN?

Мы планируем перевести нашу производственную сеть с конфигурации без VLAN на конфигурацию с тегами VLAN (802.1q). На этой диаграмме представлена планируемая конфигурация:

VLAN configuration

Одна существенная деталь заключается в том, что большая часть этих хостов на самом деле будет виртуальными машинами на одной пустой машине. Фактически единственными физическими машинами будут DB01, DB02, брандмауэры и коммутаторы. Все остальные машины будут виртуализированы на одном хосте.

Одно из опасений заключается в том, что такой подход сложен (подразумевается чрезмерная сложность) и что виртуальные локальные сети обеспечивают лишь иллюзию безопасности, поскольку «VLAN hopping is easy».

Является ли это обоснованным беспокойством, учитывая, что несколько VLAN будут использоваться для одного физического порта коммутатора благодаря виртуализации? Как мне правильно настроить свои VLAN, чтобы предотвратить этот риск? Кроме того, я слышал, что в VMWare ESX есть что-то под названием «виртуальные коммутаторы». Является ли это уникальным для гипервизора VMWare? Если нет, то доступно ли оно в KVM (мой планируемый гипервизор)? Как это может быть использовано?

Ответ 1

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

Общие мысли о безопасности

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

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

Общие мысли об относительно безопасных настройках виртуальных локальных сетей

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

Назначьте все неиспользуемые порты на «неиспользуемую» VLAN.

Все порты, подключенные к определенному компьютеру, должны быть назначены на VLAN, в которой должен находиться компьютер. Эти порты должны находиться в одной и только одной VLAN (за некоторыми исключениями, которые мы пока пропустим). На этих портах все входящие пакеты (на коммутатор) помечаются меткой родной VLAN, а исходящие пакеты (с коммутатора) будут a) исходить только из назначенной VLAN и b) не будут помечаться и будут выглядеть как любой обычный пакет ethernet.

Единственные порты, которые должны быть «транками VLAN» (порты в более чем одной VLAN) – это магистральные порты, то есть те, которые передают трафик между коммутаторами или подключаются к брандмауэру, который будет разделять трафик VLAN самостоятельно.

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

Конфигурация, описанная выше, означает, что единственное место, куда вы можете легко пропустить трафик «VLAN hopping», – это магистральный порт (если только в реализации VLAN ваших коммутаторов нет проблем с программным обеспечением), и, как и в «наиболее безопасном» сценарии, это означает отключение от сети чего-то важного, что вызовет тревогу мониторинга. Аналогично, если вы отключаете хост для подключения к VLAN, в которой он находится, ваша система мониторинга должна заметить таинственное исчезновение хоста и предупредить вас. В обоих случаях мы говорим об атаке с физическим доступом к серверам. Хотя нарушить изоляцию VLAN не совсем невозможно, это, как минимум, очень сложно в среде, настроенной так, как описано выше.

Особые мысли о VMWare и безопасности VLAN

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

Физический интерфейс машины VMWare должен быть подключен к магистральному порту VLAN (несущему те VLAN, к которым ей нужен доступ).

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

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

Ответ 2

«VLAN hopping» прост, если и только если неавторизованным устройствам разрешено передавать пакеты по магистралям без тегов vlan.

Это наиболее распространено в следующей ситуации. Ваш «обычный» трафик не маркирован; у вас есть «защищенный» vlan, который маркирован. Поскольку машины в «обычной» сети могут передавать пакеты, которые не проверяются тегами (чаще всего это делают коммутаторы доступа), пакет может иметь ложный тег vlan и, таким образом, попасть в vlan.

Простой способ предотвратить это: весь трафик получает метки на коммутаторах доступа (брандмауэры/маршрутизаторы могут быть исключением, в зависимости от того, как настроена ваша сеть). Если «нормальный» трафик получает метку на коммутаторе доступа, то любая метка, которую подделает неавторизованный клиент, будет сброшена коммутатором доступа (потому что у этого порта не будет доступа к метке). Короче говоря, если вы используете тегирование vlan, то все должно быть помечено в транках, чтобы обеспечить безопасность.

Ответ 3

Проведя достаточное количество тестирований на проникновение в виртуальные среды, я бы добавил эти два пункта:

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

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

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

Схожие статьи

Security

Следует ли заставлять пользователей менять пароли каждые несколько дней/недель/месяцев?

Security

Как предотвратить атаки «нулевого дня»

Security

Насколько сложно настроить почтовый сервер?

Security

Как я могу использовать rsync с файловой системой FAT?

×