Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

DOS_FLOOD_DETECTED Сетевое оборудование и VPN

Защита от атак SYN, UDP и ICMP Flood на межсетевом экране MikroTik RouterOS

Обновлено: 25.08.2026 · Официальная документация ↗
  • Загрузка процессора роутера MikroTik (CPU) подскакивает до 100% при атаке.
  • Таблица Connection Tracking переполняется (table full, dropping packet).
  • Недоступность сетевых сервисов для клиентов из-за высокой задержки и потерь пакетов.
  • Всплеск входящего UDP-трафика на портах 53 (DNS) или 123 (NTP) с поддельными Source IP (Amplification Attack).

1. Архитектурный подход: защита через таблицу RAW

При DoS-атаках миллионы пакетов мгновенно исчерпывают память и процессорное время ядра. Обработка флуда в таблице RAW позволяет отбросить вредоносные пакеты до создания записей в Connection Tracking.

2. Защита от SYN Flood (TCP Half-Open)

/ip firewall raw
# 1. Отбрасывать TCP-пакеты с недопустимыми комбинациями флагов (Bogus TCP)
add chain=prerouting protocol=tcp tcp-flags=fin,syn action=drop comment="Drop SYN-FIN"
add chain=prerouting protocol=tcp tcp-flags=syn,rst action=drop comment="Drop SYN-RST"
add chain=prerouting protocol=tcp tcp-flags=!fin,!syn,!rst,!ack action=drop comment="Drop NULL Scan"

# 2. Ограничение входящих новых TCP SYN-запросов на хост
add chain=prerouting in-interface-list=WAN protocol=tcp tcp-flags=syn connection-state=new \
    limit=200,50:packet action=accept comment="Allow legitimate SYN rate"
add chain=prerouting in-interface-list=WAN protocol=tcp tcp-flags=syn connection-state=new \
    action=drop comment="Drop excess SYN Flood"

3. Защита от UDP Flood и Reflection-атак

/ip firewall raw
# Блокировка попыток использовать роутер как DNS-рекурсор извне
add chain=prerouting in-interface-list=WAN protocol=udp dst-port=53 action=drop comment="Drop WAN DNS Query"
add chain=prerouting in-interface-list=WAN protocol=tcp dst-port=53 action=drop comment="Drop WAN DNS TCP"

# Ограничение общего UDP флуда
add chain=prerouting in-interface-list=WAN protocol=udp limit=2000,500:packet action=accept comment="Accept Normal UDP"
add chain=prerouting in-interface-list=WAN protocol=udp action=drop comment="Drop UDP Flood"

4. Защита от ICMP Flood (Smurf / Ping of Death)

/ip firewall filter
# Ограничение частоты и размера эхо-запросов
add chain=input protocol=icmp icmp-options=8:0 limit=20,5:packet action=accept comment="Rate-limited ICMP Echo"
add chain=input protocol=icmp icmp-options=8:0 action=drop comment="Drop ICMP Ping Flood"

# Разрешение служебных сообщений MTU Path Discovery
add chain=input protocol=icmp icmp-options=3:4 action=accept comment="Allow MTU Fragmentation Needed"
💡 Практика специалистов: Не устанавливайте лимиты UDP слишком низкими, если в сети активно используются VPN-протоколы WireGuard, IPsec или видеоконференцсвязь (Zoom/WebRTC). Выделяйте правила с accept для ваших портов туннелей перед общим UDP-лимитером.

Частые вопросы (FAQ)

Почему правила защиты от DoS нужно помещать в /ip firewall raw, а не в filter?

Таблица filter проверяет пакеты ПОСЛЕ модуля Connection Tracking. При миллионном флуде Connection Tracking переполнит оперативную память и положит процессор роутера еще до того, как сработает правило filter drop. RAW работает ДО Connection Tracking.

Что означает параметр limit=200,50:packet в RouterOS?

Параметр limit=200,50 означает среднее ограничение в 200 пакетов в секунду с возможностью кратковременного пакетного всплеска (burst) до 50 пакетов сверх лимита.

Как не заблокировать легитный трафик DNS, если MikroTik использует внешние DNS-серверы?

Фильтруйте входящие запросы только по направлению к роутеру (dst-port=53 на входящем WAN интерфейсе). Ответы от публичных серверов приходят с src-port=53 и разрешаются правилами established,related.

Зачем разрешать ICMP type 3 code 4?

Это сообщение Fragmentation Needed and DF Set. Без него ломается механизм Path MTU Discovery (PMTUD), и пользователи не смогут открывать сайты с пакетами, превышающими MTU туннеля (VPN/PPPoE).

Полезные материалы
Рекомендуем