В данной статье мы рассмотрим, как правильно настроить Firewall на маршрутизаторе MikroTik RouterOS с нуля. Наша цель — повысить безопасность устройства и сети, создав кастомизированную конфигурацию, которая будет защищать маршрутизатор от внешних угроз и обеспечит гибкое управление трафиком.
Зачем нужна кастомизация настроек Firewall?
Хотя стандартная конфигурация Firewall в MikroTik подходит для многих пользователей, часто возникают ситуации, когда требуются дополнительные меры безопасности. Мы разработаем такую конфигурацию, которая:
- Предотвратит атаки из Интернета.
- Сделает управление правилами проще и удобнее.
- Позволит быстро добавлять новые правила без риска нарушить существующую структуру.
Шаг 1: Очистка текущих настроек
Перед началом настройки удаляем все существующие правила Firewall, чтобы начать с чистого листа:
/ip firewall filter remove [find]
Шаг 2: Создаем список интерфейсов провайдера
Для удобства создаем список всех интерфейсов, подключенных к Интернету. В нашем примере это интерфейс ether1
.
Сначала создаем сам список:
/interface list add name=ISP
Затем добавляем в этот список наши интерфейсы:
/interface list member add list=ISP interface=ether1
Шаг 3: Настраиваем правила для входящего трафика (Input)
Переходим к защите маршрутизатора от входящих соединений с Интернета.
Перенаправляем трафик с интерфейсов провайдера в новую цепочку ISP-Input:
/ip firewall filter add chain=input in-interface-list=ISP action=jump jump-target=ISP-Input
Добавляем правила в цепочку ISP-Input:
- Разрешаем соединения, уже установленные (
established
) и связанные (related
):/ip firewall filter add chain=ISP-Input connection-state=established,related action=accept
- Отслеживаем незарегистрированные пакеты (
untracked
), чтобы снизить нагрузку на систему:/ip firewall filter add chain=ISP-Input connection-state=untracked action=accept
- Блокируем недействительные пакеты (
invalid
), такие как подделанные TCP-пакеты:/ip firewall filter add chain=ISP-Input connection-state=invalid action=drop
- Оставшиеся соединения перенаправляем в цепочку ISP-Input-Allow для дальнейшего анализа:
/ip firewall filter add chain=ISP-Input action=jump jump-target=ISP-Input-Allow
- Запрещаем все остальные входящие подключения:
/ip firewall filter add chain=ISP-Input action=drop
Шаг 4: Настроим разрешающие правила (ISP-Input-Allow)
Теперь определим, какие типы трафика будут разрешены.
Например, позволим следующие виды трафика:
- ICMP (Ping):
/ip firewall filter add chain=ISP-Input-Allow protocol=icmp action=accept
- SSH (Порт 22):
/ip firewall filter add chain=ISP-Input-Allow protocol=tcp dst-port=22 action=accept
- L2TP (Порт 1701):
/ip firewall filter add chain=ISP-Input-Allow protocol=udp dst-port=1701 action=accept
Шаг 5: Защищаемся от атак методом подбора паролей (Brute Force)
Чтобы предотвратить попытки подбора паролей (например, для SSH), создадим специальную цепочку для отслеживания подозрительных запросов.
Настраиваем блокировку адресов после нескольких неудачных попыток:
/ip firewall filter add chain=Brute-force src-address-list=Brute-force-block action=drop
Правила для добавления IP-адресов в списки заблокированных:
- После четвертой неудачной попытки IP добавляется в черный список на 8 часов:
/ip firewall filter add chain=Brute-force src-address-list=Brute-force-4 action=add-src-to-address-list address-list=Brute-force-block address-list-timeout=8h
- Третья попытка ведет к временной блокировке:
/ip firewall filter add chain=Brute-force src-address-list=Brute-force-3 action=add-src-to-address-list address-list=Brute-force-4 address-list-timeout=30s
- Вторая попытка добавляет IP в промежуточный список:
/ip firewall filter add chain=Brute-force src-address-list=Brute-force-2 action=add-src-to-address-list address-list=Brute-force-3 address-list-timeout=30s
- Первая попытка регистрируется:
/ip firewall filter add chain=Brute-force src-address-list=Brute-force-1 action=add-src-to-address-list address-list=Brute-force-2 address-list-timeout=30s
- Все остальные запросы отслеживаются:
/ip firewall filter add chain=Brute-force action=add-src-to-address-list address-list=Brute-force-1 address-list-timeout=30s
Шаг 6: Фильтрация проходящего трафика (Forward)
Теперь перейдем к настройке фильтрации трафика, который проходит через маршрутизатор.
Перенаправляем трафик с интерфейсов провайдера в цепочку ISP-Forward:
/ip firewall filter add chain=forward in-interface-list=ISP action=jump jump-target=ISP-Forward
Добавляем правила в цепочку ISP-Forward:
- Разрешаются уже установленные и связанные соединения:
/ip firewall filter add chain=ISP-Forward connection-state=established,related action=accept
- Недействительные пакеты запрещаются:
/ip firewall filter add chain=ISP-Forward connection-state=invalid action=drop
- Трафик, прошедший через NAT, разрешается:
/ip firewall filter add chain=ISP-Forward connection-nat-state=dstnat action=accept
- Весь другой трафик запрещается:
/ip firewall filter add chain=ISP-Forward action=drop
Шаг 7: Дополнительные настройки
Для VPN-подключений (IPSec):
Исключаем IPSec-трафик из NAT:
/ip firewall nat
add action=accept chain=srcnat ipsec-policy=out,ipsec place-before=0
add action=accept chain=dstnat ipsec-policy=in,ipsec place-before=0
Порты для переадресации (например, для SSH):
Настраиваем перенаправление порта 1024 на порт 22:
add action=redirect chain=dstnat dst-port=1024 in-interface-list=ISP protocol=tcp to-ports=22
Заключение
Эта конфигурация позволит вам легко настраивать новые правила, сохраняя высокую степень безопасности вашего маршрутизатора.