Защита от DDoS-атак в Mikrotik RouterOS: практические настройки для сетевых администраторов | AdminWiki
Timeweb Cloud — сервера, Kubernetes, S3, Terraform. Лучшие цены IaaS.
Попробовать

Защита от DDoS-атак в Mikrotik RouterOS: практические настройки для сетевых администраторов

14 мая 2026 7 мин. чтения
Содержание статьи

Распределенные атаки на отказ в обслуживании (DDoS) остаются одной из главных угроз для сетевой инфраструктуры. Встроенные средства защиты Mikrotik RouterOS позволяют эффективно противостоять атакам на сетевом (L3) и транспортном (L4) уровнях без привлечения сторонних решений. Это руководство содержит проверенные на практике конфигурации межсетевого экрана, механизмы ограничения соединений и динамической блокировки, которые вы можете внедрить в своей сети за 30 минут.

Мы разберем конкретные правила для противодействия SYN-flood, UDP-flood и ICMP-flood, объясним логику работы защиты и дадим инструменты для мониторинга. Все настройки адаптированы под RouterOS версии 7 и новее, совместимы с оборудованием серий RB, CCR и CHR.

Базовые принципы защиты от DDoS в RouterOS: что нужно понимать перед настройкой

Защита в RouterOS строится на трех ключевых механизмах: отслеживании состояния соединений (stateful firewall), ограничении их количества с одного источника (connection limiting) и динамическом пополнении черных списков (address-list). Эти инструменты работают на уровне анализа заголовков IP-пакетов, что минимизирует нагрузку на процессор. Ваша цель - отфильтровать аномальный трафик до того, как он потребит ресурсы роутера или целевых серверов.

Как RouterOS отличает атаку от легитимного трафика: ключевые механизмы

Основу анализа составляет модуль connection tracking. Он запоминает состояние каждого сетевого соединения: новые (new), установленные (established), связанные (related) или недействительные (invalid). DDoS-атака часто характеризуется аномально высокой скоростью создания новых соединений (new connection rate) или отправки пакетов (packet rate). Например, при SYN-flood атакующая сторона инициирует тысячи TCP-сессий в секунду, но не завершает handshake, оставляя их в состоянии «syn-sent».

Параметр timeout в правилах фаервола определяет, как долго RouterOS хранит информацию о неактивном соединении. Для TCP в состоянии «new» это значение не должно превышать 10-20 секунд. Сокращение таймаута освобождает память и ускоряет очистку от фальшивых сессий.

Цепочки firewall в RouterOS: правильная последовательность для защиты

Порядок обработки пакетов критичен для производительности. Используйте эту схему:

  1. Цепочка raw: Применяется до connection tracking. Здесь размещайте правила для быстрой отбраковки трафика по IP-адресам или протоколам. Блокировка в raw не нагружает систему отслеживания соединений.
  2. Цепочка mangle: Используется для маркировки пакетов, если нужна сложная логика маршрутизации в ответ на атаку.
  3. Цепочка filter: Основная цепочка для stateful-фильтрации. В ней работают правила с connection limiting и проверкой состояния.

Для защиты самого роутера от попыток исчерпания его ресурсов настройте правила в цепочке input. Для защиты серверов за роутером - в цепочке forward. Блокирующие правила (action=drop) ставьте как можно раньше в каждой цепочке.

Готовые конфигурации firewall: правила для блокировки распространенных DDoS-атак

Приведенные ниже блоки команд можно скопировать и вставить в Terminal (CLI) или последовательно добавить через Winbox/WebFig. Перед применением убедитесь, что у вас есть доступ к устройству через альтернативный интерфейс, чтобы не заблокировать себя.

Защита от SYN-flood атак на веб-серверы и другие TCP-сервисы

Это правило ограничивает скорость установки новых TCP-соединений с одного IP-адреса к вашему публичному сервису.

/ip firewall filter add chain=forward protocol=tcp dst-port=80,443 connection-state=new \
    action=drop limit=20,5:30 src-address-list=!trusted \
    comment="SYN Flood Protection - HTTP/HTTPS"

Параметр limit=20,5:30 означает: разрешить не более 20 новых соединений за 30 секунд, с «запасом» в 5 соединений (burst). Адреса из списка trusted (например, ваша офисная сеть) проверке не подвергаются. Для DNS-серверов (порт 53) установите limit=50,10:30, для SSH (порт 22) - limit=5,2:60.

Дополнительно настройте таймаут для TCP-соединений: /ip firewall connection tracking set tcp-syn-sent-timeout=10s tcp-syn-received-timeout=10s. Это ускорит очистку незавершенных handshake.

Блокировка UDP-flood и ICMP-flood (Smurf-атаки)

Для борьбы с флудом не требующими ответа UDP-пакетами или эхо-запросами ICMP используйте цепочку raw. Это максимально эффективно.

/ip firewall raw add chain=prerouting protocol=icmp action=drop \
    limit=100,50:1 src-address-list=!trusted \
    comment="ICMP Flood Protection"

/ip firewall raw add chain=prerouting protocol=udp dst-port=!500,4500,53 action=drop \
    limit=1000,200:1 src-address-list=!trusted \
    comment="UDP Flood Protection - exclude VPN and DNS"

Первое правило отбрасывает более 100 ICMP-пакетов в секунду с одного источника. Второе правило ограничивает UDP-трафик на все порты, кроме используемых IPsec/IKEv2 (500, 4500) и DNS (53). Лимит в 1000 пакетов в секунду (с burst 200) достаточен для большинства сервисов, но не позволит заполнить канал.

Динамическая блокировка источников атак с помощью address-list

Механизм address-list позволяет автоматически добавлять нарушителей в черный список на заданное время. Создайте список и правило для его пополнения.

/ip firewall address-list add list=ddos_blacklist timeout=1h comment="Dynamic DDoS Blacklist"

/ip firewall filter add chain=input protocol=tcp connection-state=new action=add-src-to-address-list \
    address-list=ddos_blacklist address-list-timeout=1h limit=100,20:10 \
    comment="Auto-block IPs with >100 new conns in 10 sec"

После этого создайте правило в начале цепочки input или forward для блокировки трафика из этого списка:

/ip firewall filter add chain=input src-address-list=ddos_blacklist action=drop \
    comment="Block traffic from blacklisted IPs"

Просмотреть текущие записи можно командой /ip firewall address-list print where list=ddos_blacklist. Очистить список - /ip firewall address-list remove [find list=ddos_blacklist].

Для комплексной защиты от различных векторов атак, включая прикладной уровень (L7), изучите наше руководство по многоуровневой защите от DDoS. Там вы найдете схемы взаимодействия и конфигурации для Nginx и iptables.

Тонкая настройка connection limiting: баланс между защитой и производительностью

Стандартные значения лимитов - отправная точка. Для точной настройки под вашу сетевую нагрузку необходимо собрать базовые метрики легитимного трафика.

Как определить нормальные показатели трафика для вашей сети

Воспользуйтесь встроенным инструментом Torch (в Winbox: Tools → Torch, в CLI: /tool torch). Настройте его на внешний интерфейс и в течение 24 часов, включая часы пиковой нагрузки, отслеживайте:

  • Rate of new connections: Количество новых соединений в секунду по протоколам TCP и UDP.
  • Packet rate: Общее количество пакетов в секунду.

Запишите максимальные значения. Для малого бизнес-сайта типичный показатель новых TCP-соединений - 5-15 в секунду. Для сервиса с балансировкой нагрузки - 50-200. Установите лимит в правилах на 20-30% выше пикового нормального значения. Это создает запас для легитимных всплесков, но отсекает атаку.

Настройка для высоконагруженных сервисов: веб с балансировкой нагрузки и DNS

Если за роутером находится кластер веб-серверов или публичный рекурсивный DNS, стандартные лимиты будут мешать работе. В этом случае примените избирательный подход:

/ip firewall filter add chain=forward protocol=tcp dst-port=443 connection-state=new \
    src-address-list=trusted action=accept comment="Allow trusted networks"

/ip firewall filter add chain=forward protocol=tcp dst-port=443 connection-state=new \
    limit=200,50:30 action=accept comment="High limit for public HTTPS"

/ip firewall filter add chain=forward protocol=tcp dst-port=443 connection-state=new \
    action=drop comment="Drop all other new HTTPS connections"

Правила обрабатываются сверху вниз. Сначала пропускается трафик из доверенных сетей, затем принимается публичный трафик в рамках увеличенного лимита, все остальное блокируется. Для DNS (порт 53 UDP) такой же принцип, но лимит на packet rate: limit=5000,1000:1.

Для автоматизации ответных действий на сложные атаки, включая интеграцию с системами мониторинга, используйте инструкции из статьи о настройке мониторинга и автоматического реагирования на DDoS.

Диагностика и мониторинг: как убедиться, что защита работает

После внедрения правил необходимо проверить их эффективность и собрать данные для возможной корректировки.

Анализ логов firewall: какие правила срабатывают и почему

Включите логирование для ключевых блокирующих правил. В Winbox откройте правило, установите галочку Log. В CLI добавьте параметр log=yes log-prefix="DDOS" к команде создания правила.

Логи можно просматривать в Log (/log print). Фильтруйте записи по действию drop и префиксу. Массовые записи с одним подсетом-источником - явный признак атаки. Обращайте внимание на правило, которое сработало (chain и comment), это укажет на вектор: например, частое срабатывание правила с connection-state=new свидетельствует о flood-атаке.

Что делать, если атака прошла: план действий и дальнейшая настройка

Если базовой защиты оказалось недостаточно и сервис стал недоступен, действуйте по этому алгоритму:

  1. Быстрая диагностика: Откройте Tools → Torch на внешнем интерфейсе. Определите тип протокола (TCP/UDP/ICMP) и порт-мишень, на который идет основной поток пакетов.
  2. Эскалация защиты: Немедленно ужесточите лимит для этого протокола и порта. Например, временно снизьте limit в 2-3 раза. Добавьте временное правило в цепочку raw для полной блокировки атакующей подсети: /ip firewall raw add chain=prerouting src-address=203.0.113.0/24 action=drop.
  3. Анализ и адаптация: После отражения атаки проанализируйте логи. Если атака была объемной (Volumetric DDoS) и исчерпала полосу пропускания, рассмотрите подключение к облачному scrubbing-центру или услугам очистки трафика у вашего провайдера.
  4. Апгрейд правил: На основе данных лога дополните списки trusted и ddos_blacklist, скорректируйте таймауты.

Для защиты административного доступа к сетевым устройствам в условиях атаки критически важно настроить ACL и VPN. Подробные шаги описаны в гайде по защите веб-интерфейсов.

Регулярный мониторинг и адаптация правил под меняющуюся нагрузку - залог устойчивости вашей сети. Представленные конфигурации закрывают большинство сценариев L3/L4 атак, а для построения комплексной системы безопасности используйте связку RouterOS с автоматизированными системами блокировки IP на серверах.

Если вы работаете с игровыми сервисами, где специфика атак отличается, обратитесь к специализированному руководству по защите серверов Minecraft от DDoS.

Поделиться:
Сохранить гайд? В закладки браузера