Инструкция описывает настройку механизма, который позволяет одним действием изолировать сервер от внешней сети средствами firewall MikroTik, сохранив доступ из административного сегмента.
Право запуска заранее выдается двум ответственным сотрудникам. Действия операторов и изменение состояния сервера передаются во внешний журнал.
Все IP-адреса, имена пользователей и названия объектов в примере условные. Перед выполнением команд замените их параметрами своей инфраструктуры.
Как работает изоляция
Блокировка выполняется на маршрутизаторе MikroTik, через который защищаемый сервер выходит во внешнюю сеть, а не на самом сервере.
На маршрутизаторе создается постоянно действующее правило
drop. Оно блокирует трафик ко всем IP-адресам,
добавленным в специальный firewall address-list
PANIC-ISOLATED.
Для изоляции достаточно добавить сервер в этот список. Для восстановления доступа — удалить его из списка.
В результате
- внешний трафик к серверу прекращается;
- доступ из выделенной сети управления сохраняется;
- приложения и данные на сервере не удаляются;
- блокировка полностью обратима;
- одну схему можно использовать для нескольких серверов.
Исходные данные
В инструкции используются следующие условные параметры:
-
10.0.0.1— маршрутизатор MikroTik, на котором выполняются команды изоляции; -
10.0.0.10— защищаемый сервер; -
10.9.9.0/24— сеть управления для администраторов и средств OOB-доступа, включая iLO и iDRAC; -
10.9.9.5— внешний сервер журналирования; -
PANIC-ISOLATED— firewall address-list для изолируемых серверов.
Что необходимо подготовить
- Резервный способ административного доступа к маршрутизатору.
- Выделенную сеть управления.
- Внешний сервер syslog, доступный из административного сегмента.
- Персональные учетные записи двух ответственных сотрудников.
- Согласованную процедуру проверки изоляции и восстановления.
Перед изменением правил firewall сохраните экспорт действующей конфигурации MikroTik и проверьте резервный канал управления.
Первоначальная настройка MikroTik
Первоначальная настройка выполняется один раз. После нее изоляция и восстановление запускаются одной командой.
Шаг 1. Создайте правила firewall
Добавьте в цепочку forward два правила:
- Разрешить трафик из сети управления к защищаемому серверу.
-
Отбрасывать трафик ко всем адресам из списка
PANIC-ISOLATED.
/ip firewall filter add chain=forward src-address=10.9.9.0/24 dst-address=10.0.0.10 \ action=accept comment="PANIC-MGMT-ALLOW" add chain=forward dst-address-list=PANIC-ISOLATED \ action=drop comment="PANIC-DROP"
Правило PANIC-MGMT-ALLOW должно находиться выше правила PANIC-DROP. Оба правила должны проверяться до общих разрешающих правил firewall.
RouterOS обрабатывает правила сверху вниз. При необходимости
задайте позицию параметром place-before или переместите
правила в интерфейсе Winbox.
Шаг 2. Настройте внешний syslog
Настройте передачу событий на внешний сервер журналирования. Это позволит сохранить информацию о выполненных действиях за пределами маршрутизатора.
/system logging action add name=remote target=remote remote=10.9.9.5 remote-port=514 /system logging add topics=warning action=remote add topics=system,account action=remote
Топик warning используется для сообщений скриптов.
Топики system и account фиксируют
системные события и активность учетных записей.
Шаг 3. Создайте скрипт изоляции
Скрипт добавляет IP-адрес сервера в список блокировки
и записывает событие ISOLATED в журнал.
/system script
add name=panic-isolate policy=read,write,test source={
/ip firewall address-list add list=PANIC-ISOLATED address=10.0.0.10 \
comment="isolated";
:log warning "PANIC: server 10.0.0.10 ISOLATED";
}Шаг 4. Создайте скрипт восстановления
Скрипт удаляет IP-адрес сервера из списка блокировки
и записывает событие RESTORED.
/system script
add name=panic-restore policy=read,write,test source={
/ip firewall address-list remove \
[find list=PANIC-ISOLATED address=10.0.0.10];
:log warning "PANIC: server 10.0.0.10 RESTORED";
}Экстренная изоляция сервера
Вариант 1. Запуск в терминале MikroTik
/system script run panic-isolate
Вариант 2. Запуск по SSH
Для удаленного запуска выполните команду:
ssh ivanov@10.0.0.1 "/system script run panic-isolate"
Вариант 3. Добавление адреса вручную
Если подготовленный скрипт недоступен, добавьте сервер в address-list вручную:
/ip firewall address-list add list=PANIC-ISOLATED address=10.0.0.10
После выполнения команды сервер должен стать недоступным из внешнего сегмента, но оставаться доступным из сети управления.
Запуск из внешней сети
Если ответственный сотрудник находится вне офиса, сначала необходимо подключиться по VPN к сети управления. После получения адреса административного сегмента команда выполняется так же, как из внутренней сети.
Для подключения можно использовать WireGuard, IPsec или L2TP/IPsec.
ssh ivanov@10.0.0.1 "/system script run panic-isolate"
Если VPN использует отдельную подсеть, добавьте ее
в параметр allowed-address учетной записи:
allowed-address=10.9.9.0/24,10.8.0.0/24
Не открывайте управление маршрутизатором всему интернету.
Не используйте разрешающее правило с
src-address=0.0.0.0/0.
Внешний запуск означает подключение администратора к защищенной сети управления через VPN, а не публикацию управления MikroTik в интернете.
Если VPN отсутствует, публикация SSH маршрутизатора допустима только как временное исключение. Используйте нестандартный порт, аутентификацию по ключам и разрешение доступа только с заранее известных IP-адресов администраторов.
Восстановление доступа
Восстановление с помощью скрипта
/system script run panic-restore
Удаление адреса вручную
/ip firewall address-list remove [find list=PANIC-ISOLATED address=10.0.0.10]
Делегирование права запуска
Создайте отдельную группу RouterOS и две персональные учетные записи: инициатора и заместителя. В кризисной ситуации любой из них сможет запустить процедуру самостоятельно.
/user group add name=panic policy=ssh,read,write,test,!policy,!sensitive \ comment="only isolation scripts" /user add name=ivanov group=panic password=... \ allowed-address=10.9.9.0/24 comment="initiator" add name=petrov group=panic password=... \ allowed-address=10.9.9.0/24 comment="deputy"
В RouterOS политика write позволяет изменять
не только список изоляции, но и другие настройки firewall.
Модель прав MikroTik не обеспечивает такое же точечное
делегирование одной команды, как sudoers в Linux.
Для снижения риска выполните следующие меры:
-
Разрешите вход только из сети управления через
allowed-address. -
Исключите чувствительные политики
!policyи!sensitive. - Используйте персональные учетные записи.
- Настройте аутентификацию по SSH-ключам.
- Передавайте действия пользователей во внешний syslog.
- Регулярно проверяйте список уполномоченных сотрудников.
Проверка журнала действий
Каждый запуск скрипта записывает одно из событий:
-
ISOLATED— сервер добавлен в список блокировки; -
RESTORED— сервер удален из списка блокировки.
Для просмотра связанных событий на маршрутизаторе выполните:
/log print where message~"PANIC"
Дополнительно проверьте внешний syslog. В журнале должны присутствовать:
- дата и время выполнения;
- имя учетной записи оператора;
- выполненная команда;
-
состояние
ISOLATEDилиRESTORED.
Проверка после изоляции
-
Убедитесь, что адрес
10.0.0.10появился в спискеPANIC-ISOLATED. - Проверьте, что сервер недоступен из внешнего пользовательского сегмента.
- Проверьте доступность сервера из сети управления.
- Проверьте административные интерфейсы и OOB-канал.
- Убедитесь, что событие и имя оператора появились во внешнем syslog.
- Зафиксируйте время, причину и ответственного в карточке инцидента.
Не ограничивайтесь одним тестом ping.
Проверяйте доступность из разных сетевых сегментов
и фактическое прохождение требуемых протоколов.
Проверка после восстановления
-
Убедитесь, что адрес сервера удален из списка
PANIC-ISOLATED. - Проверьте восстановление необходимых сетевых подключений.
- Убедитесь, что административный доступ работает штатно.
-
Проверьте появление события
RESTOREDво внешнем журнале. - Зафиксируйте завершение процедуры в карточке инцидента.
Итоговый контрольный список
- правила управления расположены выше правила блокировки;
- сеть управления не блокируется;
- управление маршрутизатором не опубликовано всему интернету;
- скрипты изоляции и восстановления проверены;
- настроено внешнее журналирование;
- используются персональные учетные записи;
- назначены инициатор и заместитель;
- документирован порядок проверки и восстановления.
Результат настройки
После однократной подготовки команда получает обратимый механизм экстренной сетевой изоляции сервера.
Блокировка запускается одной командой, административный доступ сохраняется, а автор и время выполнения фиксируются во внешнем журнале.
