Настройка firewall Mikrotik, оптимизация правил файрволла.

Базовая функциональность RouterOS
Аватара пользователя
r136a8
Сообщения: 201
Зарегистрирован: 04 дек 2017, 00:01

Настройка firewall Mikrotik, оптимизация правил файрволла.

Сообщение r136a8 »

Firewall
Добрый, решил немного разобраться с Firewall. Из той информации и статей, которые нашел в сети, сделал себе вот такой Firewall. Просмотрите пожалуйста, что думаете относительно них и правильности их расположения относительно друг друга.
В настройках Interface list создал два листа WANs в который входят 2 порта wan и PPTP, Lan в который входят все порты с двух бриджей за исключением wan портов, Bridges в которых входят два бриджа.
Изображение

1. Блокировка доступа к DNS роутера, это запрет доступа к 53-му порту на WAN-интерфейсе. Из того что я нашел это правило должно быть выше запрещающих или самое первое на входе?

Код: Выделить всё

/ip firewall filter
add action=drop chain=input comment="Drop access to DNS from WAN" dst-port=53 \
    in-interface-list=WANs protocol=tcp
add action=drop chain=input dst-port=53 in-interface-list=WANs protocol=udp 
2. Разрешаю уже установленные (Established) и связанные (Related) соединения и сбрасываю некорректные(Invalid) соединения для проходящих (маршрутизируемых) пакетов в цепочке Forward и предназначенных локальной системе в цепочке Input.

Код: Выделить всё

/ip firewall filter
add action=accept chain=forward comment=\
    "Forward and Input Established and Related connections" \
    connection-state=established,related
add action=drop chain=forward comment="defconf: drop invalid" \
    connection-state=invalid
add action=accept chain=input comment="defconf: accept established,related" \
    connection-state=established,related
add action=drop chain=input connection-state=invalid 
3. Некоторая защита от DDoS атак такая как лимит входящих соединений.

Код: Выделить всё

/ip firewall filter
add action=add-src-to-address-list address-list=ddos-blacklist \
    address-list-timeout=1d chain=input comment=\
    "DDoS Protect - Connection Limit" connection-limit=100,32 \
    in-interface-list=WANs protocol=tcp
add action=tarpit chain=input connection-limit=3,32 protocol=tcp \
    src-address-list=ddos-blacklist 
4. Защита от SYN флуда.
Защита как проходящего трафика, так и входящего трафика. Путем создания отдельной цепочки SYN-Protect

Код: Выделить всё

/ip firewall filter
add action=jump chain=forward comment="DDoS Protect - SYN Flood" \
    connection-state=new jump-target=SYN-Protect protocol=tcp tcp-flags=syn
add action=jump chain=input connection-state=new in-interface-list=WANs \
    jump-target=SYN-Protect protocol=tcp tcp-flags=syn
add action=return chain=SYN-Protect connection-state=new limit=200,5:packet \
    protocol=tcp tcp-flags=syn
add action=drop chain=SYN-Protect connection-state=new protocol=tcp \
    tcp-flags=syn 
5. Защита от сканеров портов (PSD – Port Scan Detection).

Код: Выделить всё

/ip firewall filter
add action=drop chain=input comment="Protected - Ports Scanners" \
    src-address-list="Port Scanners"
add action=add-src-to-address-list address-list="Port Scanners" \
    address-list-timeout=none-dynamic chain=input in-interface-list=WANs \
    protocol=tcp psd=21,3s,3,1
6. Разрешающее правило для прохождения только нормальных PING запросов.

Код: Выделить всё

/ip firewall filter
add action=accept chain=input comment="Access Normal Ping" \
    in-interface-list=WANs limit=50/5s,2:packet protocol=icmp
7. Разрешающе правило для PPTP подключений

Код: Выделить всё

/ip firewall filter
add action=accept chain=input comment="Open PPTP" dst-port=1723 \
    in-interface-list=WANs protocol=tcp
add action=accept chain=input comment="Open PPTP" in-interface-list=WANs \
    protocol=gre 
8. Правило из стандартной конфигурации. Что делает и нужно ли не знаю?!

Код: Выделить всё

/ip firewall filter
add action=drop chain=forward comment=\
    "defconf:  drop all from WAN not DSTNATed" connection-nat-state=!dstnat \
    connection-state=new in-interface-list=WANs 
9. Блокирую bogon-сети.

Код: Выделить всё

/ip firewall filter
add action=drop chain=input comment=Bogon_Wan_Drop in-interface-list=WANs \
    src-address-list=BOGONS 
10. Завершающее запрещающее правило. Все остальное блокируем

Код: Выделить всё

/ip firewall filter
add action=drop chain=input comment="defconf: drop all from WAN" \
    in-interface-list=WANs 
Изображение
Спасибо
Аватара пользователя
Chupaka
Сообщения: 4086
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: Настройка firewall Mikrotik, оптимизация правил файрволла.

Сообщение Chupaka »

r136a8 писал(а): 24 фев 2019, 11:50 В настройках Interface list создал два листа WANs в который входят 2 порта wan и PPTP, Lan в который входят все порты с двух бриджей за исключением wan портов, Bridges в которых входят два бриджа.
Если вы последних два не используете - то зачем создавали?

4. Вы в цепочку шлёте пакеты c tcp-flags=syn, поэтому в дроп-правиле нет смысла это дублировать, если там всё равно других не будет.
Я бы сказал, tcp-flags=syn ещё и избыточным является на фоне connection-state=new

6. ICMP - это далеко не только пинг, поэтому описание расходится с правилом. Ну, это так, косметика.
Аватара пользователя
r136a8
Сообщения: 201
Зарегистрирован: 04 дек 2017, 00:01

Re: Настройка firewall Mikrotik, оптимизация правил файрволла.

Сообщение r136a8 »

Chupaka писал(а): 25 фев 2019, 21:18
r136a8 писал(а): 24 фев 2019, 11:50 В настройках Interface list создал два листа WANs в который входят 2 порта wan и PPTP, Lan в который входят все порты с двух бриджей за исключением wan портов, Bridges в которых входят два бриджа.
Если вы последних два не используете - то зачем создавали?

4. Вы в цепочку шлёте пакеты c tcp-flags=syn, поэтому в дроп-правиле нет смысла это дублировать, если там всё равно других не будет.
Я бы сказал, tcp-flags=syn ещё и избыточным является на фоне connection-state=new

6. ICMP - это далеко не только пинг, поэтому описание расходится с правилом. Ну, это так, косметика.
Как я шпонял в 4 и 6м правиле смысла нет и их можно смело удадять?
Что Вы имелли виду под словами
Chupaka писал(а): 25 фев 2019, 21:18 "Если вы последних два не используете - то зачем создавали?
Аватара пользователя
Chupaka
Сообщения: 4086
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: Настройка firewall Mikrotik, оптимизация правил файрволла.

Сообщение Chupaka »

Смысл есть, но можно и удалять. Смотря чего надо добиться.

Имел в виду, что листы Lan и Bridges вы не используете - зачем они вам? Тем более, если порты Lan у вас в бриджах, поэтому для файрвола трафик будет идти не с них, а с бриджей.
Аватара пользователя
r136a8
Сообщения: 201
Зарегистрирован: 04 дек 2017, 00:01

Re: Настройка firewall Mikrotik, оптимизация правил файрволла.

Сообщение r136a8 »

Chupaka писал(а): 25 фев 2019, 21:48 Смысл есть, но можно и удалять. Смотря чего надо добиться.

Имел в виду, что листы Lan и Bridges вы не используете - зачем они вам? Тем более, если порты Lan у вас в бриджах, поэтому для файрвола трафик будет идти не с них, а с бриджей.
Добится хочу чтобы уже не повторилась ситуация с взлом и изменением настроек в моем mikrotik устройстве.

Листы бриджей использую для neighbors, чтобы только с моей сети был доступ к микротику через winbox.
Изображение

Спасибо
Аватара пользователя
Chupaka
Сообщения: 4086
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: Настройка firewall Mikrotik, оптимизация правил файрволла.

Сообщение Chupaka »

r136a8 писал(а): 25 фев 2019, 22:01 Добится хочу чтобы уже не повторилась ситуация с взлом и изменением настроек в моем mikrotik устройстве.

Листы бриджей использую для neighbors, чтобы только с моей сети был доступ к микротику через winbox.
Это только Discovery (рассылка сообщения от роутера), а сам доступ, например, по MAC-адресу регулируется в Tools -> MAC Server.
Аватара пользователя
r136a8
Сообщения: 201
Зарегистрирован: 04 дек 2017, 00:01

Re: Настройка firewall Mikrotik, оптимизация правил файрволла.

Сообщение r136a8 »

Что можете сказать относительно вот этого.

Код: Выделить всё

/ip firewall filter
add action=accept chain=forward comment=Accept_Established&Related_forward connection-state=established,related,untracked
add action=drop chain=forward comment=Drop_Invalid_forward connection-state=invalid
add action=drop chain=forward comment=Drop_New_no_dstnat_forward connection-nat-state=!dstnat connection-state=new in-interface-list=WANs
Что из этого я могу использовать для своей конфигурации firewall (и нужно ли?) для защиты внутренних устройств от внешних запросов которые могут попасть под NAT.
https://www.youtube.com/watch?time_cont ... GvoT_Mwlvk
Аватара пользователя
Chupaka
Сообщения: 4086
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: Настройка firewall Mikrotik, оптимизация правил файрволла.

Сообщение Chupaka »

Использовать можете всё, это, по сути, правила из дефолтных настроек. Но только не для защиты от того, что вы натируете — они это как раз пропустят, как и должны :)
Аватара пользователя
r136a8
Сообщения: 201
Зарегистрирован: 04 дек 2017, 00:01

Re: Настройка firewall Mikrotik, оптимизация правил файрволла.

Сообщение r136a8 »

Chupaka писал(а): 26 фев 2019, 19:08 Использовать можете всё, это, по сути, правила из дефолтных настроек. Но только не для защиты от того, что вы натируете — они это как раз пропустят, как и должны :)
А каким способом можно обезопасить внутренние устройства такие как NAS от внешних запросов или выше перечисленных правил достаточно и они распространяются на все устройства после роутера?
ВНИМАНИЕ! Все приведенные способы могут защитить лишь от простейших проявлений атак, и не дают 100% гарантии защиты. Сетевое хранилище не обладает достаточным функционалом для самостоятельной организации надежной защиты от внешних атак. Подобные функции следует выполнять внешним устройствам, таким как маршрутизатор, межсетевой экран.
https://support.qnap.ru/hc/ru/articles/ ... 1%89%D0%B0
Спасибо
Аватара пользователя
Chupaka
Сообщения: 4086
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: Настройка firewall Mikrotik, оптимизация правил файрволла.

Сообщение Chupaka »

r136a8 писал(а): 27 фев 2019, 14:21 А каким способом можно обезопасить внутренние устройства такие как NAS от внешних запросов
Очень простым: запретить внешние запросы. Не факт, что это то, что вам надо, но после этого вы будете защищены от внешних запросов. В остальных случаях надо искать допустимый баланс между открытостью и защищённостью. Поэтому надо формулировать требования: от чего защищаемся? Потому что
r136a8 писал(а): 27 фев 2019, 14:21выше перечисленных правил достаточно и они распространяются на все устройства после роутера?
чтобы говорить о достаточности, необходимо очертить рамки достаточности. Например, бронированного стекла достаточно? С одной стороны, достаточно для того, чтобы защитить от осколков взрыва, с другой стороны - совершенно недостаточно, чтобы никто не увидел, что за ним расположено.
Аватара пользователя
r136a8
Сообщения: 201
Зарегистрирован: 04 дек 2017, 00:01

Re: Настройка firewall Mikrotik, оптимизация правил файрволла.

Сообщение r136a8 »

Chupaka писал(а): 27 фев 2019, 16:02 Очень простым: запретить внешние запросы.
На всякий слуйчай, а как запредить внешние запросы?
Chupaka писал(а): 27 фев 2019, 16:02 В остальных случаях надо искать допустимый баланс между открытостью и защищённостью. Поэтому надо формулировать требования: от чего защищаемся?
Думаю я Вас Понял!
Тяжело формулировать требования: от чего защищаемся так не знаю что и кто может постучатся. Вы как специалист/профессионал в своей области как считаете, что у меня именно та самая «золотая середина» где firewall сбалансирован?

Спасибо.
Аватара пользователя
Chupaka
Сообщения: 4086
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: Настройка firewall Mikrotik, оптимизация правил файрволла.

Сообщение Chupaka »

Чтобы запретить внешние запросы, выключите правила DST-NAT.

Я вообще для домашних роутеров не вижу особого смысла превентивно что-то защищать, если что-то прокинуто. Если есть проблема — надо её решать, а навешивать правила заранее — это расходовать ценные ресурсы процессора, с большего :)
Аватара пользователя
r136a8
Сообщения: 201
Зарегистрирован: 04 дек 2017, 00:01

Re: Настройка firewall Mikrotik, оптимизация правил файрволла.

Сообщение r136a8 »

Добрый день. Нашел вот такую статью о лженастройках и ошибках при настройке файрвола и как я понял я также вхожу в этот круг конечно. Как я понял поя настройка относительно BOGON сетей не правильная?
http://mikrotik.vetriks.ru/wiki/%D0%9C% ... 0%BB%D0%B0
Помогите пожалуста правильно настроить свой firewall, порты как я понимаю у меня закрыты. Нужен запрет доступ к локальной чети из интернета.
Можно ли вовсе запретить сканирование портов для всех и нужно ли?


Вот что я имею сейчас:

Код: Выделить всё

/ip firewall filter
add action=reject chain=forward comment=\
    "No packet walking between the bridges" disabled=yes in-interface=\
    bridge1-NET-V out-interface=bridge2-NET-E reject-with=\
    icmp-network-unreachable
add action=reject chain=forward disabled=yes in-interface=bridge2-NET-E \
    out-interface=bridge1-NET-V reject-with=icmp-network-unreachable
add action=drop chain=forward comment=Huawei connection-mark="" src-address=\
    192.168.6.23
add action=drop chain=input comment="Drop access to DNS from WAN" dst-port=53 \
    in-interface-list=WANs protocol=tcp
add action=drop chain=input dst-port=53 in-interface-list=WANs protocol=udp
add action=accept chain=forward comment=\
    "Forward and Input Established and Related connections" connection-state=\
    established,related
add action=drop chain=forward comment="defconf: drop invalid" \
    connection-state=invalid
add action=drop chain=forward comment="Procet LAN Network" \
    connection-nat-state=!dstnat connection-state=new in-interface-list=WANs \
    log=yes
add action=accept chain=input comment="defconf: accept established,related" \
    connection-state=established,related
add action=drop chain=input connection-state=invalid
add action=add-src-to-address-list address-list=ddos-blacklist \
    address-list-timeout=1d chain=input comment=\
    "DDoS Protect - Connection Limit" connection-limit=100,32 \
    in-interface-list=WANs protocol=tcp
add action=tarpit chain=input connection-limit=3,32 protocol=tcp \
    src-address-list=ddos-blacklist
add action=jump chain=forward comment="DDoS Protect - SYN Flood" \
    connection-state=new jump-target=SYN-Protect protocol=tcp tcp-flags=syn
add action=jump chain=input connection-state=new in-interface-list=WANs \
    jump-target=SYN-Protect protocol=tcp tcp-flags=syn
add action=return chain=SYN-Protect connection-state=new limit=200,5:packet \
    protocol=tcp tcp-flags=syn
add action=drop chain=SYN-Protect connection-state=new protocol=tcp \
    tcp-flags=syn
add action=drop chain=input comment="Protected - Ports Scanners" \
    src-address-list="Port Scanners"
add action=add-src-to-address-list address-list="Port Scanners" \
    address-list-timeout=none-dynamic chain=input in-interface-list=WANs log=\
    yes protocol=tcp psd=21,3s,3,1
add action=drop chain=input comment="1.5. Protected - WinBox Access" \
    src-address-list="Black List Winbox"
add action=add-src-to-address-list address-list="Black List Winbox" \
    address-list-timeout=none-dynamic chain=input connection-state=new \
    dst-port=38391 in-interface-list=WANs log=yes log-prefix="BLACK WINBOX" \
    protocol=tcp src-address-list="Winbox Stage 3"
add action=add-src-to-address-list address-list="Winbox Stage 3" \
    address-list-timeout=1m chain=input connection-state=new dst-port=38391 \
    in-interface-list=WANs protocol=tcp src-address-list="Winbox Stage 2"
add action=add-src-to-address-list address-list="Winbox Stage 2" \
    address-list-timeout=1m chain=input connection-state=new dst-port=38391 \
    in-interface-list=WANs protocol=tcp src-address-list="Winbox Stage 1"
add action=add-src-to-address-list address-list="Winbox Stage 1" \
    address-list-timeout=1m chain=input connection-state=new dst-port=38391 \
    in-interface-list=WANs protocol=tcp
add action=accept chain=input dst-port=38391 in-interface-list=WANs protocol=\
    tcp
add action=accept chain=input comment="Access Normal Ping" in-interface-list=\
    WANs limit=50/5s,2:packet protocol=icmp
add action=drop chain=forward comment=\
    "defconf:  drop all from WAN not DSTNATed" connection-nat-state=!dstnat \
    connection-state=new in-interface-list=WANs
add action=drop chain=input comment=Bogon_Wan_Drop in-interface-list=WANs \
    src-address-list=BOGONS
add action=drop chain=input comment="defconf: drop all from WAN" \
    in-interface-list=WANs
http://www.fotolink.su/v.php?id=69d8f00 ... df8a81d0f9
Аватара пользователя
Chupaka
Сообщения: 4086
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск

Re: Настройка firewall Mikrotik, оптимизация правил файрволла.

Сообщение Chupaka »

Добрый.

Ну, статья неплохая, прочитал пока верхушку - вроде посылы толковые. Единственное, аргументация местами ошибочная (например, в блоке про BOGON правило с connection-state=invalid не будет и не должно ловить ICMP-трафик с echo-ответами, invalid - это про пакеты, которых Connection Tracking не понимает; он не лезет настолько глубоко внутрь ICMP, например).
r136a8 писал(а): 28 июн 2019, 02:13 Помогите пожалуста правильно настроить свой firewall
Если сами не можете разобрать свой конфиг - хорошей рекомендацией будет взять дефолтные правила (после сброса конфига) и добавить в них то, что вам нужно. А то у вас вон даже два правила про "chain=forward connection-nat-state=!dstnat connection-state=new in-interface-list=WANs action=drop" в разных местах конфига - видимо, собирали не из одной инструкции :)
r136a8 писал(а): 28 июн 2019, 02:13 Можно ли вовсе запретить сканирование портов для всех и нужно ли?
Слегка философский вопрос... А от чего защищаемся? :)