Часто задаваемые вопросы (Faq)
Принцип построения цепочек правил фильтрации трафика
В Mikrotik действует принцип - разрешено все что не запрещено. Правила применяются по цепочке сверху вниз и как-только проходящий трафик (пакет) соответствует какому-то правилу, то он прекращает движение по цепочке.
Цепочки (chain) правил следует размещать в следующей последовательности:
- Input - пакеты отправленные на сам Mikrotik
- Forward - пакеты проходящие через Mikrotik
- Output - пакеты, отправленные с Mikrotik
Выполняйте настройку firewall при удаленном подключении к MikroTik используя режим Safe Mode.
Настройки цепочек будем делать через Winbox, идем IP -> Firewall
Создадим основные правила для цепочки Input и Forward:
1) Разрешаем все установленные и связанные подключения
На вкладке Action выставляем accept
(ВЕЗДЕ ДЛЯ РАЗРЕШАЮЩИХ ПРАВИЛ)
2) Разрешаем ICMP запросы
3) Разрешаем входящее подключение для Winbox
4) Запрещаем все неверные (Invalid) пакеты
На вкладке Action выставляем drop
(ВЕЗДЕ ДЛЯ ЗАПРЕЩАЮЩИХ ПРАВИЛ)
5) Запрещаем весь остальной трафик
Тоже самое делаем для цепочки Forward, кроме Winbox. Должно получиться следующее:
Это минимальная настройка Firewall, которая запрещает весь входящий трафик, кроме ICMP и возможности подключаться к маршрутизатору через Winbox, и при этом не ограничивает исходящий трафик.
Установим параметру TCP Established Timeout значение равное 2 часам:
Настройка фильтрации трафика в цепочке Input
Разрешаем DNS запросы к Mikrotik
В строчке In. Interface обязательно ставим "!" - это исключит разрешение на DNS запросы к интерфейсу ISP, что бы отсечь запросы из дикого интернета.
Настройка фильтрации трафика в цепочке Forward
Имеется сеть:
Настроим сетевое взаимодействие так, чтобы к серверам из клиентской сети можно было попасть только по TCP/IP портам соответствующим их ролям. Данное взаимодействие подпадает под цепочку Forward, т.к. этот трафик проходит сквозь маршрутизатор.
Для каждого Vlan настроен отдельный сетевой интерфейс
Правила можно нацеливать на конкретные IP адреса, но мы будем использовать Address Lists. Создадим листы для: DC, FS и WEB, так как подобных серверов может быть по нескольку, и что бы не создавать отдельные правила для каждого просто перечислим их в листе.
Правило для DC:
Это мы создали для портов TCP, и такое же нужно создать для UDP.
Эти действия можно выполнить в Terminal
/ip firewall filter
add action=accept chain=forward comment=AddressList-DC dst-address-list=AddressList-DC dst-port=\ 53,88,123,135,389,636,445,4500,3268-3269,9389,49152-65535 protocol=tcp
add action=accept chain=forward comment=AddressList-DC dst-address-list=AddressList-DC dst-port=\ 53,88,123,135,389,636,445,4500,3268-3269,9389,49152-65535 protocol=udp
Далее аналогичные правила буду записывать в виде команды
Правило для FS:
add action=accept chain=forward comment=AddressList-FS dst-address-list=AddressList-FS dst-port=\ 135,137-139,389,445,49152-65535 protocol=tcp
add action=accept chain=forward comment=AddressList-FS dst-address-list=AddressList-FS dst-port=\ 135,137-139,389,445 protocol=udp
Правило для WEB:
add action=accept chain=forward comment=AddressList-WEB dst-address-list=AddressList-WEB dst-port=\ 80,443 protocol=tcp
Правило для CA, KMS, NPAS
Так как подобных серверов редко бывает более 1, будем создавать правило нацеливаясь на их IP адрес
Пример для CA
add action=accept chain=forward comment=CA dst-address=172.16.8.131 dst-port=80,135,137-139,443,445 protocol=tcp
add action=accept chain=forward comment=CA dst-address=172.16.8.131 dst-port=80,135,137-139,443,445 protocol=udp
add action=accept chain=forward comment=KMS dst-address=172.16.8.141 dst-port=1688 protocol=tcp
add action=accept chain=forward comment=NPAS dst-address=172.16.8.151 dst-port=1812,1813 protocol=udp
Правило для PBX
Сервер телефонии PBX и SIP клиенты должны находиться в одном Vlan и тогда правило настраивать нет необходимости, но если часть клиентов находятся в другой сети, то:
add action=accept chain=forward comment=PBX dst-address=172.16.64.1 dst-port=5060,10000-20000 protocol=tcp
add action=accept chain=forward comment=PBX dst-address=172.16.64.1 dst-port=5060,10000-20000 protocol=udp
Правило для ПК Администратора
Сделаем так что бы у системного администратора был неограниченный доступ доступ во все сети. Нацеливать политику будем через Address List на случай если админов больше 1.
Создадим лист AddressList-GodMode
И само правило
ИТОГ
В итоге должна получиться вот такая цепочка правил, где:
- Сначала идет цепочка Input а потом Forward
- Правило с наибольшим трафиком стоят выше чем с наименьшим трафиком (например accept established,related)
- Запрещающее правило всегда должно стоять в самом низу соответствующей цепочки, но бывают исключения.