Configurar pools de back-end para criptografia

Concluído

O pool de back-end contém os servidores que implementam o aplicativo. O Gateway de Aplicativo do Azure roteia as solicitações para esses servidores e pode balancear a carga do tráfego entre esses servidores.

No portal do envio, os servidores de aplicativos no pool de back-end devem usar SSL para criptografar os dados que passam entre o Gateway de Aplicativo e os servidores no pool de back-end. O Gateway de Aplicativo usa um certificado SSL com uma chave pública para criptografar os dados. Os servidores usam a chave privada correspondente para descriptografar os dados conforme eles são recebidos. Nesta unidade, você verá como criar o pool de back-ends e instalar os certificados necessários no gateway de aplicativo. Esses certificados ajudam a proteger as mensagens enviadas de e para o pool de back-end.

Criptografia do Gateway de Aplicativo para o pool de back-end

Um pool de back-end pode fazer referência a máquinas virtuais individuais, a um conjunto de dimensionamento de máquinas virtuais, aos endereços IP de computadores reais (sejam locais ou em execução remota) ou a serviços hospedados usando o Serviço de Aplicativo do Azure. Todos os servidores no pool de back-end devem ser configurados da mesma forma, incluindo suas configurações de segurança.

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

Se o tráfego direcionado o pool de back-end estiver protegido com SSL, cada servidor no pool de back-end deverá fornecer um certificado apropriado. Para fins de teste, você pode criar e usar um certificado autoassinado. Em um ambiente de produção, você sempre deve gerar ou comprar um certificado que uma AC (autoridade de certificação) possa autenticar.

No momento, há duas versões do Gateway de Aplicativo: v1 e v2. Eles têm recursos semelhantes, mas detalhes de implementação levemente diferentes. A versão v2 fornece mais recursos e melhorias de desempenho.

Configuração do certificado no Gateway de Aplicativo v1

O Gateway de Aplicativo v1 exige que você instale o certificado de autenticação para os servidores na configuração do gateway. Esse certificado contém a chave pública que o gateway de aplicativo usa para criptografar mensagens e autenticar seus servidores. Você pode criar esse certificado exportando-o do servidor. O servidor de aplicativos usa a chave privada correspondente para descriptografar essas mensagens. Essa chave privada deve ser armazenada apenas em seus servidores de aplicativo.

Você pode adicionar um certificado de autenticação a um Gateway de Aplicativo usando o comando az network application-gateway auth-cert create da CLI do Azure. O exemplo a seguir ilustra a sintaxe desse comando. O certificado deve estar no formato CER (Declaração, Evidência e Raciocínio).

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 Gateway de Aplicativo 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.
  • O comando az network application-gateway auth-cert update pode ser usado para alterar o certificado.
  • O comando az network application-gateway auth-cert delete remove um certificado.

Configuração do certificado no Gateway de Aplicativo v2

O Gateway de Aplicativo v2 tem requisitos de autenticação um pouco diferentes. Você fornece o certificado para a autoridade de certificação que autenticou o certificado SSL para os servidores no pool de back-end. Você pode adicionar esse certificado como um certificado raiz confiável ao Gateway de Aplicativo. Use o comando az network application-gateway root-cert create 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 usando um certificado autoassinado, adicione esse certificado como o certificado raiz confiável ao Gateway de Aplicativo.

Configurações de HTTP

O Gateway de Aplicativo usa uma regra para especificar como direcionar as mensagens que ele recebe na porta de entrada para os servidores no pool de back-end. Se os servidores estiverem usando SSL, você deverá configurar a regra para indicar:

  • Os servidores esperam tráfego por meio do protocolo HTTPS.
  • Que certificado usar para criptografar o tráfego e autenticar a conexão a um servidor.

Você define essas informações de configuração usando uma Configuração de HTTP.

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

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 você estiver usando o Gateway de Aplicativo v2, omita o parâmetro --auth-certs. O Gateway de Aplicativo entra em contato com o servidor de back-end. Ele verifica a autenticidade do certificado apresentado pelo servidor com relação às ACs especificadas por uma lista de certificados raiz confiáveis. Se não houver correspondência, o Gateway de Aplicativo não se conectará com o servidor de back-end e falhará com um erro HTTP 502 (Gateway Inválido).