Перейти к основному содержимому
Облачный файрвол

Облачный файрвол

Облачный файрвол — бесплатный stateful-файрвол. Позволяет настроить сетевую безопасность для приватных подсетей и публичных IP-адресов в облачной платформе.

С помощью файрвола можно:

  • настроить фильтрацию IPv4-трафика для приватной подсети;
  • открыть и закрыть определенные порты или диапазон портов;
  • разрешить и запретить доступ с определенных IP-адресов или из подсетей.

Облачным файрволом можно управлять через панель управления, OpenStack CLI и Terraform.

Принцип работы

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

В облачном файрволе используется модель OpenStack:

  • Firewall Groups (файрволы) — содержат политики. Один файрвол может содержать только одну политику ingress для входящего трафика и одну egress для исходящего трафика;
  • Firewall Policies (политики файрвола) — списки правил файрвола в определенном порядке;
  • Firewall Rules (правила файрвола) — набор параметров, по которым фильтруется трафик: протоколы, IP-адреса и порты. Правила выполняются в указанном порядке. Подробнее о правилах и параметрах в подразделе Правила.

Подробнее о модели OpenStack в разделе FWaaS документации OpenStack.

Файрвол можно переиспользовать и назначить на несколько портов облачных роутеров одновременно. На один порт роутера нельзя назначить более одного файрвола.

Файрвол не является отдельным устройством.

Трафик

Облачный файрвол фильтрует весь трафик, проходящий через порт облачного роутера, на который он назначен:

  • входящий трафик:
    • трафик в приватную подсеть из другой приватной подсети;
    • трафик в приватную подсеть из интернета, идущий на публичные IP-адреса облачных серверов и балансировщиков, которые ассоциированы с их приватным адресом через NAT 1:1;
  • исходящий трафик — трафик из приватной подсети в интернет или другую приватную подсеть.

Облачный файрвол не фильтрует:

  • трафик между устройствами (облачными серверами и балансировщиками нагрузки) внутри приватной подсети;

  • трафик для публичных подсетей. Публичные адреса из таких подсетей назначаются прямо на устройства, и трафик не проходит через порт облачного роутера.

    Для фильтрации этих видов трафика используйте утилиты операционной системы, например, iptables. Подробнее в статье блога Настройка iptables в Linux.

Правила

Для облачного файрвола настраиваются две политики (два списка правил в определенном порядке) — для входящего и для исходящего трафика.

Правила выполняются по порядку в списке — сверху вниз. Если первое правило разрешает прохождение трафика, то трафик будет разрешен, даже если в правилах ниже настроен запрет.

Файрвол анализирует трафик на основании параметров в правилах:

  • направление трафика (политика) — входящий или исходящий;
  • разрешение или запрет трафика;
  • протокол — поддерживаются протоколы TCP, UDP, ICMP;
  • source — IP-адрес или подсеть источника трафика;
  • source port — порт или диапазон портов источника трафика;
  • destination — IP-адрес или подсеть назначения трафика;
  • destination port — порт или диапазон портов назначения трафика.

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

Политики и правила файрвола можно переиспользовать — назначать на несколько файрволов (Firewall Groups) одновременно — только при работе через OpenStack CLI и Terraform. В панели управления можно использовать заранее настроенные шаблоны с правилами для фильтрации трафика, например открыть 22 порт (SSH/TCP), 80 порт (HTTP/TCP), 443 порт (HTTPS/TCP), 1194 порт (OpenVPN/UDP), 3389 порт (RDP/TCP), 20-21 порт (FTP/TCP); открыть стандартные порты для IPsec или WireGuard и другие правила.

Примеры сетей с облачным файрволом

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

Пример сети с двумя облачными файрволами на одном облачном роутере, которые фильтруют трафик между двумя приватными подсетями

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

примечание

Например, для файрвола 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 запрещающее правило для исходящего трафика в эту подсеть.

Ограничения

На один порт роутера нельзя назначить более одного файрвола.

В одном проекте облачной платформы можно создать:

  • не более 5 файрволов (для OpenStack CLI и Terraform — не более 10 политик);
  • не более 100 правил для каждого направления трафика (политики) в одном файрволе.

В Selectel по умолчанию заблокированы некоторые TCP/UDP порты, трафик через них заблокирован.

Если вы настроили проброс портов, то сначала будет выполняться проброс, а затем действовать правила файрвола.

Правила файрвола действуют не на облачный сервер или балансировщик нагрузки, а на IP-адрес. Если вы подключили к устройству другой публичный IP-адрес или пересоздали его с другим публичным IP, нужно изменить IP-адрес в правиле, чтобы трафик продолжил фильтроваться.

Стоимость

Облачный файрвол предоставляется бесплатно.