Облачный файрвол
Облачный файрвол — бесплатный stateful-файрвол. Позволяет настроить сетевую безопасность для приватных подсетей и публичных IP-адресов в облачной платформе.
Работать с облачным файрволом можно в панели управления, с помощью OpenStack CLI или Terraform.
Фильтруемый трафик
С помощью файрвола можно настроить фильтрацию IPv4-трафика для приватной подсети, открыть и закрыть определенные порты или их диапазон, разрешить и запретить доступ с определенных IP-адресов или из подсетей.
Какой трафик фильтруется
Облачный файрвол фильтрует весь IPv4-трафик, проходящий через порт облачного роутера, на который он назначен:
- входящий трафик в приватную подсеть из другой приватной подсети. Приватные подсети должны принадлежать разным приватным сетям:
Например, приватная подсеть 192.168.0.0/24
находится в приватной сети network_1
, а приватная подсеть 10.0.0.0/24
находятся в приватной сети network_2
. Трафик между устройствами в этих под сетях будет фильтроваться.
Подробнее о приватных сетях и подсетях в инструкции Сети облачной платформы;
- входящий трафик в приватную подсеть из интернета, идущий на публичные IP-адреса устройств (облачных серверов и балансировщиков), которые ассоциированы с их приватным адресом через NAT 1:1;
- исходящий трафик — трафик из приватной подсети в интернет или другую приватную сеть.
Какой трафик не фильтруется
-
трафик между устройствами внутри приватной подсети;
-
трафик между устройствами из разных приватных подсетей внутри одной приватной сети:
Например, приватная подсеть 192.168.0.0/24
и приватная подсеть 10.0.0.0/24
находятся в одной приватной сети network_1
. Трафик между устройствами в этих подсетях фильтроваться не будет.
- трафик для публичных подсетей. Публичные адреса из таких подсетей назначаются прямо на устройства, и трафик не проходит через порт облачного роутера.
Для фильтрации этих видов трафика используйте группы безопасности или утилиты операционной системы, например iptables
. Подробнее в статье блога Настройка iptables в Linux.
Принцип работы
Облачный файрвол не является отдельным устройством. Он назначается на внутренний порт облачного роутера в приватной подсети, которая подключена к роутеру. Файрвол можно переиспользовать и назначить на несколько портов роутеров одновременно. На один порт роутера нельзя назначить более одного файрвола.
Файрвол по добавленным правилам фильтрации анализирует и фильтрует трафик: входящий, который проходит в приватную подсеть через облачный роутер, и трафик, исходящий из этой подсети. Правила файрвола действуют не на облачный сервер или балансировщик нагрузки, а на IP-адрес. Если вы подключили к устройству другой публичный IP-адрес или пересоздали его с другим публичным IP, нужно изменить IP-адрес в правиле, чтобы трафик продолжил фильтроваться.
В облачном файрволе используется модель OpenStack:
- Firewall Groups (файрволы) — содержат политики. Один файрвол может содержать только одну политику ingress для входящего трафика и одну egress для исходящего трафика;
- Firewall Policies (политики файрвола) — списки правил файрвола в определенном порядке;
- Firewall Rules (правила файрвола) — набор параметров, по которым фильтруется трафик: протоколы, IP-адреса и порты. Правила выполняются в указанном порядке. Подробнее о правилах и параметрах в подразделе Правила.
Подробнее о модели OpenStack в разделе FWaaS документации OpenStack.
Пример сети с облачным файрволом, который фильтрует трафик в приватную подсеть из интернета и трафик из подсети в интернет
Пример сети с двумя облачными файрволами на одном облачном роутере, которые фильтруют трафик между двумя приватными подсетями
При фильтрации трафика между приватными подсетями, подключенными к одному роутеру, для исходящего трафика применяются правила файрвола, который назначен на порт роутера в этой подсети. Если для файрвола в другой подсети настроены правила для входящего трафика из первой подсети, они игнорируются.
Например, для файрвола 1 создано разрешающее правило для исходящего трафика из подсети 192.168.0.0/24
в любые подсети. Даже если на файрволе 2 в подсети 10.10.0.0/24
есть запрещающее правило для входящего трафика из подсети 192.168.0.0/24
, оно будет проигнорировано. Чтобы доступ в подсеть 10.10.0.0/24
из подсети 192.168.0.0/24
был запрещен, нужно создать на файрволе 1 запрещающее правило для исходящего трафика в эту подсеть.
Правила
Для облачного файрвола настраиваются две политики (два списка правил в определенном порядке) — для входящего и для исходящего трафика.
Правила выполняются по порядку в списке — сверху вниз. Если первое правило разрешает прохождение трафика, то трафик будет разрешен, даже если в правилах ниже настроен запрет.
Файрвол анализирует трафик на основании параметров в правилах:
- направление трафика (политика) — входящий или исходящий;
- разрешение или запрет трафика;
- протокол — поддерживаются протоколы TCP, UDP, ICMP;
- source — IP-адрес или подсеть источника трафика;
- source port — порт или диапазон портов источника трафика;
- destination — IP-адрес или подсеть назначения трафика;
- destination port — порт или диапазон портов назначения трафика.
У облачного файрвола есть базовое свойство: весь входящий и исходящий трафик, который не разрешен, — запрещен. Например, вы создали файрвол без правил и назначили на порт облачного роутера. Пока вы не добавите разрешающие правила, будут запрещены: трафик, входящий в приватную подсеть, которая подключена к роутеру; трафик, исходящий из этой подсети.
Политики и правила файрвола можно переиспользовать только при работе через OpenStack CLI и Terraform — назначать их на несколько файрволов (Firewall Groups) одновременно. В панели управления можно использовать заранее настроенные шаблоны с правилами для фильтрации трафика, например открыть 22 порт (SSH/TCP), 80 порт (HTTP/TCP), 443 порт (HTTPS/TCP), 1194 порт (OpenVPN/UDP), 3389 порт (RDP/TCP), 20-21 порт (FTP/TCP); открыть стандартные порты для IPsec или WireGuard и другие правила.
Ограничения
На один порт роутера нельзя назначить более одного файрвола.
В одном проекте можно создать не более 10 файрволов. В одном файрволе — две политики, по одной для каждого направления трафика. В одной политике — не более 100 правил.
Если вы настроили NAT (проброс портов), то сначала будет выполняться проброс, а затем действовать правила файрвола.
В Selectel по умолчанию заблокированы некоторые TCP/UDP-порты.
Стоимость
Облачный файрвол предоставляется бесплатно.