Настройка внутренних пулов для шифрования

Завершено

Серверный пул содержит серверы, реализующие приложение. Шлюз приложений Azure направляет запросы на эти серверы и может сбалансировать трафик между этими серверами.

На портале доставки серверы приложений в серверном пуле должны использовать SSL для шифрования данных, передаваемых между шлюзом приложений и серверами в серверном пуле. Шлюз приложений использует SSL-сертификат с открытым ключом для шифрования данных. Серверы используют соответствующий закрытый ключ для расшифровки данных по мере получения. В этом уроке вы узнаете, как создать внутренний пул и установить необходимые сертификаты в Шлюзе приложений. Эти сертификаты помогают защитить сообщения, отправленные в и из серверного пула.

Шифрование от шлюза приложений до пула серверов

Серверный пул может ссылаться на отдельные виртуальные машины, масштабируемый набор виртуальных машин, IP-адреса реальных компьютеров (локально или удалённо исполняемые) или службы, размещенные на платформе Azure App Service. Все серверы в серверном пуле должны быть настроены одинаково, включая их параметры безопасности.

схема, показывающая, как шлюз приложений направляет запрос на веб-сервер.

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

В настоящее время существует две версии шлюза приложений: версии 1 и 2. Они имеют аналогичные возможности, но имеют немного разные сведения о реализации. Версия 2 предоставляет дополнительные возможности и улучшения производительности.

Настройка сертификата в шлюзе приложений версии 1

Для шлюза приложений версии 1 необходимо установить сертификат проверки подлинности для серверов в конфигурации шлюза. Этот сертификат содержит открытый ключ, который шлюз приложений использует для шифрования сообщений и проверки подлинности серверов. Этот сертификат можно создать, экспортируя его с сервера. Сервер приложений использует соответствующий закрытый ключ для расшифровки этих сообщений. Этот закрытый ключ должен храниться только на серверах приложений.

Вы можете добавить сертификат проверки подлинности в Шлюз приложений с помощью команды az network application-gateway auth-cert create из Azure CLI. В следующем примере показан синтаксис этой команды. Сертификат должен быть в формате CER (утверждение, доказательства и умозаключение).

az network application-gateway auth-cert create \
    --resource-group <resource group name> \
    --gateway-name <application gateway name> \
    --name <certificate name> \
    --cert-file <path to authentication certificate>

Шлюз приложений предоставляет другие команды, которые можно использовать для перечисления сертификатов проверки подлинности и управления ими. Например:

  • Команда az network application-gateway auth-cert list отображает установленные сертификаты.
  • Для изменения сертификата можно использовать команду az network application-gateway auth-cert update.
  • Команда az network application-gateway auth-cert delete удаляет сертификат.

Настройка сертификата в Шлюзе приложений версии 2

Шлюз приложений версии 2 имеет несколько разные требования к проверке подлинности. Вы предоставляете сертификат для центра сертификации, прошедшего проверку подлинности SSL-сертификата для серверов в серверном пуле. Этот сертификат добавляется в шлюз приложений в качестве доверенного корневого сертификата. Используйте команду az network application-gateway root-cert create из Azure CLI.

az network application-gateway root-cert create \
      --resource-group <resource group name> \
      --gateway-name <application gateway name> \
      --name <certificate name> \
      --cert-file <path to trusted CA certificate>

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

Параметры HTTP

Шлюз приложений использует правило , чтобы указать, как направлять сообщения, полученные на входящих портах, на серверы в серверном пуле. Если серверы используют SSL, необходимо настроить правило, чтобы указать следующее:

  • Серверы ожидают трафик через протокол HTTPS.
  • Какой сертификат используется для шифрования трафика и проверки подлинности подключения к серверу.

Эти сведения конфигурации определяются с помощью параметра HTTP.

Параметр HTTP можно определить с помощью команды az network application-gateway http-settings create в Azure CLI. В следующем примере показан синтаксис для создания параметра, который направляет трафик с помощью протокола HTTPS к порту 443 на серверах в серверном пуле. Если вы используете шлюз приложений версии 1, параметр --auth-certs — это имя сертификата проверки подлинности, добавленного в шлюз приложений ранее.

az network application-gateway http-settings create \
    --resource-group <resource group name> \
    --gateway-name <application gateway name> \
    --name <HTTPS settings name> \
    --port 443 \
    --protocol Https \
    --auth-certs <certificate name>

Если вы используете шлюз приложений версии 2, опустите параметр --auth-certs. Шлюз приложений обращается к внутреннему серверу. Он проверяет подлинность сертификата, представленного сервером, для центров сертификации, указанных в списке доверенных корневых сертификатов. Если совпадения нет, Шлюз Приложений не подключится к внутреннему серверу и завершится ошибкой HTTP 502 (Ошибочный шлюз).