fb logo  VK  Feed icon.svg  

Перевод WiKi руководства MikroTik по Firewall Filter

опубликовал от 14 September, 2020

Брандмауэр реализует фильтрацию пакетов и тем самым обеспечивает функции безопасности, которые используются для управления потоком данных к маршрутизатору, от него и через него. Наряду с трансляцией сетевых адресов он служит инструментом предотвращения несанкционированного доступа к непосредственно подключенным сетям и самому маршрутизатору, а также фильтром для исходящего трафика.

Сетевые брандмауэры защищают от внешних угроз для конфиденциальных данных, доступных внутри сети. Всякий раз, когда различные сети соединяются вместе, всегда существует угроза того, что кто-то из вне вашей сети взломает вашу локальную сеть. Такие взломы могут привести к краже и распространению личных данных, изменению или уничтожению ценных данных или удалению данных с жестких дисков. Брандмауэры используются как средство предотвращения или минимизации рисков безопасности, присущих при подключении к другим сетям. Правильно настроенный брандмауэр играет ключевую роль в эффективном и безопасном развертывании сетевой инфраструктуры.

MikroTik RouterOS имеет очень мощную реализацию брандмауэра с такими функциями, как:

  • проверка пакетов с сохранением состояния
  • Обнаружение протокола уровня 7
  • фильтрация одноранговых протоколов
  • классификация трафика по:
  • исходный MAC-адрес
  • IP-адреса (сетевые или список) и типы адресов (широковещательные, локальные, многоадресные, одноадресные)
  • порт или диапазон портов
  • протокол IP
  • параметры протокола (поля типа ICMP и кода, флаги TCP, параметры IP и MSS)
  • интерфейс пакет прибыл из или ушел через него
  • внутренний поток и метки соединения
  • Байт DSCP
  • содержимое пакета
  • скорость, с которой поступают пакеты, и порядковые номера
  • размер пакета
  • время прибытия пакета
  • и многое другое!

Цепи (Chains)

Брандмауэр работает с помощью правил. Каждое правило состоит из двух частей - матчера, который сопоставляет поток трафика с заданными условиями, и действия, которое определяет, что делать с соответствующим пакетом.

Правила фильтрации брандмауэра сгруппированы в цепочки. Это позволяет сопоставить пакет с одним общим критерием в одной цепочке, а затем передать для обработки по некоторым другим общим критериям в другую цепочку. Например, пакет должен быть сопоставлен с парой IP-адрес:порт. Конечно, это может быть достигнуто путем добавления в прямую цепочку как можно большего количества правил с IP-адресом:port match, но лучшим способом может быть добавление одного правила, которое соответствует трафику с определенного IP-адреса, например: /ip firewall filter add src-address=1.1.1.2/32 jump-target="mychain" и в случае успешного совпадения передает контроль над IP-пакетом в какую-то другую цепочку, id est mychain в этом примере. Затем правила, которые выполняют сопоставление с отдельными портами, могут быть добавлены в цепочку mychain без указания IP-адресов.

Есть три предопределенные цепочки, которые нельзя удалить:

  • input - используется для обработки пакетов, поступающих на маршрутизатор через один из интерфейсов с IP-адресом назначения, который является одним из адресов маршрутизатора. Пакеты, проходящие через маршрутизатор, не обрабатываются в соответствии с правилами входной цепочки
  • forward - используется для обработки пакетов, проходящих через маршрутизатор
  • output - используется для обработки пакетов, исходящих от маршрутизатора и выходящих из него через один из интерфейсов. Пакеты, проходящие через маршрутизатор, не обрабатываются в соответствии с правилами выходной цепочки

Диаграммы потока пакетов иллюстрируют, как пакеты обрабатываются в RouterOS.

При обработке цепочки правила берутся из цепочки в том порядке, в котором они перечислены там сверху вниз. Если пакет соответствует критериям правила, то указанное действие выполняется над ним, и больше никакие правила не обрабатываются в этой цепочке (исключение составляет действие passthrough). Если пакет не соответствует какому-либо правилу в пределах встроенной цепочки, то он принимается.

Чтобы попасть в подменю из консоли следует ввести:

 

/ip firewall filter

 

Таблица свойств:

Характеристика Описание
action (имя действия; по умолчанию: принять) Действие, которое необходимо предпринять, если пакет соответствует правилу:
  • accept - примите пакет. Пакет не передается следующему правилу брандмауэра.
  • add-dst-to-address-list - добавить адрес назначения в список адресов, указанный address-list параметром
  • add-src-to-address-list - добавить исходный адрес в список адресов, указанный address-list параметром
  • drop - молча отбросить пакет.
  • fasttrack-connection - обрабатывать пакеты из соединения с помощью FastPath, включив FastTrack для соединения
  • jump - переход к пользовательской цепочке, заданной значением jump-target параметра
  • log - добавьте сообщение в системный журнал, содержащее следующие данные:in-interface, out-interface, src-mac, protocol, src-ip:port->dst-ip: порт и длина пакета. После того, как пакет сопоставлен, он передается следующему правилу в списке, аналогичному passthrough
  • passthrough - если пакет соответствует правилу, увеличьте счетчик и перейдите к следующему правилу (полезно для статистики)
  • reject - отбросьте пакет и отправьте сообщение об отклонении ICMP
  • return - передает управление обратно в цепочку, откуда произошел прыжок
  • tarpit - захватывает и удерживает TCP-соединения (отвечает SYN/ACK на входящий TCP-пакет SYN)
address-list (строка; по умолчанию: ) Имя используемого списка адресов. Применимо, если действие является add-dst-to-address-list или add-src-to-address-list
address-list-timeout (время; по умолчанию: 00: 00: 00) Интервал времени, по истечении которого адрес будет удален из списка адресов, указанного address-list параметром. Используется в сочетании с add-dst-to-address-listadd-src-to-address-list действиями или
Значение 00:00:00 оставит адрес в списке адресов навсегда
chain (имя; по умолчанию: ) Указывает, к какому правилу цепочки будет добавлено правило. Если входные данные не совпадают с именем уже определенной цепочки, будет создана новая цепочка.
comment (строка; по умолчанию: ) Описательный комментарий к правилу.
connection-bytes (integer-целое число; по умолчанию: ) Сопоставляет пакеты только в том случае, если заданное количество байтов было передано через конкретное соединение. 0 - означает бесконечность, например connection-bytes=2000000-0 означает, что правило совпадает, если через соответствующее соединение было передано более 2 МБ
connection-limit (целое число, маскасети ; по умолчанию: ) Сопоставляет соединения по адресу или блоку адресов после достижения заданного значения. Следует использовать вместе с connection-state=new и / или с tcp-flags=syn, так как matcher очень ресурсоемкий.
connection-mark (no-mark / string; по умолчанию:) Соответствует пакетам, помеченным через средство mangle, с определенной меткой соединения. Если параметр no-mark не установлен, правило будет соответствовать любому немаркированному соединению.
connection-nat-state (srcnat | dstnat; по умолчанию: ) Может соответствовать соединениям, которые являются srcnatted, dstnatted или обоими. Обратите внимание, что connection-state=related connections connection-nat-state определяется направлением первого пакета. и если отслеживание соединений должно использовать dst-nat для доставки этого соединения тем же хостам, что и основное соединение, то оно будет находиться в connection-nat-state=dstnat, даже если правил dst-nat вообще нет.
connection-rate (Целое число 0..4294967295; по умолчанию: ) Скорость соединения - это сопоставитель брандмауэра, который позволяет захватывать трафик на основе текущей скорости соединения.
connection-state (estabilished / invalid | new / related | untracked; по умолчанию: ) Интерпретирует данные анализа отслеживания соединений для конкретного пакета:
  • established - пакет, принадлежащий существующему соединению
  • invalid - пакет, который не имеет определенного состояния при отслеживании соединения (обычно - серьезные пакеты вне порядка, пакеты с неправильной последовательностью/номером ack или в случае чрезмерного использования ресурсов на маршрутизаторе), по этой причине недопустимый пакет не будет участвовать в NAT (как только connection-state=new packets do) и все равно будет содержать исходный IP-адрес источника при маршрутизации. Мы настоятельно рекомендуем отбросить все пакеты connection-state=invalid в цепочках переадресации и ввода фильтра брандмауэра
  • new - пакет запустил новое соединение или иным образом связан с соединением, которое не видело пакетов в обоих направлениях.
  • related - пакет, который связан с существующим соединением, но не является его частью, например ошибки ICMP или пакет, который начинает FTP-соединение для передачи данных
  • untracked - пакет, который был установлен для обхода отслеживания соединений в необработанных таблицах брандмауэра.
connection-type (ftp | h323 / irc | pptp / quake3 / sip | tftp; по умолчанию: ) Сопоставляет пакеты от связанных соединений на основе информации от их помощников по отслеживанию соединений. Соответствующий помощник подключения должен быть включен в разделе / ip firewall service-port
content (строка; по умолчанию: ) Сопоставьте пакеты, содержащие указанный текст
dscp (целое число: 0..63; по умолчанию: ) Соответствует полю заголовка IP-адреса DSCP.
dst-address (Диапазон IP / netmask / IP; по умолчанию: ) Сопоставляет пакеты, назначение которых равно указанному IP-адресу или попадает в указанный диапазон IP-адресов.
dst-address-list (имя; по умолчанию: ) Сопоставляет адрес назначения пакета с определяемым пользователем списком адресов
dst-address-type (одноадресная / локальная / широковещательная / многоадреснаяпередача ; по умолчанию: ) Соответствует типу адреса назначения:
  • unicast - IP-адрес, используемый для передачи данных точка-точка
  • local - если dst-адрес назначен одному из интерфейсов маршрутизатора
  • broadcast - пакет отправляется на все устройства в подсети
  • multicast - пакет пересылается на определенную группу устройств
dst-limit (integer [/time], integer, dst-address | dst-port | src-address [/time]; по умолчанию: ) Сопоставляет пакеты до тех пор, пока не будет превышена заданная скорость. Скорость определяется как количество пакетов за интервал времени. В отличие от limit матчера, у каждого потока есть свой предел. Поток определяется параметром mode. Параметры записываются в следующем формате: count [/time], burst, mode [/expire].
  • count - количество пакетов в каждом временном интервале для соответствия потоку
  • time - задает интервал времени, в течение которого количество пакетов в потоке не может быть превышено (необязательно, 1s будет использоваться, если не указано)
  • burst - начальное количество пакетов в потоке для соответствия: это число перезаряжается на один каждый time/count, вплоть до этого числа
  • mode - этот параметр указывает, какие уникальные поля определяют поток (src-address, dst-address, src-and-dst-address, dst-address-and-port, addresses-and-dst-port)
  • expire - указывает интервал, после которого поток без пакетов будет разрешен к удалению (необязательно)
dst-port (целое число [- integer]: 0..65535; по умолчанию: ) Список номеров портов назначения или диапазонов номеров портов
fragment (да / нет; по умолчанию: ) Соответствует фрагментированным пакетам. Первый (стартовый) фрагмент не считается. Если отслеживание соединений включено то фрагментов не будет так как система автоматически собирает каждый пакет
hotspot (auth | from-client / http / local-dst | to-client; по умолчанию: ) Сопоставляет пакеты, полученные от клиентов HotSpot, с различными Сопоставителями HotSpot.
  • auth - соответствует аутентифицированным клиентским пакетам HotSpot
  • from-client - сопоставляет пакеты, поступающие от клиента HotSpot
  • http - соответствует HTTP-запросам, отправленным на сервер HotSpot
  • local-dst - сопоставляет пакеты, предназначенные для сервера HotSpot
  • to-client - сопоставляет пакеты, которые отправляются клиенту HotSpot
icmp-options (integer:целое число; по умолчанию: ) Соответствует типу ICMP: кодовые поля
in-bridge-port (имя; по умолчанию: ) Фактический интерфейс с которого пакет вошел в маршрутизатор, если входящий интерфейс является мостом. Работает только в том случае, если use-ip-firewall включен в настройках моста.
in-bridge-port-list (имя; по умолчанию: ) Набор интерфейсов, определенных в списке интерфейсов. Работает так же, как и in-bridge-port
in-interface (имя; по умолчанию: ) Интерфейс пакет вошел в маршрутизатор
in-interface-list (имя; по умолчанию: ) Набор интерфейсов, определенных в списке интерфейсов. Работает так же, как и in-interface
ingress-priority (целое число: 0..63; по умолчанию: ) Соответствует приоритету входного пакета. Приоритет может быть получен из VLAN, WMM, DSCP или MPLS EXP bit.
ipsec-policy (вход | выход, ipsec / нет; по умолчанию: ) Соответствует политике, используемой IpSec. Значение записывается в следующем формате: direction, policy. Направление используется для выбора соответствия политике, используемой для декапсуляции, или политике, которая будет использоваться для инкапсуляции.
  • in - действителен в предварительной, входной и прямой цепочках
  • out - действителен в ПОСТПРОТЯЖНЫХ, выходных и прямых цепочках
  • ipsec - соответствует, если пакет подлежит обработке IpSec;
  • none - соответствует пакету, который не подлежит обработке IpSec (например, транспортный пакет IpSec).

Например, если маршрутизатор получает инкапсулированный Ipsec пакет Gre, то правило ipsec-policy=in,ipsec будет соответствовать пакету Gre, но правило ipsec-policy=in, none будет соответствовать пакету ESP.

ipv4-options (any / loose-source-routing | no-record-route | no-router-alert | no-source-routing | no-timestamp | none / record-route / router-alert | strict-source-routing | timestamp; по умолчанию: ) Соответствует параметрам заголовка IPv4.
  • any - сопоставьте пакет хотя бы с одним из вариантов ipv4
  • loose-source-routing - сопоставьте пакеты с возможностью маршрутизации свободного источника. Этот параметр используется для маршрутизации интернет-дейтаграммы на основе информации, предоставленной источником
  • no-record-route - сопоставьте пакеты без опции маршрута записи. Этот параметр используется для маршрутизации интернет-дейтаграммы на основе информации, предоставленной источником
  • no-router-alert - сопоставление пакетов без опции изменения маршрутизатора
  • no-source-routing - сопоставление пакетов без опции маршрутизации источника
  • no-timestamp - совпадение пакетов без опции метки времени
  • record-route - сопоставьте пакеты с опцией маршрута записи
  • router-alert - сопоставьте пакеты с опцией изменения маршрутизатора
  • strict-source-routing - сопоставьте пакеты со строгим вариантом маршрутизации источника
  • timestamp - сопоставьте пакеты с меткой времени
jump-target (имя; по умолчанию: ) Имя целевой цепочки, к которой нужно перейти. Применимо только в том случае, если action=jump
layer7-protocol (имя; по умолчанию: ) Имя фильтра Layer7 определяется в меню протокола layer7.
limit (integer, time, integer; по умолчанию: ) Сопоставляет пакеты с ограниченной скоростью (скорость передачи пакетов или скорость передачи битов). Правило, использующее этот сопоставитель, будет совпадать до тех пор, пока этот предел не будет достигнут. Параметры записываются в следующем формате: count [/time], burst:mode.
  • count-количество пакетов или битов за соответствующий интервал времени
  • time-задает интервал времени, в течение которого количество пакетов или битов не может быть превышено (необязательно, если не указано значение 1s).)
  • packet-начальное количество пакетов или битов для соответствия: это число перезаряжается каждые 10 мс, поэтому пакет должен быть не менее 1/100 скорости в секунду
  • mode-пакетный или битовый режим
log-prefix (строка; по умолчанию: ) Добавляет указанный текст в начало каждого сообщения журнала. Применимо, если action=log
nth (целое число, integer; по умолчанию: ) Соответствует каждому N-му пакету. 
out-bridge-port (имя; по умолчанию: ) Фактический интерфейс пакет покидает маршрутизатор, если исходящий интерфейс является мостом. Работает только в том случае, если use-ip-firewall включен в настройках моста.
out-bridge-port-list (имя; по умолчанию: ) Набор интерфейсов, определенных в списке интерфейсов. Работает так же, как и out-bridge-port
out-interface (; По умолчанию: ) Интерфейс пакет покидает маршрутизатор
out-interface-list (имя; по умолчанию: ) Набор интерфейсов, определенных в списке интерфейсов. Работает так же, как и out-interface
packet-mark (no-mark / string; по умолчанию: ) Соответствует пакетам, помеченным через средство mangle, с определенной меткой пакета. Если не установлен знак, правило будет соответствовать любому немаркированному пакету.
packet-size (целое число [- integer]: 0..65535; по умолчанию: ) Соответствует пакетам указанного размера или диапазона размеров в байтах.
per-connection-classifier (ValuesToHash: Знаменатель / Остаток; По Умолчанию: ) PCC matcher позволяет разделить трафик на равные потоки с возможностью сохранения пакетов с определенным набором опций в одном конкретном потоке.
port (целое число [- integer]: 0..65535; по умолчанию: ) Соответствует, если какой-либо порт (исходный или конечный) соответствует указанному списку портов или диапазонам портов. Применимо только в том случае, если protocol это TCP или UDP
priority (целое число: 0..63; по умолчанию:) Соответствует приоритету пакета после установки нового приоритета. Приоритет может быть получен из VLAN, WMM, DSCP, MPLS EXP bit или из приоритета, который был установлен с помощью set-priority действия.
protocol (имя или идентификатор протокола; по умолчанию: tcp) Соответствует определенному IP-протоколу, определяемому именем или номером протокола
psd (integer, time, integer, integer; по умолчанию: ) Попытки обнаружить сканирование TCP и UDP. Параметры представлены в следующем формате WeightThreshold, DelayThreshold, LowPortWeight, HighPortWeight
  • WeightThreshold - общий вес последних пакетов TCP / UDP с различными портами назначения, поступающих с одного хоста и обрабатываемых как последовательность сканирования портов.
  • DelayThreshold-задержка для пакетов с разными портами назначения, поступающих с одного и того же хоста, которые будут рассматриваться как возможная подпоследовательность сканирования портов
  • LowPortWeight - вес пакетов с привилегированными (
  • HighPortWeight - вес пакета с непривилегированным портом назначения
random (целое число: 1..99; по умолчанию: ) Сопоставляет пакеты случайным образом с заданной вероятностью.
reject-with (icmp-admin-Forbidden | icmp-net-Forbidden | icmp-protocol-unreachable | icmp-host-Forbidden | icmp-network-unreachable / tcp-reset | icmp-host-unreachable | icmp-port-unreachable; по умолчанию: icmp-network-unreachable) Указывает ошибку ICMP, которая будет отправлена обратно, если пакет будет отклонен. Применимо, если action=reject
routing-table (строка; по умолчанию: ) Сопоставляет пакеты, адрес назначения которых разрешен в конкретной таблице маршрутизации. Более подробную информацию можно найти на странице сопоставления таблиц маршрутизации
routing-mark (строка; по умолчанию: ) Сопоставляет пакеты, помеченные средством mangle, с определенной меткой маршрутизации
src-address (Ip / Netmaks, диапазон Ip; по умолчанию: ) Сопоставляет пакеты, источник которых равен указанному IP-адресу или попадает в указанный диапазон IP-адресов.
src-address-list (имя; по умолчанию: ) Сопоставляет исходный адрес пакета с определяемым пользователем списком адресов
src-address-type (unicast | local | broadcast | multicast;; по умолчанию: )

Соответствует типу адреса источника:

  • unicast - IP-адрес, используемый для передачи данных точка-точка
  • local - если адрес назначен одному из интерфейсов маршрутизатора
  • broadcast - пакет отправляется на все устройства в подсети
  • multicast - пакет пересылается на определенную группу устройств
src-port (целое число [- integer]: 0..65535; по умолчанию: ) Список исходных портов и диапазоны исходных портов. Применимо только в том случае, если протокол TCP или UDP.
src-mac-address (MAC-адрес; по умолчанию: ) Соответствует исходному MAC-адресу пакета
tcp-flags (ack | cwr / ece | fin | psh | rst | syn | urg; по умолчанию: ) Соответствует указанным флагам TCP
  • ack - подтверждение данных
  • cwr - окно перегрузки уменьшено
  • ece -Флаг ECN-echo (явное уведомление о перегрузке)
  • fin - тесная связь
  • psh - функция push
  • rst - падение соединения
  • syn - новое соединение
  • urg - срочные данные
tcp-mss (целое число [- integer]: 0..65535; по умолчанию: ) Соответствует значению TCP MSS IP пакета
time (время-время, СБ / пт / чт | СР | Вт | Пн / Вс; по умолчанию: ) Позволяет создать фильтр на основе времени и даты прибытия пакетов или, для локально генерируемых пакетов, времени и даты отправления
tls-host (строка; по умолчанию: ) Позволяет сопоставлять https-трафик на основе имени хоста TLS SNI. Принимает синтаксис глобуса для сопоставления подстановочных знаков. Обратите внимание, что matcher не сможет сопоставить имя хоста, если кадр рукопожатия TLS фрагментирован на несколько сегментов TCP (пакетов).
ttl (целое число: 0..255; по умолчанию: ) Соответствует значению TTL пакетов

 

Перевод сделан для этих материалов: https://wiki.mikrotik.com/wiki/Manual:IP/Firewall/Filter

Извините статья в разработке.....

Read 11714 times Last modified on Saturday, 26 September 2020 05:20

Related items

Add comment

Комментарий будет удалён, если не будет содержать осмысленный текст. В тексте сообщения не должно быть бесполезных ссылок на другие сайты.

Твой кролик написал - Your Bunny Wrote
Американские программисты очень долго не могли понять почему их pyсские коллеги пpи зависании Windows всё время повторяют фpазy твой кролик написал (Your Bunny Wrote) (английский вариант следует прочитать быстро).
Настоящие программисты любят Windows
Настоящие программисты любят Windows: все ошибки, сделанные по собственной тупости, можно свалить на Microsoft.
Анекдот дня
Microsoft заявляет, что Windows Vista совмещает в себе возможности Unix с традиционными преимуществами Windows. И действительно, от Unix/Linux там несовместимость с распространённым железом и софтом, а от Windows - тормоза и глюки!  
«
»
  • 1
  • 2
  • 3
  • 4
  • 5

Нравится ли вам наш блог?

Услуги по удалённой настройке MikroTik от профессионала
Полноценное использование маршрутизатора MikroTik достигается только в результате его грамотной настройки. Неопытный специалист может очень долго провозиться с маршрутизатором, так и не заставив его
Услуги переустановки Windows с выездом в офис
Переустановка Windows на дому и офисе с выездом по Минску весьма востребованная услуга. Иногда ввиду заражения вирусами или вредоносными программами, а также после случайно удаления системных
Услуги ремонта компьютеров с выездом в офис
Каждый из нас хоть раз сталкивался с неожиданной поломкой компьютера, его комплектующих, или же сбоя в программном обеспечении. Зачастую, это происходит в самый неподходящий момент: когда нужно
Услуги настройки Wi-Fi сети на дому и в офисе
Настроим любые Wi-Fi роутеры с выездом к вам на дом или в офис по Минску. Современные компьютерные технологии предлагают пользователю все новые достижения, способные сделать работу с компьютером и
Услуги по настройке модемов на дому и в офисе
Настроим роутеры белорусских интернет провайдеров с выездом на дом и в офис по Минску. Сегодня многие пользователи знакомы с беспроводными сетями, знают о преимуществах их использования. Однако
Услуги установки и настройки свободных программ
Для начинающих пользователей Windows и Mac мы предлагаем услуги установки и настройки свободного программного обеспечения с выездом по Минску в офис. Предлагаем вам установить: пакет офисных
Услуги настройки роутеров в офисе и на дому
Использование маршрутизатора (англ. router) возможно только после его правильной настройки, а это не так уж и просто. Как правило нет опредёлённой методологии для осуществления настройки, ведь
Услуги настройки и обслуживания локальных сетей
Настройка локальной сети в Минске является ответственным этапом запуска сетей и требует тщательной проработки квалифицированными специалистами. Локальные сети (проводные и беспроводные) дают
Услуги монтажа локальной вычислительной сети
Прокладка локальных сетей это комплексная работа, которая выполняется нашими специалистами качественно, продуманно и в сроки, четко оговоренные с заказчиком. На сегодняшний день, прокладка
Услуги подключения и настройки периферийных устройств
Если Вы приобрели оборудование для персонального компьютера, но не знаете как его установить и настроить, не хотите копаться в тонкостях подобных работ или же не имеете на это время, опытные
Услуги чистки ноутбуков от пыли в офисе
Одна из самых распространенных неисправностей ноутбука является перегрев из-за забившейся пылью системы охлаждения. В следствии чего ноутбук тормозит, а порой даже выключается.  Если Ваш

Авторизация