Содержание

Услуги Услуга 13 Мини Firewall

Мини Firewall

Услуга мини Firewall предназначена для защиты оборудования абонентов с публичными IP-адресами (IPv4 и IPv6) от несанкционированного доступа извне. Для абонентов с приватными адресами аналогичную защиту обеспечивает NAT.

Фильтрация входящих соединений

Для IP-адреса абонента блокируются все входящие соединения на порты ниже порога max_port. Рекомендуется закрывать как минимум диапазон системных портов 0–1024. Отдельные порты можно оставить открытыми с помощью port_holes, например для доступа к домашнему NAS.

Мини Firewall учитывает состояние соединений:

В терминах iptables это аналог правила «DROP для состояния NEW на вход абонента». Фильтрация работает одинаково для IPv4 и IPv6 и применяется ко всем протоколам, использующим порты (TCP, UDP и др.).

Ограничение исходящего трафика

С помощью out_port можно закрыть абоненту исходящий трафик на указанные порты. Например, если по данным NetFlow или abuse-жалобам выявлена рассылка спама, можно закрыть почтовые порты 25, 465.

Часто абонент в этом случае не виновен: его компьютер заражён вирусом или входит в чужую ботнет-сеть. Рекомендуется показать абоненту страницу уведомления с помощью услуги 6 (Уведомление абонентов через Redirect) с описанием проблемы и предложением подписки на антивирус. Это также помогает продавать дополнительные услуги.

Управление

Управление данным сервисом на уровне отдельных абонентов осуществляется с помощью fdpi_ctrl

Формат команды:

fdpi_ctrl команда --service 13 [список_опций] [список_IP или Login]

Подробнее синтаксис команд и способы задания IP адресов описаны в разделе Команды управления

Примеры:

активировать мини Firewall для конкретного абонента с именованным (заранее сконфигурированным) профилем

fdpi_ctrl load profile --service 13 --profile.name полный_firewall --profile.json '{  "max_port" : 1024, "port_holes" : [ 80, 8080 ], "out_port" : [ 25, 465 ] }'
fdpi_ctrl load --service 13 --profile.name полный_firewall --login ivan.ivanovich

где в формате json задаются следующие настройки профиля
max_port - номер порта, ниже которого блокируется доступ
port_holes - список портов, к которым разрешается доступ в обход ограничения max_port
out_port - список портов, на которые закрыт исходящий трафик

Подключение абоненту мини Firewall с анонимным профилем (профиль без имени, который существует до отключения услуги у абонента)

fdpi_ctrl load --service 13 --profile.json '{  "max_port" : 1024, "port_holes" : [ 80, 8080 ], "out_port" : [ 25, 465 ] }' --login ivan.ivanovich

Поиск абонентов, которым подключен мини Firewall с заданным именем профиля

fdpi_ctrl list all --service 13 --profile.name полный_firewall

Удаление именованного профиля (не должно быть абонентов, которые его используют)

fdpi_ctrl del profile --service 13  --profile.name полный_firewall

Изменение настроек (профиля) услуги (новые настройки применятся ко всем абонентам с заданным профилем услуги)

fdpi_ctrl load profile --service 13 --profile.name полный_firewall --profile.json '{  "max_port" : 1024, "port_holes" : [ 80 ] }'

Максимальное количество профилей для мини Firewall задается настроечным параметром в /etc/dpi/fastdpi.conf

 max_profiles_frwl=24

где 24 значение по умолчанию (максимально возможное значение 65535)

Это холодный параметр и его изменение требует рестарта.