Configurar pools de back-end para criptografia

Concluído

O conjunto de back-end contém os servidores que implementam a aplicação. O Gateway de Aplicação do Azure encaminha os pedidos para estes servidores e pode fazer o balanceamento de carga do tráfego nos últimos.

No portal de encomendas, os servidores de aplicações no conjunto de back-end têm de utilizar SSL para encriptar os dados que são transmitidos entre o Gateway de Aplicação e os servidores no conjunto de back-end. O Gateway de Aplicação utiliza um certificado SSL com uma chave pública para encriptar os dados. Os servidores utilizam a chave privada correspondente para desencriptar os dados assim que estes são recebidos. Nesta unidade, você verá como criar o pool de back-end e instalar os certificados necessários no Application Gateway. Esses certificados ajudam a proteger as mensagens enviadas de e para o pool de back-end.

Encriptação do Gateway de Aplicação para o conjunto de back-end

Um conjunto de back-end pode referenciar máquinas virtuais individuais, um conjunto de dimensionamento de máquinas virtuais, os endereços IP de computadores reais (quer no local ou executados remotamente) ou os serviços alojados através do Serviço de Aplicações do Azure. Todos os servidores no conjunto de back-end devem ser configurados da mesma forma, incluindo as respetivas definições de segurança.

Diagram showing how Application Gateway routes a request to a web server.

Se o tráfego direcionado para o conjunto de back-end for protegido por SSL, cada servidor no conjunto de back-end tem de fornecer um certificado adequado. Para fins de teste, pode criar um certificado autoassinado. Num ambiente de produção, deve sempre gerar ou comprar um certificado que possa ser autenticado por uma autoridade de certificação (AC).

Atualmente, existem duas versões do Gateway de Aplicação: v1 e v2. Eles têm capacidades semelhantes, mas têm detalhes de implementação ligeiramente diferentes. A versão v2 oferece mais recursos e melhorias de desempenho.

Configuração do certificado no Gateway de Aplicação v1

O Gateway de Aplicação v1 necessita que instale o certificado de autenticação para os servidores na configuração do gateway. Esse certificado contém a chave pública que o Application Gateway usa para criptografar mensagens e autenticar seus servidores. Pode criar este certificado ao exportá-lo a partir do servidor. O servidor de aplicações utiliza a chave privada correspondente para desencriptar estas mensagens. Esta chave privada só deve ser armazenada nos seus servidores de aplicações.

Pode adicionar um certificado de autenticação ao Gateway de Aplicação com o comando az network application-gateway auth-cert create a partir da CLI do Azure. O exemplo a seguir ilustra a sintaxe desse comando. O certificado deve estar no formato CER (Claim, Evidence, and Reasoning).

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>

O Application Gateway fornece outros comandos que você pode usar para listar e gerenciar certificados de autenticação. Por exemplo:

  • O comando az network application-gateway auth-cert list mostra os certificados que foram instalados.
  • Você pode usar o comando para alterar o az network application-gateway auth-cert update certificado.
  • O comando az network application-gateway auth-cert delete remove um certificado.

Configuração do certificado no Gateway de Aplicação v2

O Gateway de Aplicação v2 tem requisitos de autenticação ligeiramente diferentes. Deve fornecer o certificado à autoridade de certificação que autenticou o certificado SSL para os servidores no conjunto de back-end. Pode adicionar este certificado como um certificado de raiz fidedigno ao Gateway de Aplicação. Utilize o comando az network application-gateway root-cert create a partir da CLI do Azure.

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>

Se os seus servidores estiverem a utilizar um certificado autoassinado, adicione este certificado como o certificado de raiz fidedigno no Gateway de Aplicação.

Definições de HTTP

O Application Gateway usa uma regra para especificar como direcionar as mensagens que recebe em sua porta de entrada para os servidores no pool de back-end. Se os servidores utilizarem SSL, tem de configurar a regra para indicar:

  • Os servidores esperam tráfego através do protocolo HTTPS.
  • Que certificado deve utilizar para encriptar tráfego e autenticar a ligação para um servidor.

Deve definir estas informações de configuração através de uma definição de HTTP.

Você pode definir uma configuração HTTP usando o az network application-gateway http-settings create comando na CLI do Azure. O seguinte exemplo mostra a sintaxe para criar uma definição que encaminhe o tráfego através do protocolo HTTPS para a porta 443 nos servidores no conjunto de back-end. Se estiver a utilizar o Gateway de Aplicação v1, o parâmetro --auth-certs é o nome do certificado de autenticação que adicionou anteriormente ao Gateway de Aplicação.

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>

Se estiver a utilizar o Gateway de Aplicação v2, deve omitir o parâmetro --auth-certs. O Gateway de Aplicação contacta o servidor back-end. Verifica a autenticidade do certificado apresentado pelo servidor face às ACs especificadas por uma lista de certificados de raiz fidedignos. Caso não exista nenhuma correspondência, o Gateway de Aplicação não estabelecerá ligação com o servidor back-end e apresentará o erro HTTP 502 (Gateway Incorreto).