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

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

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

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

Фильтруемый трафик

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

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

  • входящий трафик в приватную подсеть из другой приватной подсети. Подсети должны принадлежать разным сетям;
  • входящий трафик в приватную подсеть из интернета, идущий на публичные IP-адреса устройств (облачных серверов и балансировщиков), которые ассоциированы с их приватным адресом через NAT 1: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 и другие правила.

Ограничения

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

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

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

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

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

Стоимость

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