Ваши темы для Вебинаров

В Москве:

РФ (звонок бесплатный):

+7 (495) 103-99-88 +7 (800) 600-20-56

Цепочка Input в Firewall Mikrotik

9495


В данной статье поговорим о цепочке input в firewall Mikrotik. Разберем зачем она нужна и научимся создавать новые правила.

Цепочка Input — это цепочка в разделе IP -> Firewall -> Filter Rules, которая защищает наш роутер от каких-либо сетей, из которых может производиться несанкционированный доступ.

Если нам необходимо защитить наш роутер от злоумышленников, например из интернета. Мы должны создавать правила в цепочке Input.

Эта цепочка также необходима для публикации различных сервисов RouterOS, например, во внешнюю сеть.

Давайте ознакомимся с правилами цепочки input, содержащимися в конфигурации firewall по умолчанию.
Для этого переходимо в раздел IP -> Firewall -> Filter Rules и с помощью фильтра в верхнем правом углу выбираем input. Таким образом мы отфильтруем только правила, принадлежащие этой цепочке.

IP/Firewall/Filter Rules


/ip firewall filter print where chain=input 
Flags: X - disabled, I - invalid; D - dynamic 
 1    ;;; defconf: accept established,related,untracked
      chain=input action=accept 
      connection-state=established,related,untracked 

 2    ;;; defconf: drop invalid
      chain=input action=drop connection-state=invalid 

 3    ;;; defconf: accept ICMP
      chain=input action=accept protocol=icmp 

 4    ;;; defconf: accept to local loopback (for CAPsMAN)
      chain=input action=accept dst-address=127.0.0.1 

 5    ;;; defconf: drop all not coming from LAN
      chain=input action=drop in-interface-list=!LAN

Default конфигурация, которую мы сейчас видим, обычно присутствует в SOHO роутерах после первого включения. Если она отсутствует, то базовые правила для firewall можно просмотреть командой /system default-configuration print. Подробнее описано в статье https://mikrotik-training.ru/kb/1-firewall-v-mikrotik/

Здесь мы можем увидеть несколько правил. Самое главное среди них — последнее правило, запрещающее трафик к внутренним сервисам Mikrotik со всех интерфейсов, кроме локальной сети.

IP/Firewall/Filter Rules

Напоминаем, что обозначение локальных интерфейсов, например LAN в данном случае, в Mikrotik RouterOS весьма условно. Настройка логических интерфейсов производится в разделе Interface -> Interface List

В этом разделе мы назначаем различные интерфейсы тому или иному логическому определению.

Interface/Interface List


/interface list member print 
Columns: LIST, INTERFACE
# LIST  INTERFACE
;;; defconf
0 LAN   bridge   
;;; defconf
1 WAN   ether1   

В данном случае имеется два логических определения – это LAN (Local Area Network) и WAN (Wide Area Network), которым сопоставляются интерфейсы bridge и ether1 соответственно.

01. Разбор цепочки “Input”

  • Давайте вернемся к разделу IP -> Firewall -> Filter Rules и подробнее рассмотрим правила цепочки input
    1. Первым мы видим правило, связанное с состояниями пакетов, о которых мы поговорим в следующих роликах.
    2. Вторым идет правило, которое отсекает некорректные пакеты с внешнего интерфейса
    3. Далее идет разрешающее правило для ICMP протокола, который нужен для диагностики сетей
    4. Следующим идет правило, связанное с настройкой CAPsMAN
    5. Последнее правило защищает наш роутер с внешнего интерфейса.

IP/Firewall/Filter Rules

Последнее правило, о котором мы говорили ранее, является самым главным и обладает тремя важными параметрами: chain=input – указывает на то, что относится к цепочке input; in-interface-list=!LAN — означает, что распространяет свое действие на все интерфейсы, кроме LAN; action=drop – говорит роутеру, что нужно сделать с пакетом, а именно отбросить.


/ip firewall filter add action=drop chain=input comment="defconf: drop all not coming from LAN" in-interface-list=!LAN  

IP/Firewall/Filter Rules/General

Стоит учитывать, что важен порядок расположения фильтрующих правил. При прохождении пакета через firewall он проверяется на соответствие правилам, продвигаясь сверху вниз. Если пакет, будет соответствовать правилу, располагающемуся вверху списка, то к нему будет применено действие этого правила (например, при запрещающем правиле пакет будет отброшен) и не будет проверяться нижестоящими правилами (за исключением некоторых типов правил).

02. Добавление разрешающих правил в цепочке “Input”

Если мы будем использовать наш роутер в качестве VPN-сервера, то нам понадобится публиковать порты наших VPN серверов в цепочке Input. И естественно, правило, связанное с запретом внешних соединений со всех интерфейсов кроме локальной сети будет нам этому мешать.

Для того, чтобы это исправить нам потребуется добавить в цепочку Input разрешающее правило. Например, к OpenVPN серверу.

По умолчанию OpenVPN сервер имеет порт 1194 по протоколу TCP.

Для создания правила в Winbox выбираем цепочку input, выбираем протокол TCP, а также Destination Port 1194.

Также мы можем указать с какого интерфейса будет разрешен доступ к нашему OpenVPN серверу. Это может быть конкретный интерфейс, тогда мы выбираем его в поле In. Interface, или же это может быть Interface List, в таком случае мы заполняем поле In. Interface List. Для примера, выберем In. Interface List – WAN.

По умолчанию, правила создаются последними в списке (в самом низу) и имеют разрешающее действие.

IP/Firewall/Filter Rules/General


/ip firewall filter add chain=input protocol=tcp dst-port=1194 in-interface-list=WAN action=accept comment="OpenVPN" 
Правилом хорошего тона является написание комментариев к правилам.

В данном случае нам понадобится переместить наше правило выше, чем Input Drop.

Размещайте вновь созданное правило над правилом Input Drop и под правилами, связанными с состояниями соединений established, related, untracked.

IP/Firewall/Filter Rules

03. Настройка доступа к роутеру для администратора

Если мы хотим открыть доступ для администрирования нашего роутера с какой-то удаленной площадки, то для этого можно сделать правило Input. Выбрать протокол TCP, параметр In. Interface List задать WAN и указать порты, связанные с управлением роутером, например SSH (порт 22) и Winbox (порт 8291).

Данное правило позволит управлять нашим роутером удаленно.

IP/Firewall/Filter Rules/Action


/ip firewall filter add chain=input protocol=tcp dst-port=22,8291 in-interface-list=WAN action=accept comment="SSH,Winbox"
Но это правило открывает доступ не только нам к нашему роутеру, но и различным злоумышленникам.

Поэтому, если мы хотим сделать безопасную настройку, то в наше правило нужно добавить Address List.

04. Добавление адрес-листа и настройка безопасного доступа

Более подробно об Address Lists мы поговорим в следующих видео.

В разделе IP -> Firewall -> Address Lists добавляем Address List, например admin, и в этот Address List добавляем IP-адреса, с которых мы будем подключаться.

Для примера мы указали адрес 1.1.1.1. В реальности же, вместо него мы должны указать IP-адрес, который находится на нашей удаленной площадке.

IP/Firewall/Adress List


/ip firewall address-list add list=admin address=1.1.1.1

Нам осталось добавить этот Address List в существующее правило firewall. Для этого в поле Scr. Address List указываем, созданный нами лист admin.

IP/Firewall/Filter Rules

В результате получится такое правило:


/ip firewall filter add chain=input protocol=tcp dst-port=22,8291 in-interface-list=WAN src-address-list=admin action=accept comment="SSH,Winbox"

Теперь только с адреса, указанного в Address List, мы сможем подключаться к нашему роутеру.


  • MTCRE

    13 - 16 мая 10.00 - 18.00
  • MTCSE

    20 - 23 мая 10.00 - 18.00
  • MTCNA

    17 - 20 июня 10.00 - 18.00
  • MTCNA

    24 - 27 июня 10.00 - 18.00
  • MTCNA

    09 - 12 июля 10.00 - 18.00
  • MTCNA

    15 - 18 июля 10.00 - 18.00
  • MTCRE

    05 - 08 августа 10.00 - 18.00
  • MTCWE

    16 - 19 сентября 10.00 - 18.00

Курсы Mikrotik-Training.

Знания, которые дают результат.