Нормально закрытый Firewall

Многим не нравятся базовые настройки firewall, по этому предлагаю классический нормально закрытый Firewall MikroTik Input, Forward и Output

Профессиональная настройка MikroTik


Telegram: @Engineer_MikroTik
WhatsApp: +7(903)556-73-37

Все сертификаты
10 лет опыта
Гарантия
ЭДО

Подход нормально-закрытого firewall в запрете трафика в конце всех правил, то есть все правила разрешающие, а последнее запрещающее. Это позволяет легче читать и разбираться в них.

В написаниях правил используется Interface List, который позволяет делать правила относительно группы портов.

Над DROP правилами разрешаем необходимый трафик

Содержание

Input

  1. Разрешаем связанный, установленный и не отслеживаемый трафик
  2. Блокируем invalid трафик (трафик к асимметрической маршрутизацией может пострадать)
  3. Разрешаем ICMP трафик (без него будут трудности в диагностике и работе в сети, например прощупывания MTU)
  4. Разрешаем трафик из интерфейс листа LAN
  5. Запрещаем весь трафик
/ip firewall filter
add action=accept chain=input comment="accept established,related,untracked" connection-state=established,related,untracked
add action=drop chain=input comment="drop invalid" connection-state=invalid
add action=accept chain=input comment="accept ICMP" protocol=icmp
add action=accept chain=input comment="accept LAN" in-interface-list=LAN
add action=drop chain=input comment="drop all"

Forward

  1. Разрешаем связанный, установленный и не отслеживаемый трафик
  2. Блокируем invalid трафик (трафик к асимметрической маршрутизацией может пострадать)
  3. Разрешаем трафик из интерфейс листа LAN в такой же лист LAN (чтобы общались внутренние сети интерфейсов, которые входят в лист LAN)
  4. Разрешаем трафик из интерфейс листа LAN в лист WAN (выход в Интернет)
    Так как в Интернете не должны встречаться local адреса, можно добавить !local лист в Dst.Address или сделать Blackhole
  5. Разрешаем DSTNAT трафик из WAN (если есть правило проброса порта в NAT, то в Firewall достаточно одного правила для всего)
  6. Блокировка всего трафика
Firewall Forward
Тот самый !local
/ip firewall address-list
add address=10.0.0.0/8 list=local
add address=172.16.0.0/12 list=local
add address=192.168.0.0/16 list=local
/ip firewall filter
add action=accept chain=forward comment="accept established,related, untracked" connection-state=established,related,untracked
add action=drop chain=forward comment="drop invalid" connection-state=invalid
add action=accept chain=forward comment="accept LAN to LAN" in-interface-list=LAN out-interface-list=LAN
add action=accept chain=forward comment="accept LAN to WAN" in-interface-list=LAN out-interface-list=WAN
add action=accept chain=forward comment="accept from WAN not DSTNATed" connection-nat-state=dstnat connection-state=new in-interface-list=WAN
add action=drop chain=forward comment="drop all"

Output

Цепочка Output для параноиков, если нужно контролировать куда MikroTik подключается, то разрешим только нужные подключения.

  1. Разрешаем связанный, установленный и не отслеживаемый трафик
  2. Разрешаем ICMP для диагностики
  3. Разрешаем udp:53 (DNS)
  4. Запрещаем всё
/ip firewall filter
add action=accept chain=output comment="accept established,related,untracked" connection-state=established,related,untracked
add action=accept chain=output comment="accept ICMP" protocol=icmp
add action=accept chain=output comment="accept ICMP" dst-port=53 protocol=udp
add action=drop chain=output comment="drop all"