Exercício - Configurar pools de back-end para criptografia
Você deseja implementar criptografia de ponta a ponta para o aplicativo de portal de envio. A criptografia de todos os dados entre usuários e servidores ajuda a garantir que nenhum usuário não autorizado possa intercetar e ler os dados.
Nesta unidade, irá configurar a aplicação Web e o gateway de aplicação. Em seguida, irá criar alguns certificados SSL autoassinados e ativar a encriptação no seu conjunto de back-end para ajudar a proteger o tráfego proveniente do gateway de aplicação para os seus servidores.
A imagem a seguir destaca os elementos configurados neste exercício. Você está configurando um gateway de aplicativo usando o Gateway de Aplicativo do Azure v2.
Implementar uma máquina virtual e um gateway de aplicação
Abra o Azure Cloud Shell em seu navegador e entre no diretório com acesso à assinatura na qual você deseja criar recursos. Usaremos o ambiente de shell Bash para este exercício.
Execute o seguinte comando no Cloud Shell para criar um grupo de recursos para seus recursos. Substitua
<resource group name>
por um nome para seu grupo de recursos e<location>
pela região do Azure na qual você deseja implantar seus recursos.az group create --resource-group <resource group name> --location <location>
Execute o seguinte comando no Cloud Shell para criar uma variável para armazenar o nome do grupo de recursos:
export rgName=<resource group name>
No Azure Cloud Shell, execute o seguinte comando para baixar o código-fonte do portal de remessa:
git clone https://github.com/MicrosoftDocs/mslearn-end-to-end-encryption-with-app-gateway shippingportal
Mover para a pasta shippingportal :
cd shippingportal
Execute o seguinte script de instalação para criar a máquina virtual, os certificados e o gateway de aplicativo:
bash setup-infra.sh
Nota
Este script leva vários minutos para ser concluído. Permita que ele trabalhe através de vários processos para descompactar e configurar o gateway e os recursos. Você deve ver que o processo foi bem-sucedido com zero avisos e zero erros.
Verificar se o servidor Web está configurado corretamente
Execute o seguinte comando para apresentar o URL do servidor Web que o script de configuração criou.
echo https://"$(az vm show \ --name webservervm1 \ --resource-group $rgName \ --show-details \ --query [publicIps] \ --output tsv)"
Copie e cole o URL no seu navegador da Web e vá para o URL.
Seu navegador provavelmente exibirá uma mensagem de aviso semelhante à imagem a seguir. O conteúdo exato da mensagem de aviso pode variar, dependendo do seu navegador. A imagem de exemplo é do Microsoft Edge.
Este aviso é apresentado porque o servidor Web é configurado através de um certificado autoassinado que não pode ser autenticado. Nesta página de aviso, procure e selecione o link para prosseguir para o site; por exemplo, selecione Ir para a página da Web ou selecione Avançado e, em seguida, Continuar, ou equivalente. O resultado leva você para a página inicial do portal de envio, como mostra a imagem a seguir. É um aplicativo de exemplo para testar se o servidor está configurado corretamente.
Configurar o conjunto de back-end para encriptação
Execute o seguinte comando para obter o endereço IP privado da máquina virtual que está a funcionar como servidor Web.
echo privateip="$(az vm list-ip-addresses \ --resource-group $rgName \ --name webservervm1 \ --query "[0].virtualMachine.network.privateIpAddresses[0]" \ --output tsv)"
Crie uma variável para armazenar o seu endereço IP privado. Substitua
<privateIP>
pelo endereço IP da etapa anterior.export privateip=<privateIP>
Configure o pool de back-end para o Application Gateway usando o endereço IP privado da máquina virtual.
az network application-gateway address-pool create \ --resource-group $rgName \ --gateway-name gw-shipping \ --name ap-backend \ --servers $privateip
Carregue o certificado de VM no pool de back-end para o Application Gateway como um certificado raiz confiável. O script de instalação gerou esse certificado e o armazenou no arquivo shipping-ssl.crt .
az network application-gateway root-cert create \ --resource-group $rgName \ --gateway-name gw-shipping \ --name shipping-root-cert \ --cert-file server-config/shipping-ssl.crt
Configure as configurações HTTP para usar o certificado:
az network application-gateway http-settings create \ --resource-group $rgName \ --gateway-name gw-shipping \ --name https-settings \ --port 443 \ --protocol Https \ --host-name $privateip
Execute os seguintes comandos para definir o certificado confiável para o pool de back-end para o certificado instalado na VM de back-end:
export rgID="$(az group show --name $rgName --query id --output tsv)" az network application-gateway http-settings update \ --resource-group $rgName \ --gateway-name gw-shipping \ --name https-settings \ --set trustedRootCertificates='[{"id": "'$rgID'/providers/Microsoft.Network/applicationGateways/gw-shipping/trustedRootCertificates/shipping-root-cert"}]'
Agora tem uma máquina virtual a executar o site do portal de encomendas e um gateway de aplicação. Configurou a encriptação SSL entre o Gateway de Aplicação e o seu servidor de aplicações.