Блог Amazon Web Services

AWS Network Firewall – новый управляемый сервис для межсетевого экрана в VPC

Оригинал статьи: ссылка (Channy Yun, Principal Developer Advocate)

Наши клиенты хотят иметь высокодоступный и масштабируемый сервис для межсетевого экрана (файервола), чтобы защитить свои виртуальные сети в облаке. Безопасность для AWS – это самый главный приоритет, поэтому мы и раньше предлагали различные сервисы AWS, реализующие функциональность межсетевого экрана, например, группы безопасности (security groups) для защиты инстансов Amazon Elastic Compute Cloud (EC2), Network ACL (NACL) для защиты подсетей Amazon Virtual Private Cloud (VPC), AWS Web Application Firewall (WAF) для защиты веб-приложений, использующих Amazon CloudFrontApplication Load Balancer (ALB) или Amazon API Gateway, а также AWS Shield для защиты от атак типа «распределённый отказ в обслуживании» (DDoS).

Мы прислушиваемся к нашим клиентам, которые говорят, что хотят иметь более простой способ масштабирования сетевой безопасности на все ресурсы в их рабочих нагрузках, независимо от используемых сервисов AWS. Они хотят иметь возможность настройки защиты для обеспечения безопасности своих нагрузок, а также – для соответствия государственным и коммерческим регуляторным требованиям. Таким клиентам требуется функциональность фильтрации по URL в исходящих подключениях, возможность проверки пакетов по шаблонам, помимо стандартных проверок IP-адреса/порта/протокола, а также возможность предупреждения о конкретных уязвимостях в протоколах, а не только для HTTP/S.

Сегодня мы рады представить AWS Network Firewall, высокодоступный управляемый сервис для межсетевого экрана в вашем VPC. Сервис позволяет довольно просто разворачивать и управлять: проверками с сохранением состояния (stateful inspection); предотвращением и обнаружением вторжений; и фильтрацией веб-трафика для защиты ваших виртуальных сетей в AWS. Network Firewall автоматически масштабируется вместе с изменением объёма трафика, обеспечивая высокую доступность без дополнительных инвестиций клиентов в инфраструктуру безопасности.

С AWS Network Firewall вы можете создать свои правила, чтобы предотвратить доступ к неавторизованным доменам из вашего VPC, заблокировать тысячи известных вредоносных IP-адресов или идентифицировать злонамеренную активность на основе сигнатур. AWS Network Firewall позволяет осуществлять мониторинг активности межсетевого экрана в реальном времени с помощью метрик CloudWatch, а также предлагает дополнительную видимость сетевого трафика путём отправки логов в S3CloudWatch или Kinesis Firehose. Network Firewall интегрирован с AWS Firewall Manager, что позволяет клиентам, которые используют организации (AWS Organizations), централизованно управлять межсетевым экраном и следить за его активностью для всех VPC и аккаунтов AWS. Network Firewall совместим с существующей экосистемой решений для безопасности, включая таких партнёров AWS, как CrowdStrike, Palo Alto Networks и Splunk. Вы также можете импортировать существующие правила из наборов Suricata, поддерживаемых сообществом.

Основы Network Firewall
AWS Network Firewall использует механизмы правил для проверки трафика как с отслеживанием состояния (stateful), так и без него (stateless). В этих механизмах используются правила и другие настройки, которые вы задаёте в политике межсетевого экрана.

Архитектурная диаграмма AWS Network Firewall

Вы настраиваете межсетевой экран для каждой зоны доступности в вашем VPC. Вы выбираете подсеть в каждой зоне доступности для размещения конечной точки межсетевого экрана, которая фильтрует ваш трафик. Конечная точка межсетевого экрана в зоне доступности может защищать все подсети этой зоны кроме той, в которой она размещена.

Вы можете управлять AWS Network Firewall с помощью следующих основных компонентов:

  • Межсетевой экран (firewall): межсетевой экран позволяет связать VPC с защитными механизмами, которые задаются в политике межсетевого экрана. Для каждой зоны доступности, которую вы хотите защитить, вы указываете публичную подсеть, предназначенную для размещения конечной точки межсетевого экрана. Затем, вы обновляете таблицы маршрутизации VPC так, чтобы весь входящий и исходящий трафик шёл через эти конечные точки.
  • Политика межсетевого экрана (firewall policy): политика межсетевого экрана определяет поведение межсетевого экрана на основе набора правил с отслеживанием состояния и без, а также других настроек. На каждый межсетевой экран может быть назначена только одна политика, но вы можете использовать каждую политику более, чем с одним межсетевым экраном.
  • Группа правил (rule group): это набор правил с отслеживанием состояния и без, которые определяют, как происходит отслеживание и обработка сетевого трафика. Правила включают фильтрацию по 5-tuple (исходящий IP-адрес и порт, входящий IP-адрес и порт и протокол) и по доменному имени. Также вы можете задать правила с отслеживанием состояния, используя открытую спецификацию Suricata.

Начинаем работу с AWS Network Firewall
Вы можете начать работу с AWS Network Firewall в консоли управления AWSинтерфейсе командной строки AWS (CLI) и AWS SDK, где вы можете создавать и управлять межсетевыми экранами. Раскройте раздел AWS Network Firewall в навигационном меню консоли VPC, а затем нажмите кнопку Create firewall в пункте меню Firewalls.

Список межсетевых экранов

Для создания нового межсетевого экрана введите имя, которые вы хотите использовать для его идентификации, и выберите VPC в выпадающем списке. Для каждой зоны доступности (AZ), где вы хотите использовать AWS Network Firewall, выберите публичную подсеть для конечной точки межсетевого экрана. Эта подсеть должна иметь хотя бы один свободный IP-адрес и ненулевой размер. Эти подсети рекомендуется зарезервировать только для использования Network Firewall.

Создание нового межсетевого экрана

В разделе Associated firewall policy выберите опцию Create and associate an empty firewall policy, затем нажмите кнопку Create firewall.

Создание нового межсетевого экрана

Ваш новый межсетевой экран должен появиться на странице Firewalls. В настоящий момент он имеет пустую политику. На следующем шаге вы настроите поведение межсетевого экрана. Выберите только что созданную политику в пункте меню Firewall policies.

Вы можете создавать новые или добавлять существующие группы правил с отслеживанием состояния или без. Каждая группа может иметь несколько правил с настроенным приоритетом, который задаёт порядок применения внутри политики. Для правил без отслеживания состояния существует действие «по умолчанию», которое определяет, как Network Firewall будет обрабатывать пакет, который не соответствует ни одному из правил.

Политика межсетевого экрана

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

Необходимо выбрать одну из следующих опций:

  • Pass – закончить любую обработку пакета и разрешить его отправку в место назначения.
  • Drop – закончить любую обработку пакета и запретить его отправку в место назначения.
  • Forward to stateful rules – закончить обработку пакета и передать его для дальнейшей обработки в правила с отслеживанием состояния.

Кроме того, вы можете дополнительно указать нестандартное действие для применения к пакету. В таком случае Network Firewall отправляет в CloudWatch заданное вами значение в раздел метрик под названием CustomAction. После того, как вы задали нестандартное действие, вы можете использовать его путём указания его имени в той же группе правил, где оно было создано. Вы также можете использовать его в других группах правил и в двух действиях «по умолчанию» для правил без отслеживания состояния.

После определения политики межсетевого экрана вы можете добавить новый межсетевой экран в поток трафика VPC путём обновления его таблиц маршрутизации.

Как настраивать группы правил
Вы можете создавать новые группы правил с отслеживанием состояния или без в пункте меню Network Firewall rule groups, нажав на кнопку Create Network Firewall rule group. Если вы выберете опцию Stateful rule group (то есть, группы с отслеживанием состояния), то сможете настроить один из следующих вариантов правил: 1) Формат 5-tuple, который позволяет задать исходящий IP-адрес, исходящий порт, входящий IP-адрес, входящий порт и протокол, а также действие, которое необходимо принять при обнаружении подходящего трафика, 2) Список доменов (domain list), который позволяет задать список доменов и действие к трафику, который пытается получить доступ к одному из указанных доменов и 3) IPS-правила, совместимые с Suricata (Suricata compatible IPS rules), позволяющие задать продвинутые правила межсетевого экрана с использованием синтаксиса правил Suricata.

Создание новой группы правил

Network Firewall поддерживает стандартную спецификацию правила 5-tuple без отслеживания состояния для проверки сетевого трафика с использованием приоритета, который задаёт порядок обработки правил в группе.

Правила без отслеживания состояния

Похожим образом правила 5-tuple с отслеживанием состояния позволяют задать следующие настройки. Они определяют, что именно Network Firewall ищет в каждом пакете. Для применения правила пакет должен соответствовать всем заданным настройкам.

Правила с отслеживанием состояния

Группа правил с использованием доменных имён имеет следующие настройки: доменное имя (то есть, список строк, содержащих доменные имена, которые вы хотите сопоставить), а также протокол. Следующий документ JSON показывает пример для группы правил с использованием доменных имён.

{
  "RulesSource": {
    "RulesSourceList": {
      "TargetType": "FQDN_SNI","HTTP_HOST",
      "Targets": [
        "test.example.com",
        "test2.example.com"
      ],
      "GeneratedRulesType": "DENYLIST"
    }
  } 
}

Группа правил с отслеживанием состояния, включающая в себя IPS-правила, имеет все настройки, разрешённые спецификацией Suricata. Например, следующее правило используется для поиска аномалий при использовании протокола SSH. Для более подробной информации посетите веб-сайт Suricata.

alert tcp any any -> any 22 (msg:"ALERT TCP port 22 but not SSH"; app-layer-protocol:!ssh; sid:2271009; rev:1;)

Вы можете следить за состоянием Network Firewall с помощью CloudWatch, который собирает необработанные данные и преобразует их в читаемые метрики, доступные в режиме почти реального времени. А также с помощью сервиса AWS CloudTrail, который записывает API-вызовы к AWS Network Firewall и информацию о пользователе, роли или сервисе AWS, который совершил вызов. CloudTrail записывает все API-вызовы к Network Firewall в качестве событий. Для более подробной информации о логировании и мониторинге обратитесь к документации.

Партнёры Network Firewall
Уже сейчас Network Firewall может интегрироваться с различными партнёрами AWS. Они предоставили нам много полезных отзывов. Ниже вы можете найти несколько статей, написанных партнёрами, чтобы поделиться своим опытом (на английском языке):

Доступен уже сейчас
AWS Network Firewall доступен в регионах US East (N. Virginia), US West (Oregon) и Europe (Ireland). Более подробную информацию вы можете узнать на странице продуктастранице с ценами и в документации. Попробуйте новый сервис и присылайте нам свои отзывы через стандартные каналы, такие как техническая поддержка AWS и форум AWS по Amazon VPC.