{{tag>Услуги "Услуга 13" "Мини Firewall"}} ====== Мини Firewall ====== {{indexmenu_n>13}} Услуга мини Firewall предназначена для защиты оборудования абонентов с публичными IP-адресами (IPv4 и IPv6) от несанкционированного доступа извне. Для абонентов с приватными адресами аналогичную защиту обеспечивает NAT. ===== Фильтрация входящих соединений ===== Для IP-адреса абонента блокируются все входящие соединения на порты ниже порога ''max_port''. Рекомендуется закрывать как минимум диапазон системных портов 0–1024. Отдельные порты можно оставить открытыми с помощью ''port_holes'', например для доступа к домашнему NAS. Мини Firewall учитывает состояние соединений: * блокируются только соединения, инициированные извне к абоненту, на порты ниже ''max_port'' (кроме портов из ''port_holes''); * соединения, открытые самим абонентом, и ответный трафик по ним проходят без ограничений; * входящие соединения на порты выше ''max_port'' не блокируются. В терминах iptables это аналог правила «DROP для состояния NEW на вход абонента». Фильтрация работает одинаково для IPv4 и IPv6 и применяется ко всем протоколам, использующим порты (TCP, UDP и др.). ===== Ограничение исходящего трафика ===== С помощью ''out_port'' можно закрыть абоненту исходящий трафик на указанные порты. Например, если по данным NetFlow или abuse-жалобам выявлена рассылка спама, можно закрыть почтовые порты 25, 465. Часто абонент в этом случае не виновен: его компьютер заражён вирусом или входит в чужую ботнет-сеть. Рекомендуется показать абоненту страницу уведомления с помощью услуги 6 ([[dpi:dpi_options:opt_notify|]]) с описанием проблемы и предложением подписки на антивирус. Это также помогает продавать дополнительные услуги. ===== Управление ===== Управление данным сервисом на уровне отдельных абонентов осуществляется с помощью [[dpi:dpi_components:platform:subscriber_management:subsman_cmd|fdpi_ctrl]] Формат команды: fdpi_ctrl команда --service 13 [список_опций] [список_IP или Login] Подробнее синтаксис команд и способы задания IP адресов описаны в разделе [[dpi:dpi_components:platform:subscriber_management:subsman_cmd|Команды управления]] Примеры: активировать мини 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) Это холодный параметр и его изменение требует рестарта.