Развертывание и настройка Брандмауэра Azure уровня "Премиум"
Брандмауэр Azure уровня "Премиум" — это брандмауэр следующего поколения с возможностями, требуемыми для работы в строго конфиденциальных и регулируемых средах. Он включает следующие компоненты.
- Проверка TLS — расшифровывает исходящий трафик, обрабатывает данные, затем шифрует эти данные и отправляет их в пункт назначения.
- IDPS — система обнаружения и предотвращения сетевых вторжений позволяет отслеживать активность в сети в отношении вредоносных действий, записывать в журнал сведения о таких действиях, сообщать о них и при необходимости пытаться блокировать их.
- Фильтрация URL-адресов — расширяет возможности Брандмауэра Azure по фильтрации FQDN для учета полной версии URL-адреса. Например,
www.contoso.com/a/c
вместоwww.contoso.com
. - Веб-категории — администраторы могут разрешать или запрещать доступ пользователей к веб-сайтам определенных категорий, таким как веб-сайты азартных игр, социальных сетей и др.
Дополнительные сведения см. на странице Функции Брандмауэра Azure уровня "Премиум".
Вы будете использовать шаблон для развертывания тестовой среды, которая содержит центральную виртуальную сеть (10.0.0.0/16) с тремя подсетями:
- рабочей подсетью (10.0.10.0/24);
- подсетью Бастиона Azure (10.0.20.0/24);
- подсетью брандмауэра (10.0.100.0/24).
Внимание
Почасовая цена начинается с момента развертывания Бастиона независимо от использования исходящих данных. Дополнительные сведения см. в разделе "Цены и номера SKU". Если вы развертываете Бастион в рамках руководства или теста, рекомендуется удалить этот ресурс после завершения работы с ним.
В этой тестовой среде для простоты используется одна центральная виртуальная сеть. В производственных целях наиболее распространена звездообразная топология с одноранговыми виртуальными сетями.
Рабочая виртуальная машина — это клиент, направляющий запросы HTTP/S через брандмауэр.
Необходимые компоненты
Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
Развертывание инфраструктуры
Шаблон развертывает полную среду тестирования для Брандмауэра Azure категории "Премиум" с системой IDPS, проверкой TLS, фильтрацией URL-адресов и веб-категориями.
- Новый брандмауэр Azure категории "Премиум" и политика брандмауэра с предварительно определенными параметрами для упрощения проверки основных возможностей (IDPS, проверка TLS, фильтрация URL-адресов и веб-категории).
- Развертывает все зависимости, в том числе Key Vault и Управляемое удостоверение. В рабочей среде эти ресурсы могут быть уже созданы и не нужны в том же шаблоне.
- Создает самозаверяющий корневой ЦС и развертывает его на созданном Key Vault
- Создает производный промежуточный ЦС и развертывает его на тестовой виртуальной машине Windows (WorkerVM).
- Узел Бастиона (BastionHost) также развертывается, и его можно использовать для подключения к тестовой машине Windows (WorkerVM).
тестирование брандмауэра.
Теперь вы можете протестировать IDPS, проверку TLS, веб-фильтрацию и веб-категории.
Добавление параметров диагностики брандмауэра
Для сбора журналов брандмауэра необходимо добавить соответствующие диагностические параметры.
- Выберите брандмауэр с именем DemoFirewall и в разделе Мониторинг выберите Параметры диагностики.
- Выберите Добавить параметр диагностики.
- В качестве имени параметра диагностики введите fw-diag.
- В разделе Журнал выберите AzureFirewallApplicationRule и AzureFirewallNetworkRule.
- В области Сведения о месте назначения выберите Send to Log Analytics workspace (Отправить в рабочую область Log Analytics).
- Выберите Сохранить.
Тесты IDPS
Чтобы протестировать IDPS, вам потребуется развернуть собственный внутренний тестовый веб-сервер с соответствующим сертификатом сервера. Этот тест включает отправку вредоносного трафика на веб-сервер, поэтому не рекомендуется проводить его на общедоступном веб-сервере. Дополнительные сведения о требованиях в отношении сертификатов, используемых в Брандмауэре Azure уровня "Премиум", см. в статье Сертификаты Брандмауэра Azure уровня "Премиум".
Для управления различными заголовками HTTP и моделирования вредоносного трафика можно использовать curl
.
Чтобы проверить поставщиков удостоверений для трафика HTTP, выполните следующие действия.
На виртуальной машине WorkerVM откройте окно командной строки от имени администратора.
Введите следующую команду в командной строке:
curl -A "HaxerMen" <your web server address>
Вы увидите ответ веб-сервера.
Перейдите к журналам сетевых правил Брандмауэра на портале Azure, чтобы найти предупреждение, похожее на следующее сообщение:
{ “msg” : “TCP request from 10.0.100.5:16036 to 10.0.20.10:80. Action: Alert. Rule: 2032081. IDS: USER_AGENTS Suspicious User Agent (HaxerMen). Priority: 1. Classification: A Network Tojan was detected”}
Примечание.
Для отображения данных в журналах может потребоваться некоторое время. Выждите не менее нескольких минут, чтобы данные отобразились в журналах.
Добавьте правило подписи для подписи 2032081:
- Выберите DemoFirewallPolicy и в разделе Параметры щелкните IDPS.
- Перейдите на вкладку Правила подписи.
- В разделе Идентификатор подписи в открытом текстовом поле введите 2032081.
- В разделе Режим выберите Запретить.
- Выберите Сохранить.
- Дождитесь завершения развертывания, прежде чем продолжить.
В WorkerVM выполните команду
curl
еще раз:curl -A "HaxerMen" <your web server address>
Так как HTTP-запрос теперь блокируется брандмауэром, после истечения времени ожидания подключения вы увидите следующе:
read tcp 10.0.100.5:55734->10.0.20.10:80: read: connection reset by peer
Перейдите к журналам мониторинга на портале Azure и найдите сообщение для заблокированного запроса.
Тестирование IDPS для HTTPS-трафика
Повторите эти тесты curl, используя протокол HTTPS вместо HTTP. Например:
curl --ssl-no-revoke -A "HaxerMen" <your web server address>
Вы должны увидеть те же результаты, что и в тестах для HTTP.
Проверка TLS с фильтрацией URL-адресов
Чтобы выполнить проверку TLS с помощью фильтрации URL-адресов, следуйте инструкциям ниже.
Измените правила применения политики брандмауэра и добавьте в коллекцию правил
AllowWeb
новое правило,AllowURL
. Настройте целевой URL-адресwww.nytimes.com/section/world
, исходный IP-адрес *, URL-адрес типа назначения, выберите Проверка TLS и протоколы HTTP, HTTPS.После завершения развертывания откройте браузер на WorkerVM, перейдите по адресу
https://www.nytimes.com/section/world
и убедитесь, что ответ HTML отображается в браузере надлежащим образом.На портале Azure в журналах мониторинга правил приложений можно просмотреть URL-адрес полностью:
Некоторые HTML-страницы могут выглядеть неполными, так как они ссылаются на другие URL-адреса, которые запрещены. Чтобы решить эту проблему, можно использовать следующий подход:
Если HTML-страница содержит ссылки на другие домены, вы можете добавить эти домены в новое правило приложения с разрешением доступа к этим полным доменным именам.
Если HTML-страница содержит ссылки на вложенные URL-адреса, можно изменить правило и добавить звездочку в URL-адрес. Например:
targetURLs=www.nytimes.com/section/world*
Кроме того, новый URL-адрес можно добавить в правило. Например:
www.nytimes.com/section/world, www.nytimes.com/section/world/*
Тестирование веб-категорий
Давайте создадим правило приложения, разрешающее доступ к спортивным веб-сайтам.
На портале откройте группу ресурсов и выберите DemoFirewallPolicy.
Выберите Правила приложения, а затем включите Добавить коллекцию правил.
В поле Имя введите GeneralWeb, в поле Приоритет — 103, в поле Группа коллекции правил выберите DefaultApplicationRuleCollectionGroup.
В разделе "Правила для типа Name AllowSports", "Источник*", "Протокол http", "Https", "Проверка TLS", "Тип назначения" выберите "Веб-категории", "Назначение" выберите "Спорт".
Выберите Добавить.
После завершения развертывания перейдите по адресу WorkerVM, откройте веб-браузер и перейдите к
https://www.nfl.com
.Вы должны увидеть веб-страницу лиги NFL, а в журнале правил приложений будет указано, что правило Веб-категория: Спорт сработало и запрос был разрешен.