(!) Возможные проблемы и частые ошибки при настройке фильтрации сетевых пакетов по портам

Я создаю в модеме правила фильтрации сетевых пакетов по номерам портов, но фильтры почему-то не срабатывают. Какие могут быть основные ошибки при настройке правил фильтрации по портам?


Покажем на примере возможные проблемы и частые ошибки при настройке в модеме фильтрации сетевых пакетов по номерам портов.

Приведем пример. Допустим, необходимо создать фильтр для запрещения прохождения протокола HTTPS из локальной сети в Интернет. Протокол HTTPS использует TCP и порт назначения 443. IP-адреса и порты источника при этом могут быть произвольными.

Вот пример правила фильтрации, содержащий ошибки:

Filter #: 1,1
Filter Type= TCP/IP Filter Rule
Active= Yes
IP Protocol= 6      IP Source Route= No
Destination: IP Addr= 0.0.0.0
                      IP Mask= 0.0.0.0
                      Port #= 443
                      Port # Comp= None
Source:        IP Addr= 0.0.0.0 
                      IP Mask= 0.0.0.0 
                      Port #= 443
                      Port # Comp= None

TCP Estab= No
More= No           Log= None
Action Matched= Drop
Action Not Matched= Check Next Rule

При создании правил фильтрации сетевых пакетов по портам, обратите внимание на следующие значения параметров:

  • В поле Filter Type (Тип фильтра) должно быть установлено значение TCP/IP Filter Rule (Правило фильтрации TCP/IP) для настройки правил фильтрации сетевых TCP/IP-пакетов;
  • В поле Active (Активировать) обязательно установите значение Yes (Да) для включения данного правила, иначе правило будет являться неактивным и не будет работать;
  • В поле IP Protocol (Протокол IP) может быть установлено одно из четырех возможных значений протоколов (ICMP=1, TCP=6, UDP=17, ALL=0). Например, для фильтрации протокола TCP в поле IP Protocol нужно установить значение 6.
  • В разделе Destination (Назначение) в поле Port # (Номер порта) укажите номер порта, который будет проверяться в сетевом пакете. Значение параметра Port # должно находиться в диапазоне от 0 до 65535. Поле со значением 0 игнорируется. Номер порта нужно указывать только в разделе Destination, т.к. в сетевом пакете это будет порт назначения (его и нужно блокировать или пропускать). 
    В нашем примере нам известен только номер порта назначения и его нужно указать в разделе Destination. Если указать номер порта сразу в двух разделах (Destination и Source), в этом случае правило не будет работать.
  • Важно! Если настраивать правило фильтрации по умолчанию, то в поле Port # Comp (в данном поле нужно указать критерий сравнения между заданным значением номера порта Port # и значением, получаемым из приходящего сетевого пакета) установлено значение None (в этом случае параметр, указанный в поле Port #, не проверяется). Возможными вариантами значения поля Port # Comp являются: None (Нет), Less (Меньше), Greater (Больше), Equal (Равно) или Not Equal (Не равно).
    Если вы хотите искать в сетевом пакете номер порта, равный тому, который указан в поле Port #, в поле Port # Comp установите значение Equal (Равно), и тогда фильтр будет работать правильно.
  • Важно! По умолчанию в поле Action Not Matched (Действие при несоответствии) установлено значение Check Next Rule (Проверять следующее правило), и в случае если вы создаете только одно правило фильтрации, то в этом поле нужно установить значение Forward (Переслать) для запрещающего правила (Action Matched= Drop) или значение Drop (Блокировать) для разрешающего правила (Action Matched= Forward). Это нужно для определения действий со всеми сетевыми пакетами, не подходящими под указанные в фильтрах правила.
    Если вы создаете несколько правил фильтрации, то в последнем правиле фильтрации в поле Action Not Matched (Действие при несоответствии) также нужно установить значение Forward (Переслать) для запрещающего правила или значение Drop (Блокировать) для разрешающего правила. 


Вот пример созданного запрещающего правила фильтрации, не содержащий ошибок, который будет блокировать все сетевые пакеты с номером порта назначения 443/tcp и разрешать прохождение остального сетевого трафика:

Filter #: 1,1
Filter Type= TCP/IP Filter Rule
Active= Yes
IP Protocol= 6      IP Source Route= No
Destination: IP Addr= 0.0.0.0
                      IP Mask= 0.0.0.0
                      Port #= 443
                      Port # Comp= Equal

Source:        IP Addr= 0.0.0.0 
                      IP Mask= 0.0.0.0 
                      Port #=  
                      Port # Comp= None
TCP Estab= No
More= No           Log= None
Action Matched= Drop
Action Not Matched= Forward

Чтобы созданный фильтр стал активным, его нужно обязательно присоединить к интерфейсу модема (WAN или LAN) и указать, к каким данным, исходящим (Output) или входящим (Input), будет применен конкретный фильтр.
Важно! Рекомендуем применять фильтры к WAN-интерфейсу модема, чтобы при неправильной настройке фильтра исключить возможность потери доступа к устройству. Если вы блокируете сетевые пакеты с номером порта 80, то не применяйте фильтр на LAN-интерфейс модема, т.к. встроенный веб-конфигуратор модема использует порт 80 и в этом случае вы потеряете доступ к управлению устройством через веб.

Пример настройки в модеме (интернет-центре) фильтрации сетевого трафика по номеру порта и по IP-адресу: KB-2021.

Дополнительную информацию по использованию и настройке фильтра TCP/IP-пакетов в устройствах ZyXEL вы найдете в следующей статье: KB-1336

Пример настройки IP-фильтра из режима командной строки модема можно найти в следующей статье нашей Базы знаний: KB-1687


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

/*Создайте правило фильтрации по порту назначения, в котором нужно запретить передачу трафика через порт 443/tcp и указать действие для остального трафика (в нашем примере указано значение Forward). */

sys filter set index 1 1
sys filter set name 1 Block_HTTPS
sys filter set type tcpip
sys filter set enable
sys filter set protocol 6
sys filter set destport 443 compare type=equal
sys filter set actmatch drop
sys filter set actnomatch forward
sys filter set save
sys filter set display 1 1


/*Чтобы созданный фильтр Block_HTTPS стал активным, его нужно присоединить к WAN-интерфейсу устройства к исходящим данным.*/

wan node index 1
wan node filter outgoing tcpip 1
wan node save

Дополнительную информацию по настройке фильтров из режима командной строки можно получить из следующей статьи в Базе знаний - KB-1687

KB-2023

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 0 из 0