Настройка брандмауэра Azure для расширенной защиты сети
08.08.2024
Эта техническая и образовательная статья призвана помочь аналитикам безопасности, ИТ-администраторам и системным инженерам настроить и использовать брандмауэр Azure для расширенной защиты сети. Брандмауэр Azure — это управляемая облачная служба сетевой безопасности, которая обеспечивает защиту от угроз на уровнях 4 и 7 для сетевых ресурсов Azure, обеспечивая централизацию управления сетью и реализацию согласованных политик безопасности в облачных средах [1].
Введение
В постоянно растущем облачном ландшафте сетевая безопасность является фундаментальной основой защиты приложений и данных. Брандмауэр Azure предоставляет надежное решение для проверки и контроля сетевого трафика, выступая в качестве центральной точки соблюдения политик безопасности. Он выходит за рамки базовых групп сетевой безопасности (NSG), предоставляя расширенные функции, такие как фильтрация трафика на основе полного доменного имени (FQDN), анализ угроз, система обнаружения и предотвращения вторжений (IDPS) и проверка TLS, что делает его необходимым для безопасных сетевых архитектур в Azure, особенно в моделях Hub-and-Spoke [2].
В этом практическом руководстве будет рассмотрено развертывание брандмауэра Azure, настройка правил сети и приложений, включение аналитики угроз и IDPS, интеграция с другими службами Azure, а также лучшие практики управления сетью. Будут предоставлены пошаговые инструкции, примеры команд Azure CLI и примеры, чтобы читатель мог реализовать и проверить эффективную стратегию защиты сети, уменьшая поверхность атаки и повышая киберустойчивость своей инфраструктуры Azure.
Почему брандмауэр Azure важен для расширенной защиты сети?
- Расширенная фильтрация трафика: позволяет фильтровать сетевой трафик на основе IP-адресов, портов, протоколов, полных доменных имен и URL-адресов, обеспечивая детальный контроль.
- Аналитика угроз: автоматически блокирует трафик, входящий и исходящий от известных вредоносных доменов и IP-адресов, на основе каналов аналитики угроз Microsoft.
- IDPS (система обнаружения и предотвращения вторжений): обнаруживает и блокирует атаки на основе сигнатур в реальном времени, включая использование уязвимостей и вредоносное ПО.
- Проверка TLS: расшифровывает исходящий трафик TLS/SSL для проверки скрытых угроз и соблюдения политик безопасности, повторно шифруя его перед отправкой в пункт назначения.
- Централизованное развертывание: может быть развернуто в виртуальной сети-концентраторе для защиты многолучевых виртуальных сетей, упрощая управление и применение политик.
- Высокая доступность и масштабируемость: это полностью управляемая услуга со встроенной высокой доступностью и автоматическим масштабированием для обработки пиков трафика.
- Интеграция с экосистемой Azure. Полная интеграция с Azure Monitor, Azure Sentinel и Azure Firewall Manager для централизованного мониторинга, анализа и управления.
Предварительные условия
Чтобы настроить брандмауэр Azure для расширенной защиты сети, вам потребуются следующие элементы:
- Активная подписка Azure: подписка Azure для создания ресурсов и управления ими.
- Административный доступ: учетная запись с ролью «Владелец» или «Участник» в подписке Azure или в группе ресурсов, где будут развернуты брандмауэр и виртуальные сети.
- Виртуальные сети Azure (VNets): как минимум одна виртуальная сеть для развертывания брандмауэра Azure и, в идеале, архитектура Hub-and-Spoke для демонстрации.
- Необязательно: виртуальные машины (ВМ): виртуальные машины, развернутые в распределенных виртуальных сетях для проверки правил брандмауэра.
- Azure CLI или Azure PowerShell: установлены и настроены инструменты командной строки для взаимодействия с Azure.
Шаг за шагом: настройка брандмауэра Azure для дополнительной защиты
Давайте развернем брандмауэр Azure и настроим его основные функции.
1. Подготовка узловой архитектуры
Архитектура «концентратор и луч» — это общая топология сети в Azure, в которой центральная виртуальная сеть содержит общие службы (например, брандмауэр Azure), а периферийные виртуальные сети содержат рабочие нагрузки. Трафик между лучами и Интернетом направляется через концентратор.
- Создать группу ресурсов. Создайте группу ресурсов для всех ресурсов.
баш az group create --name RG-Firewall-Artigos --location Eastus - Создать виртуальную сетьet Hub: создайте виртуальную сеть для концентратора с выделенной подсетью для брандмауэра Azure («AzureFirewallSubnet»).
баш az network vnet create --name VNet-Hub --resource-group RG-Firewall-Artigos --address-prefix 10.0.0.0/16 --location Eastus az network vnet subnet create --name AzureFirewallSubnet --vnet-name VNet-Hub --resource-group RG-Firewall-Articles --address-prefix 10.0.1.0/24 - Создать периферийную сеть. Создайте виртуальную сеть для периферийной сети с подсетью для виртуальных машин.
баш az network vnet create --name VNet-Spoke --resource-group RG-Firewall-Artigos --address-prefix 10.1.0.0/16 --location Eastus az network vnet subnet create --name WorkloadSubnet --vnet-name VNet-Spoke --resource-group RG-Firewall-Articles --address-prefix 10.1.1.0/24 - Настройка пиринга виртуальной сети. Подключите центральную виртуальную сеть и периферийную виртуальную сеть посредством пиринга.
баш az Network Пиринг виртуальной сети create --name HubToSpoke --resource-group RG-Firewall-Articles --vnet-name VNet-Hub --remote-vnet VNet-Spoke --allow-vnet-access az Пиринг виртуальной сети сети create --name SpokeToHub --resource-group RG-Firewall-Articles --vnet-name VNet-Spoke --remote-vnet VNet-Hub --allow-vnet-access
2. Развертывание брандмауэра Azure
-
Создание брандмауэра Azure. Разверните брандмауэр Azure в AzureFirewallSubnet виртуальной сети концентратора.
баш az сетевой брандмауэр create --name AzureFirewall-01 --resource-group RG-Firewall-Artigos --location Eastus --sku Standard az сетевой брандмауэр ip-config create --firewall-name AzureFirewall-01 --name AzureFirewall-IP --resource-group RG-Firewall-Articles --vnet-name VNet-Hub --public-ip-address az-firewall-pip- Примечание. Команда
az network firewall ip-config createавтоматически создаст общедоступный IP-адрес для брандмауэра, если вы укажете имя (например,az-firewall-pip).
- Примечание. Команда
-
Получить частный IP-адрес брандмауэра. Запишите частный IP-адрес брандмауэра Azure, поскольку он будет использоваться для маршрутизации.
баш az сетевой брандмауэр show --name AzureFirewall-01 --resource-group RG-Firewall-Artigos --query ipConfigurations[0].privateIpAddress -o tsv
3. Настройка маршрутизации для брандмауэра Azure
Чтобы трафик распределенной виртуальной сети проходил через брандмауэр Azure, нам необходимо создать таблицу маршрутизации и связать ее с распределенной подсетью.
- Создать таблицу маршрутов: создайте таблицу маршрутов.
баш az Network Route-Table create --name FirewallRouteTable --resource-group RG-Firewall-Artigos --location Eastus - Добавить маршрут по умолчанию. Добавьте маршрут по умолчанию (0.0.0.0/0), который направляет весь трафик на частный IP-адрес брандмауэра Azure.
баш # Замените <FIREWALL_PRIVATE_IP> частным IP-адресом, полученным на предыдущем шаге. FIREWALL_PRIVATE_IP=$(az network firewall show --name AzureFirewall-01 --resource-group RG-Firewall-Artigos --query ipConfigurations[0].privateIpAddress -o tsv) az network таблица маршрутизации маршрута create --name DefaultRouteToFirewall --resource-group RG-Firewall-Artigos --route-table-name FirewallRouteTable --address-prefix 0.0.0.0/0 --next-hop-type VirtualAppliance --next-hop-ip-address $FIREWALL_PRIVATE_IP - Связывание таблицы маршрутов с распределенной подсетью. Свяжите таблицу маршрутов с
WorkloadSubnetвVNet-Spoke.баш az network vnet обновление подсети --name WorkloadSubnet --vnet-name VNet-Spoke --resource-group RG-Firewall-Articles --route-table FirewallRouteTable
4. Настройка правил брандмауэра Azure
Брандмауэр Azure использует наборы правил для управления трафиком. Существует три типа правил: «Сетевые правила», «Правила приложения» и «Правила NAT».
4.1. Сетевые правила
Управляйте трафиком уровня 3 и уровня 4 (IP, порты, протоколы).
-
Разрешить исходящий трафик для DNS: необходимо для разрешения имен.
баш az network-firewall network-rule create --firewall-name AzureFirewall-01 --collection-name "Allow-DNS" --name "Allow-DNS-Outbound" --resource-group RG-Firewall-Articles --priority 100 --action Allow --source-addresses "*" --destination-addresses "*" --protocols UDP --destination-ports 53 -
Разрешить исходящий трафик на определенный IP-адрес: Пример: разрешить доступ к серверу исправлений.
баш az сетевой брандмауэр network-rule create --firewall-name AzureFirewall-01 --collection-name "Allow-Patch-Server" --name "Allow-Patch-Server-Outbound" --resource-group RG-Firewall-Articles --priority 110 --actionРазрешить --source-addresses "10.1.1.0/24" --destination-addresses "20.1.2.3" --protocols TCP --destination-ports 443
4.2. Правила применения
Управляйте трафиком уровня 7 (HTTP/HTTPS) на основе полных доменных имен.
-
Разрешить доступ к сайтам Microsoft. Пример: разрешить доступ к сайту «learn.microsoft.com».
баш az network-firewall application-rule create --firewall-name AzureFirewall-01 --collection-name "Allow-Microsoft-Sites" --name "Allow-Learn-Microsoft" --resource-group RG-Firewall-Articles --priority 100 --action Allow --source-addresses "10.1.1.0/24" --protocols Http=80 Https=443 --fqdn-tags "Microsoft.Websites" --target-fqdns "learn.microsoft.com"- Совет. «Fqdn-tags» — это группы полных доменных имен, предварительно определенные Microsoft для общих служб.
-
Блокировать доступ к вредоносным веб-сайтам. По умолчанию брандмауэр Azure блокирует все, что не разрешено явно. Однако вы можете создать явные правила запрета для определенных полных доменных имен.
баш az network-firewall application-rule create --firewall-name AzureFirewall-01 --collection-name "Block-Malicious-Sites" --name "Block-Bad-Site" --resource-group RG-Firewall-Articles --priority 200 --action Deny --source-addresses "10.1.1.0/24" --protocols Https=443 --target-fqdns "badsite.com"
4.3. Правила NAT (трансляции сетевых адресов)
Позволяют направлять входящий трафик на внутренние ресурсы (DNAT — Destination NAT).
-
Разрешить внешний доступ по протоколу RDP к виртуальной машине (с осторожностью!): Пример: разрешить доступ по протоколу RDP к виртуальной машине с определенного общедоступного IP-адреса. ``` баш # Создайте виртуальную машину в WorkloadSubnet для тестирования. az vm create --name TestVM --resource-group RG-Firewall-Articles --image UbuntuLTS --size Standard_B1s --vnet-name VNet-Spoke --subnet WorkloadSubnet --admin-username azureuser --admin-password "P@ssw0rd12345!" --нет-подожди
Получить частный IP-адрес виртуальной машины
VM_PRIVATE_IP=$(az vm show --name TestVM --resource-group RG-Firewall-Artigos --query PrivateIps -o tsv)
Получите общедоступный IP-адрес брандмауэра
FIREWALL_PUBLIC_IP=$(az network public-ip show --name az-firewall-pip --resource-group RG-Firewall-Artigos --query ipAddress -o tsv)
Создаем правило DNAT
az сетевой брандмауэр nat-rule create --firewall-name AzureFirewall-01 --collection-name "Allow-RDP-Inbound" --name "RDP-to-TestVM" --resource-group RG-Firewall-Articles --priority 100 --action Dnat --source-addresses "YOUR_PUBLIC_IP" --destination-addresses $FIREWALL_PUBLIC_IP --protocols TCP --destination-ports 3389 --translated-address $VM_PRIVATE_IP --translated-port 3389 ``` * ВНИМАНИЕ: замените YOUR_PUBLIC_IP своим реальным общедоступным IP-адресом, чтобы ограничить доступ. Не используйте «*» в рабочих правилах DNAT.
5. Настройка Azure Firewall Premium (проверка IDPS и TLS)
Для использования расширенных функций защиты, таких как IDPS и проверка TLS, вам понадобится Azure Firewall Premium.
-
Обновите SKU брандмауэра (при необходимости): если вы создали стандартный брандмауэр, вы можете обновить его до уровня Premium.
баш az обновление брандмауэра сети --name AzureFirewall-01 --resource-group RG-Firewall-Artigos --sku Premium -
Настройка проверки TLS. Для проверки TLS вам понадобится сертификат SSL/TLS, выданный корпоративным или общедоступным центром сертификации и хранящийся в Azure Key Vault.
- Предварительное условие: сертифицировано в Azure Key Vault (подробности см. в предыдущей статье о Azure Key Vault).
- Создайте политику брандмауэра и свяжите ее с брандмауэром.
баш az политика межсетевого экрана сети create --name FirewallPolicy-01 --resource-group RG-Firewall-Artigos --location Eastus az обновление политики брандмауэра сети --name FirewallPolicy-01 --resource-group RG-Firewall-Artigos --threat-intel-mode Alert az обновление брандмауэра сети --name AzureFirewall-01 --resource-group RG-Firewall-Artigos --firewall-policy FirewallPolicy-01 - На портале Azure перейдите в раздел «Политика брандмауэра» -> Настройки -> Проверка TLS.
- Включите проверку TLS и выберите корневой сертификат для вашего хранилища ключей.
-
Настроить IDPS: IDPS включается и настраивается с помощью политики брандмауэра.
- На портале Azure перейдите в раздел «Политика брандмауэра» -> Настройки -> IDPS.
- Вы можете настроить режим IDPS (Оповещение или Оповещение и запрет) и создать собственные правила подписи IDPS.
6. Активация интеллектаугроз
Аналитику угроз брандмауэра Azure можно настроить на оповещение или оповещение и запрет трафика, поступающего и исходящего от известных вредоносных IP-адресов и полных доменных имен.
- На портале Azure перейдите к брандмауэру Azure («AzureFirewall-01»).
- На левой панели навигации выберите Аналитика угроз.
- Установите для параметра «Режим» значение «Оповещение и запрет».
Проверка и тестирование
Проверка конфигурации брандмауэра Azure имеет решающее значение для обеспечения правильного применения политик безопасности.
1. Тестирование сетевых правил
-
Тест подключения DNS. На виртуальной машине в WorkloadSubnet попробуйте разрешить доменное имя. Это должно работать, если настроено правило DNS.
баш nslookup google.com- Ожидаемый результат: Разрешение DNS выполнено успешно.
-
Тест блокировки портов: попробуйте получить доступ к порту, который не разрешен для внешнего IP-адреса.
баш nc -vz 8.8.8.8 80- Ожидаемый результат: Соединение отклонено или истекло время ожидания.
2. Тестирование правил приложения
-
Проверка разрешения доступа к полному доменному имени: с виртуальной машины в WorkloadSubnet попробуйте получить доступ к Learn.microsoft.com через браузер.
- Ожидаемый результат: Доступ успешен.
-
Тест блокировки полного доменного имени. Попробуйте получить доступ к badsite.com (если вы настроили для него правило запрета).
- Ожидаемый результат: Доступ заблокирован брандмауэром, в браузере появляется сообщение об ошибке.
3. Тестирование правил NAT (DNAT)
- С компьютера за пределами Azure (с общедоступным IP-адресом, указанным в правиле DNAT), попробуйте подключиться через RDP/SSH к общедоступному IP-адресу брандмауэра Azure через порт 3389/22.
- Ожидаемый результат: успешное подключение к внутренней виртуальной машине.
4. Проверка журналов брандмауэра Azure
Журналы брандмауэра Azure необходимы для мониторинга трафика и проверки правил.
- На портале Azure перейдите к брандмауэру Azure («AzureFirewall-01»).
- На левой панели навигации выберите Журналы.
- Вы можете использовать Log Analytics для запроса журналов брандмауэра. Найдите события AzureFirewallNetworkRule и AzureFirewallApplicationRule, чтобы узнать, какие правила были активированы и был ли разрешен или запрещен трафик.
5. Тестирование Threat Intelligence и IDPS (Премиум)
- Аналитика угроз. Попробуйте получить доступ к IP-адресу или полному доменному имени, заведомо вредоносному (используйте безопасный сайт для тестирования вредоносных программ, например test.malware.testing.com`, или IP-адрес для тестирования аналитики угроз). Брандмауэр должен блокировать доступ.
- IDPS: попробуйте смоделировать атаку, которая будет обнаружена IDPS (например, используйте инструмент тестирования уязвимостей, чтобы попытаться внедрить SQL-код в веб-приложение на распределенной виртуальной машине, если применимо). Брандмауэр должен генерировать предупреждение и/или блокировать трафик.
Советы и рекомендации по безопасности
- Модель «концентратор»: по возможности используйте модель «концентратор» с брандмауэром Azure в концентраторе, чтобы централизовать управление сетью и упростить управление политиками.
- Принцип наименьших привилегий: создавайте правила брандмауэра с наименьшими возможными привилегиями, разрешая только необходимый трафик. По умолчанию блокируйте весь трафик и явно разрешайте все, что необходимо.
- Приоритизация правил: определите порядок обработки правил (NAT > Сеть > Приложение) и приоритет в каждой коллекции, чтобы избежать конфликтов и обеспечить применение нужных правил.
- Аналитика угроз включена: оставьте аналитику угроз включенной в режиме «Оповещение и запрет» для автоматической защиты от известных вредоносных источников.
- Azure Firewall Premium: для сред, требующих расширенной защиты, используйте номер SKU Premium, чтобы воспользоваться такими функциями, как IDPS и проверка TLS.
- Проверка TLS. Внедрите проверку TLS для исходящего трафика для обнаружения угроз, скрытых в зашифрованных сеансах, но тщательно планируйте управление сертификатами.
- Мониторинг и аудит. Интегрируйте журналы брандмауэра Azure с Azure Monitor и Azure Sentinel для непрерывного мониторинга, анализа безопасности и реагирования на инциденты.
- Диспетчер брандмауэра Azure. Для сред с несколькими брандмауэрами и сложными политиками используйте Диспетчер брандмауэра Azure для централизованного иерархического управления политиками.
- Документация. Ведите четкую документацию правил брандмауэра и обоснование каждого из них.
Распространенное устранение неполадок
- Блокировки трафикаиз неожиданно: проверьте журналы брандмауэра Azure в Log Analytics. Они укажут, какое правило (сетевое, приложение или анализ угроз) заблокировало трафик. При необходимости измените правило.
- Медленное подключение. Если у вас медленный трафик, проверьте загрузку ЦП брандмауэра в Azure Monitor. Возможно, брандмауэр достигает предела своей производительности. Рассмотрите возможность масштабирования SKU или оптимизации правил.
- Правила NAT не работают. Проверьте правильность общедоступного IP-адреса, а также порта назначения и преобразованных портов. Убедитесь, что исходный IP-адрес в правиле NAT правильный (если он ограничен). Проверьте целевую виртуальную машину на наличие групп безопасности сети, которые могут блокировать трафик.
- Проблемы проверки TLS. Убедитесь, что корневой сертификат правильно настроен в Key Vault и политике брандмауэра. Убедитесь, что клиенты доверяют корневому центру сертификации, используемому для проверки TLS.
- IDPS не обнаруживает атаки: убедитесь, что IDPS находится в режиме «Оповещение и запрет» и что соответствующие сигнатуры включены. Убедитесь, что трафик действительно проходит через брандмауэр.
- Неверная маршрутизация. Проверьте таблицу маршрутов, связанную с подсетью вашей виртуальной машины. Убедитесь, что маршрут по умолчанию (0.0.0.0/0) указывает на частный IP-адрес брандмауэра Azure.
Заключение
Брандмауэр Azure — это мощный и важный инструмент для создания надежной сетевой безопасности в Azure. Внедряя расширенную фильтрацию трафика, анализ угроз, проверку IDPS и TLS, организации могут защитить свои рабочие нагрузки от широкого спектра киберугроз. Принятие модели Hub-and-Spoke с брандмауэром Azure в центре, а также применение лучших практик и непрерывного мониторинга гарантирует эффективную проверку и контроль сетевого трафика. Благодаря этому практическому руководству специалисты по безопасности будут хорошо подготовлены к настройке и управлению брандмауэром Azure, укрепляя сетевую безопасность и устойчивость своих сред Azure к новейшим угрозам.
Ссылки:
[1] Microsoft Learn. Что такое брандмауэр Azure?. Доступно по адресу: https://learn.microsoft.com/pt-br/azure/firewall/overview. [2] Microsoft Learn. Обзор архитектуры брандмауэра Azure. Доступно по адресу: https://learn.microsoft.com/pt-br/azure/firewall/firewall-architecture. [3] Microsoft Learn. Премиум-функции Azure Firewall. Доступно по адресу: https://learn.microsoft.com/pt-br/azure/firewall/premium-features [4] Microsoft Learn. Фильтрация на основе анализа угроз брандмауэра Azure. Доступно по адресу: https://learn.microsoft.com/pt-br/azure/firewall/threat-intel