Многим не нравятся базовые настройки firewall, по этому предлагаю классический нормально закрытый Firewall MikroTik Input, Forward и Output
Профессиональная настройка MikroTik
Без предоплаты
Telegram: @Engineer_MikroTik
Подход нормально-закрытого firewall в запрете трафика в конце всех правил, то есть все правила разрешающие, а последнее запрещающее. Это позволяет легче читать и разбираться в них.
В написаниях правил используется Interface List, который позволяет делать правила относительно группы портов.
Над DROP правилами разрешаем необходимый трафик
Input
- Разрешаем связанный, установленный и не отслеживаемый трафик
- Блокируем invalid трафик (трафик к асимметрической маршрутизацией может пострадать)
- Разрешаем ICMP трафик (без него будут трудности в диагностике и работе в сети, например прощупывания MTU)
- Разрешаем трафик из интерфейс листа LAN
- Запрещаем весь трафик
/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
- Разрешаем связанный, установленный и не отслеживаемый трафик
- Блокируем invalid трафик (трафик к асимметрической маршрутизацией может пострадать)
- Разрешаем трафик из интерфейс листа LAN в такой же лист LAN (чтобы общались внутренние сети интерфейсов, которые входят в лист LAN)
- Разрешаем трафик из интерфейс листа LAN в лист WAN (выход в Интернет)
Так как в Интернете не должны встречаться local адреса, можно добавить !local лист в Dst.Address или сделать Blackhole - Разрешаем DSTNAT трафик из WAN (если есть правило проброса порта в NAT, то в Firewall достаточно одного правила для всего)
- Блокировка всего трафика
/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 подключается, то разрешим только нужные подключения.
- Разрешаем связанный, установленный и не отслеживаемый трафик
- Разрешаем ICMP для диагностики
- Разрешаем udp:53 (DNS)
- Запрещаем всё
/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"