Карантинный VLAN для XP: как изолировать то, что нельзя перевезти
АСУ ТП и спецоборудование на XP не переедут на Windows 7 никогда. Рассказываем, как выстроить изоляцию сетевым периметром и что мониторить поверх неё.
Практика изоляции устаревших систем после окончания поддержки XP: карантинный VLAN без выхода в интернет как временная мера для АСУ ТП и спецоборудования.
Когда 8 апреля Microsoft отключила патчи для XP, у нескольких клиентов осталось оборудование, которое с той же XP никуда не переедет. Не потому что кто-то не успел, не потому что нет бюджета - просто физически нельзя. АСУ ТП, технологические контроллеры, промышленные панели, один стенд для калибровки измерительных приборов. Всё это работает только под XP, вендоры про Windows 7 либо молчат, либо говорят прямо: поддержки не будет.
Мы уже описывали общий статус миграции в итоговом посте по XP. Там карантинный VLAN упомянут одной строкой. Здесь - подробнее, потому что вопросы стали приходить: как именно это выглядит, что конкретно настраивается и что это вообще даёт.
Почему именно VLAN, а не просто «закрыть файрволлом»
Можно было бы сказать «ставим правила на файрволл и успокаиваемся». Теоретически правильно. Практически - уязвимое место не в правилах, а в том, что машина с XP продолжает жить в том же широковещательном домене, что и всё остальное. Это значит, что при эксплуатации уязвимости вида «проникли через USB или локальный вектор» атакующий сразу оказывается в полноценном доступе к L2-сегменту. VLAN создаёт барьер уже на уровне коммутатора - трафик с изолированных машин физически не попадает в основную сеть без явного разрешения на маршрутизаторе.
Схема простая:
основная сеть (VLAN 1)
|
| маршрутизатор/файрволл (ACL)
|
карантинный VLAN (VLAN 50)
|--- АСУ ТП-контроллер
|--- стенд калибровки
|--- весовые терминалы
На файрволле - минималистичные правила. Каждая машина получает доступ строго к тому серверу, с которым работает её ПО. Никакого «разрешить всё в VLAN 1», никакого широкого диапазона. Доступ к интернету - заблокирован полностью. RDP к этим машинам - только с выделенного jump-хоста администрирования, который сам живёт в отдельном управляющем VLAN.
Что конкретно настраивали
Первое - инвентаризация трафика. Прежде чем ставить правила, несколько дней писали трафик с этих машин: к каким IP обращаются, какие порты, какие протоколы. Это важный шаг - часть трафика оказывается неожиданной. Один контроллер ходил за обновлениями времени на публичный NTP - пришлось поднять внутренний NTP-сервер и перенаправить на него. Без этого шага правило «запретить всё лишнее» превращается в рулетку: то ли работает, то ли просто не заметили, что сломалось.
Второе - VLAN на коммутаторе. Изолированные машины переведены в отдельный VLAN с тегированием на портах коммутатора. Порты, к которым они подключены, - access-порты в VLAN 50, без trunk. Случайный кабель в соседний порт не даст доступа к основной сети.
Третье - ACL на маршрутизаторе. Правила по принципу «разрешено явно, остальное запрещено»:
# пример для одного контроллера
permit ip host 10.50.0.11 host 10.1.5.20 eq 502 # Modbus TCP к серверу SCADA
permit ip host 10.50.0.11 host 10.1.1.5 eq 123 # NTP к внутреннему серверу
deny ip 10.50.0.0/24 any
Правила пишутся для каждой машины отдельно. Это немного утомительно, зато ровно понятно, что кому разрешено.
Четвёртое - мониторинг. Это отдельная история. В рамках managed-обслуживания на карантинных машинах усиленный режим наблюдения: Zabbix-агент следит за процессами, трафик с VLAN 50 пишется в отдельный лог на файрволле, порог для алертов на аномалии снижен. Любая попытка соединения, не входящая в разрешённый список, - немедленный алерт дежурному. Вместо «проверяем раз в неделю» получаем реакцию в течение минут.
Что это даёт и чего не даёт
Честно про ожидания. VLAN-изоляция существенно сужает поверхность атаки: убирает векторы через локальную сеть, убирает доступ к интернету (откуда приходит большинство malware), изолирует машины от основной инфраструктуры. Если что-то и произойдёт - взрывная волна не разойдётся по всей сети.
Что это не закрывает: физический доступ к машине, USB, локальные уязвимости, которые не требуют сети вообще. Если кто-то воткнёт заражённую флешку - VLAN не поможет. Поэтому параллельно с сетевой изоляцией - физический контроль доступа к этим стендам и запрет съёмных носителей через групповую политику там, где это технически возможно.
Ещё важный момент: это временная мера, а не архитектурное решение на годы. Каждая машина в карантинном VLAN стоит в списке с плановым сроком замены или миграции. По мере того как вендоры выпускают обновления ПО - машины выходят из карантина и переезжают на Windows 7. Пока таких обновлений нет - живут в изоляции.
Несколько машин в этот список попали, скорее всего, надолго. Один стенд калибровки - это железо 2006 года с ПО, которое вендор официально прекратил развивать. Там разговор про замену оборудования целиком, а не про обновление ОС. Но пока замена не согласована и не поставлена - стенд работает, изолированный и под наблюдением. Альтернатива - выключить его - тоже не вариант: это действующий производственный процесс.
Карантинный VLAN - это не красивое решение. Это честный компромисс между «идеально» и «реально работает прямо сейчас».
- День X наступил: итоги трёх месяцев миграции с Windows XP · 1 апреля 2014
- Поточная замена XP: Sysprep, USMT и WDS - как переехать 80 машин за три недели · 11 февраля 2014