ADG Оставить заявку
Блог Информационная безопасность 4 мин чтения

Сегментация сети для PCI DSS: три VLAN на одном Cisco-стеке

Клиент с розничными картами просит помочь с сетевой сегментацией под PCI DSS. Строим DMZ, пользователей и POS в изолированных VLAN на одном Cisco-стеке.

Контекст момента

PCI DSS v1.0 опубликован в декабре 2004, в 2006 платёжные системы начали давить на торговцев и процессоров с требованием подтвердить соответствие

Звонок от клиента - розничная сеть, несколько точек, платёжные терминалы POS в каждой. Суть: банк-эквайер прислал письмо с упоминанием PCI DSS и вопросом, «как обстоит дело с сегментацией сети». Клиент письмо прочитал, не очень понял, что от него хотят, и позвонил нам.

PCI DSS v1.0 вышел в конце 2004-го. Стандарт написан Visa и MasterCard совместно и касается всех, кто хранит, обрабатывает или передаёт данные держателей карт. Требование 1 там прямое: построить и поддерживать межсетевой экран, изолирующий среду карточных данных от всего остального. На практике у большинства небольших торговцев это означает: вытащить POS-терминалы из общей корпоративной сети, в которой сидят менеджеры с браузерами и 1С.

Что нашли на месте

Сеть у клиента была классической «плоской»: один коммутатор на офис, все в одном широковещательном домене. POS-терминалы, бухгалтерия, касса, WiFi для склада - всё в одном /24. Между ними и интернетом - один Cisco ASA 5505 в базовой конфигурации, по сути просто NAT-шлюз с двумя зонами. Никакой сегментации между внутренними сегментами нет.

Отдельная история - сами терминалы. Они ходили в интернет через общий шлюз, по пути проходя мимо рабочих станций с Windows XP. После инцидента с Nyxem, который мы разбирали месяц назад, это выглядело совсем неуютно.

Архитектура: три сегмента на одном стеке

Железо менять не планировали - бюджет небольшой, да и Cisco Catalyst 2950, стоявший у клиента, поддерживает 802.1Q в полном объёме. Договорились на три VLAN:

  • VLAN 10 - POS-терминалы (CDE, cardholder data environment). Только терминалы, только трафик к процессингу по конкретным IP и портам. Никаких рабочих станций, никакого широковещания из других сегментов.
  • VLAN 20 - пользователи. Бухгалтерия, менеджеры, 1С-сервер. Доступ в интернет через ASA с инспекцией трафика, никакого прямого доступа к VLAN 10.
  • VLAN 30 - DMZ. Веб-сервер и почтовый релей, выставленные наружу. Отдельный интерфейс на ASA, минимум правил - только 80, 443, 25 входящих.
Интернет
    |
 [Cisco ASA 5505]
 /       |       \
VLAN30  VLAN10  VLAN20
 DMZ     POS    Users

Маршрутизация между VLAN - через ASA, не через коммутатор. Это принципиально: на ASA все inter-VLAN-пересечения проходят через ACL, которые можно логировать и контролировать. Если бы мы сделали inter-VLAN routing на самом Catalyst - трафик между сегментами шёл бы мимо файрвола.

Конфигурация и нюансы

На Catalyst 2950 каждый порт получил явный switchport access vlan или switchport mode trunk для аплинка к ASA. Никаких портов в дефолтном VLAN 1, который мы оставили пустым - старая привычка, VLAN 1 не использовать под рабочий трафик.

На ASA три интерфейса подняты как саб-интерфейсы на одном физическом аплинке с 802.1Q-тегированием. Security level выставлен явно: DMZ - 50, Users - 70, POS - 90. По умолчанию ASA разрешает трафик от более высокого security level к более низкому - это поведение мы переопределили явными ACL, потому что POS не должен ходить к Users ни при каком раскладе, даже если кто-то захочет «временно разрешить для диагностики».

Отдельно прописали ACL для трафика из VLAN 10: только IP-адреса процессингового центра, только 443, только outbound. Всё остальное - drop с логированием. Терминалы производителя (в данном случае VeriFone) обновляют прошивку тоже по сети - для этого добавили отдельное правило под конкретный IP update-сервера.

Что в итоге

Сегментация встала без смены железа - только конфигурация и небольшая перекоммутация портов. Терминалы оказались в изолированном сегменте, видят только процессинг, больше ничего.

Но это только часть истории. PCI DSS - не разовая акция, это набор требований, которые надо выполнять постоянно. Требование 10 - логи и их хранение. Требование 11 - регулярное тестирование. Требование 6 - управление уязвимостями. Сегментация закрывает требование 1 и частично 6, остальное предстоит разбирать отдельно.

Клиент попросил подготовить материал для ответа банку-эквайеру. Мы написали описание сетевой архитектуры с диаграммой и перечнем ACL - ничего формального по стандарту PCI, просто техническое письмо с тем, что сделано. Банк, судя по опыту коллег, пока принимает такие ответы без формального аудита по SAQ - Self-Assessment Questionnaire только начинает распространяться среди торговцев уровня 3-4.

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

Контакт

Нужна такая же инженерная работа?

Опишите задачу и контекст. Ответим в течение рабочего дня, при необходимости подпишем NDA.