Пуск закончен, акт подписан, смена работает. Через месяц аудит ИБ находит активный VPN-пользователь integrator_remote с доступом в VLAN ПЛК и RDP на инженерную станцию. Пароль в общем чате проекта от прошлого года. Подрядчик говорит: «оставили на случай доработок». Эксплуатация узнаёт последней. Ночная смена не должна узнать об отключении доступа в момент, когда подрядчик «как раз правит тренд».
VPN подрядчика - не «маршрут Modbus» и не настройка таймаута на свитче. Это учётные записи, сертификаты, правила firewall, jump host, иногда прямой туннель на ноутбук наладчика в шкафу. Закрывать резко - риск обрыва незаконченной сессии и скрытых задач. Оставлять - риск инцидента и несоответствия внутренним регламентам. Статья - практический аудит и план отключения без срыва производства. Сетевые основы - в путеводителе инженера и пакете документов при вводе.
После пусконаладки проведите аудит: все VPN-учётки подрядчика, сертификаты, ACL в firewall, RDP/SSH на инженерные станции, проброс портов, локальные admin на ПЛК и SCADA. Составьте план закрытия в окно, согласованное с производством: сначала инвентаризация и логирование, отзыв сертификатов, смена паролей эксплуатации, удаление правил «temp_integrator», проверка что смена не зависит от внешнего доступа. Не отключайте VPN в пик смены без замены канала поддержки (договор, jump host заказчика). Не оставляйте «только чтение» без срока - чтение Modbus тоже риск утечки уставок и проекта. Таблица рисков ниже.
Учётная запись VPN на firewall или отдельном concentrator с полным доступом в OT VLAN. Два фактора никто не включил, пароль в письме.
Сертификат OpenVPN/WireGuard на ноутбуке подрядчика без срока или с продлением «на год вперёд».
Правило firewall allow integrator_net to PLC_subnet any с комментарием TEMP, без даты удаления.
RDP с интернета на HMI-сервер через проброс порта «на время пуска».
Локальный пользователь service / admin / integrator с паролем из дефолтного листа на ПЛК, панели, SCADA.
TeamViewer/AnyDesk на инженерной станции для «удобства».
Учётка подрядчика в домене AD с правами Domain Admin «чтобы быстрее ставить софт».
Site-to-site VPN туннель «временно» между офисом интегратора и заводом.
Проброс портов 502, 102, 44818 на один ПЛК «для отладки».
Клиент OpenVPN в автозагрузке сервера в серверной.
Общий пароль на web-морду коммутатора в документации «для всех».
Каждый пункт - отдельная строка в аудит-листе с ответственным и датой закрытия.
Соберите владельцев: эксплуатация АСУ, ИТ/ИБ, при необходимости - подрядчик под NDA. Инвентаризация не «с нуля», а сверка с as-built сети и пакетом ввода: должны быть схема VLAN, матрица доступов, список учёток.
На firewall выгрузите правила с source integrator/VPN, destination OT. На VPN concentrator - список активных сессий и профилей. На AD - членство групп integrator. На инженерных станциях - локальные админы, автологон, remote tools.
Проверьте планшеты и ноутбуки в шкафах: иногда «временный» Wi-Fi AP с паролем на наклейке. Это тоже канал доступа.
Документируйте findings в таблице рисков, не в переписке мессенджера. Срок устранения - до подписания окончательного акта или в согласованные 30 дней.
Аудит - не самодеятельность наладчика. ИБ даёт сроки и требования (MFA, сегментация, запрет прямого RDP). Производство даёт окно отключения. Подрядчик подтверждает, что не держит незавершённых работ. Без трёх сторон получите «отключили - срыв гарантии» или «оставили - замечание аудита».
Протокол совещания: список учёток, дата отзыва, ответственный за smoke test, контакт для экстренной заявки после закрытия.
Фаза 0 - убедиться, что эксплуатация имеет собственные учётки admin/operator с известными паролями, проект сдан в Git или архив заказчика, пароли не только у подрядчика.
Фаза 1 - окно вне пика: уведомить подрядчика о дате отзыва, запретить новые сессии (disable VPN profile), активные - дождаться завершения или принудительно разорвать после звонка ответственному.
Фаза 2 - отозвать сертификаты, удалить или сузить ACL до deny, сменить пароли shared accounts, убрать RDP publish, удалить remote tools.
Фаза 3 - smoke test со стороны заказчика: оператор работает смену, инженер заходит только через jump host заказчика, подрядчик без доступа.
Фаза 4 - мониторинг 2 недели: алерты на попытки login с старых IP, failed VPN.
Не делайте фазу 2 в час пуска линии или во время SAT. Согласуйте с начальником смены - «если что, подрядчик не починит за пять минут» должно быть принято заранее.
Пошагово для смены: инвентаризация активных сессий, подтверждение у заказчика что нет открытых дефектов, требующих удалёнки, окно в непиковую смену с дежурным АСУ на месте, отключение по одному каналу с проверкой производства после каждого шага, смена паролей где подрядчик мог знать secret, акт и скриншоты правил «после».
VPN - не единственный канал. Ключ от шкафа у бригадира подрядчика, ноутбук с проектом внутри шкафа, 4G роутер на DIN-рейке «на пару дней» - всё это закрывается при приёмке. Обходите шкафы на объекте после логического отзыва VPN.
Фото as-built: что реально стоит в шкафу, а не только на схеме. Роутер за блоком питания аудит ИТ не увидит из серверной.
Вместо вечного VPN подрядчика - bastion/jump host в DMZ, MFA, session recording, доступ по заявке на 8-48 ч с узким ACL (один IP ПЛК, один порт). После работ - автоматическое закрытие.
В договоре поддержки: процедура запроса, запрет постоянных учёток, ответственность за несанкционированный доступ после акта.
Отличие от «маршрута Modbus»: Modbus TCP - прикладной протокол между устройствами; VPN - транспорт для человека и RDP. Отключение Modbus между SCADA и ПЛК убьёт смену; отключение VPN подрядчика - нет, если АСУ автономна.
Отзовите client certificates на CA, не только удалите пользователя. CRL/OCSP должны обновиться. Старый .ovpn файл на ноутбуке подрядчика перестанет работать.
Смените пароли, которые могли утечь: OPC user, SQL, VNC на панели, web admin SCADA, Wi-Fi control network, SNMP community коммутатора.
Проверьте, не зашиты ли пароли подрядчика в скрипты scheduled task на сервере истории.
Для ПЛК - отдельная учётка engineer vs operator; default отключён.
Две недели после отзыва включите алерт на: failed VPN login с известных integrator IP, RDP 3389 извне, новые учётки в локальных админах SCADA. Ложные срабатывания на сканеры - лучше, чем тихий возврат подрядчика «на часок».
Раз в квартал - повторный короткий аудит правил firewall с меткой TEMP и сроком действия.
Контакты L2/L3 поддержки с SLA, не личный телефон одного наладчика.
Документированный jump host и процедура заявки.
Актуальный as-built сети и матрица доступов.
Резервная копия проекта на носителе заказчика.
Регламент: «после любых работ подрядчика - чек-лист закрытия временного доступа».
Регламент: «после любых работ подрядчика - чек-лист закрытия временного доступа».
Закрытие VPN не заменяет настройку VLAN и маршрутов между SCADA и ПЛК. Это разные задачи: сегментация OT - постоянная, VPN подрядчика - временная. После аудита VPN сверьте, что production-связь Modbus TCP идёт по штатным правилам без «дыр» integrator_any.
Если подрядчик ходил в ПЛК по IP, который потом попал в static route на рабочей станции - удалите маршрут. Иначе часть трафика уйдёт в никуда после отключения туннеля.
В пакете документов при вводе должна быть строка: «удалённый доступ подрядчика отозван, дата, подпись ИТ и АСУ». Без этой строки объект формально принят с дырой в периметре.
Передайте заказчику не только схему сети, но и контакт дежурной службы ИТ для заявки на временный доступ. Подрядчик после отзыва VPN не должен оставаться единственным «кто может починить ночью».
Отключили VPN в пятницу вечером без дежурного АСУ - понедельник начинается с «ничего не работает», хотя причина в другом. Удалили правило firewall, но забыли учётку на коммутаторе в цеху. Отозвали VPN, оставили TeamViewer «на сервере архива». Сменили пароль SCADA, не сменили на OPC gateway.
Каждая ошибка лечится чек-листом из таблицы рисков и подписью двух сторон. Спешка без окна с производством дороже, чем лишняя неделя с контролируемым доступом через jump host.
Сохраните скриншоты правил firewall «до» и «после» в папке объекта рядом с паспортом АСУ ТП. Через год при смене интегратора никто не вспомнит, почему осталось правило с комментарием TEMP.
| Риск | Что проверить | Как закрыть |
|---|---|---|
| Активный VPN профиль подрядчика | Список users на concentrator | Disable user; revoke cert; deny ACL |
| TEMP правило firewall | Export rules OT inbound | Delete rule; change log ticket |
| RDP/AnyDesk на инженерной станции | Services, installed apps | Uninstall; GPO deny |
| Shared admin password | Last password change | Unique accounts; vault |
| Прямой доступ в VLAN ПЛК | Traceroute from internet test | Segmentation; only jump |
| Сертификат без expiry | CA database | Short-lived certs; audit quarterly |
| Учётка в AD integrator | Group membership | Remove; audit logon |
| Site-to-site VPN | IKE logs | Отключить peer |
| Проброс 502/102 на ПЛК | ACL NAT | Удалить DNAT |
| «Только мониторинг» Modbus | Read-only к PLC | Закрыть или jump host |
| Cron/script с внешним URL | Task scheduler | Remove; review code |
| Ноутбук в шкафу с VPN | Физический обход | Inventory; lock cabinet |
Можно ли оставить VPN только на чтение?
Лучше, чем full access, но read на OT часто позволяет скачать проект и увидеть уставки. Сужайте до конкретного хоста и портов, логируйте, ограничивайте срок.
Подрядчик отказывается давать пароли admin?
В контракте должна быть передача учётных данных заказчику при вводе. Без этого акт ввода подписывать рано.
Отключение VPN сломает лицензию SCADA?
Лицензия не должна зависеть от VPN подрядчика. Если зависит - дефект внедрения.
Можно ли оставить VPN на год «по гарантии»?
Только с оформленным сроком, ответственным и минимальными правами; иначе - инцидент неизбежен.
Что делать, если после отключения что-то упало?
Значит производство зависело от удалёнки - восстановите по процедуре, но устраните зависимость, не «вечный» VPN.