Базовая настройка Firewall в Mikrotik

Необходимо задать ряд правил для цепочек input (входящий в роутер трафик), при необходимости – forward (проходящий через роутер трафик). Для этого мы подключаемся к нашему роутеру, можно через winbox и далее запустив в нем терминал выполняем команды, порядок важен!

Первые правила снижают нагрузку на процессор, т.к. 99% трафика будет проходить через них

ip firewall filter add action=accept chain=input connection-state=established,related comment="Accept established & related connections"
ip firewall filter add action=accept chain=forward connection-state=established,related

Следующие правила блокируют invalid трафик:

ip firewall filter add chain=input connection-state=invalid action=drop comment="Drop invalid connections"
ip firewall filter add chain=forward connection-state=invalid action=drop

Защита от перебора паролей при подключении через порт winbox – 8291:

ip firewall filter

add chain=input protocol=tcp dst-port=8291 in-interface=ether1 src-address-list=winbox_blacklist action=drop comment="drop winbox brute forcers" disabled=no

add chain=input protocol=tcp dst-port=8291 in-interface=ether1 connection-state=new src-address-list=winbox_stage3 action=add-src-to-address-list address-list=winbox_blacklist address-list-timeout=60m comment="" disabled=no

add chain=input protocol=tcp dst-port=8291 in-interface=ether1 connection-state=new src-address-list=winbox_stage2 action=add-src-to-address-list address-list=winbox_stage3 address-list-timeout=1m comment="" disabled=no

add chain=input protocol=tcp dst-port=8291 in-interface=ether1 connection-state=new src-address-list=winbox_stage1 action=add-src-to-address-list address-list=winbox_stage2 address-list-timeout=1m comment="" disabled=no

add chain=input protocol=tcp dst-port=8291 in-interface=ether1 connection-state=new action=add-src-to-address-list address-list=winbox_stage1 address-list-timeout=1m comment="" disabled=no

Разрешаем Winbox:

ip firewall filter add chain=input protocol=tcp dst-port=8291 in-interface=ether1 action=accept comment="Allow Winbox"

Последние правила запрещают прохождение всех остальных пакетов снаружи:

ip firewall filter add chain=input in-interface=ether1 action=drop comment="All other drop"
ip firewall filter add chain=forward action=drop in-interface=ether1 connection-state=new connection-nat-state=!dstnat comment="Drop all from WAN not DSTNATed"

Осталось только включить преобразование сетевых адресов (NAT) для локальной сети

ip firewall nat add chain=srcnat src-address=192.168.1.0/24 out-interface=ether1 action=masquerade

Для повышения безопасности, не забываем отключить ненужные сервисы. Можно, к примеру, оставить только winbox:

ip service set api disabled=yes
ip service set api-ssl disabled=yes
ip service set ftp disabled=yes
ip service set ssh disabled=yes
ip service set telnet disabled=yes
ip service set www-ssl disabled=yes
ip service set www disabled=yes

И еще настроим, чтобы сетевое обнаружение  (neighbors) работало только в локальной сети. Сначала создадим локальный список интерфейсов, затем настроим обнаружение:

interface list add name=local
interface list member add interface=bridge-local list=local
ip neighbor discovery-settings set discover-interface-list=local