Visão geral da autenticação mútua no Gateway de Aplicativo do Azure
A autenticação mútua, ou autenticação de cliente, permite que o Gateway de Aplicativo autentique as solicitações de envio do cliente. Normalmente, apenas o cliente está Autenticando o Gateway de Aplicativo; a autenticação mútua permite que o cliente e o Gateway de Aplicativo se autentiquem.
Observação
É recomendável usar o TLS 1.2 com autenticação mútua, pois o TLS 1.2 será obrigatório no futuro.
Autenticação mútua
O Gateway de Aplicativo dá suporte à autenticação mútua baseada em certificado, na qual você pode carregar um certificado de autoridade de certificação de cliente confiável para o Gateway de Aplicativo e o gateway usará esse certificado para autenticar o cliente que envia uma solicitação ao gateway. Com o aumento em casos de uso de IoT e maiores requisitos de segurança entre os setores, a autenticação mútua fornece uma maneira de gerenciar e controlar quais clientes podem se comunicar com o seu Gateway de Aplicativo.
Para configurar a autenticação mútua, um certificado de AC de cliente confiável deve ser carregado como parte da parte de autenticação de cliente de um perfil SSL. É necessárioa associar o perfil SSL a um ouvinte para concluir a configuração da autenticação mútua. Sempre deve haver um CA de certificação raiz no certificado do cliente que você carrega. Você também pode carregar uma cadeia de certificados, mas a cadeia deve incluir um certificado de autoridade de certificação raiz, além de quantos certificados de CA intermediários desejar. O tamanho máximo de cada arquivo carregado deve ser de 25 KB ou menos.
Por exemplo, se o certificado do cliente contiver um certificado de autoridade de certificação raiz, vários CAs de certificação intermediários e um certificado de folha, verifique se o CA de certificação raiz e todos os certificados de CA intermediários são carregados no Gateway de Aplicativo em um arquivo. Para mais informações sobre como extrair cadeias de certificados de CA de cliente confiáveis para carregar aqui, consulte como extrair cadeias de certificados de AC de cliente confiáveis.
Se você estiver carregando uma cadeia de certificados de CA raiz e certificados de CA intermediários, a cadeia de certificados deverá ser carregada como um arquivo PEM ou CER para o gateway.
Importante
Certifique-se de carregar toda a cadeia de certificados de AC do cliente confiável para o Gateway de Aplicativo ao usar a autenticação mútua.
Cada perfil de SSL pode dar suporte a até 100 cadeias de certificados de AC de cliente confiáveis. Um Gateway de Aplicativo individual pode dar suporte a um total de 200 cadeias de certificados de AC de cliente confiáveis.
Observação
- A autenticação mútua somente está disponível em SKUs Standard_v2 e WAF_v2.
- A configuração da autenticação mútua para ouvintes de protocolo TLS (versão prévia) está disponível atualmente por meio da API REST, do PowerShell e da CLI. O suporte no portal do Azure será oferecido em breve.
Certificados com suporte para autenticação mútua
O Gateway de Aplicativo dá suporte a certificados emitidos por autoridades de certificação estabelecidas públicas e privadas.
- Certificados de autoridade de certificação emitidos por autoridades de certificação conhecidas: certificados intermediários e raiz geralmente são encontrados em repositórios de certificados confiáveis e permitem conexões confiáveis com pouca ou nenhuma configuração adicional no dispositivo.
- Certificados de autoridade de certificação emitidos por autoridades de certificação estabelecidas pela organização: esses certificados normalmente são emitidos de forma privada por meio de sua organização e não têm a confiança de outras entidades. Os certificados intermediários e raiz devem ser importados para repositórios de certificados confiáveis para que os clientes estabeleçam confiança na cadeia.
Observação
Ao emitir certificados de cliente de autoridades de certificação bem estabelecidas, considere trabalhar com a autoridade de certificação para ver se um certificado intermediário pode ser emitido para sua organização para impedir a autenticação desavisada de certificados de cliente entre organizações.
Validação da autenticação de cliente adicional
Verificar DN do certificado de cliente
Você pode verificar o emissor imediato do certificado do cliente e permitir que apenas o Gateway de Aplicativo confie no emissor. Essa opção está desativada por padrão, mas é possível habilitá-la por meio do portal, do PowerShell ou da CLI do Azure.
Se você optar por habilitar o Gateway de Aplicativo para verificar o emissor imediato do certificado do cliente, veja como determinar qual será o DN do emissor do certificado do cliente a ser extraído dos certificados carregados.
- Cenário 1: A cadeia de certificados abrange: certificado raiz - certificado intermediário - certificados de folha
- O nome da entidade docertificado intermediário é o que o Gateway de Aplicativo extrairá como o DN do emissor do certificado do cliente e será verificado.
- Cenário 2: A cadeia de certificados abrange: certificado raiz - certificado intermediário1 - certificado intermediário2 - certificado de folha
- O nome da entidade docertificado intermediário2 é o que será extraído como o DN do emissor do certificado do cliente e será verificado.
- Cenário 3: A cadeia de certificados abrange: certificado raiz - certificado intermediário - certificados de folha
- O nome da entidade docertificado raiz será extraído e utilizado como DN do emissor do certificado do cliente.
- Cenário 4: Múltiplas cadeias de certificados do mesmo comprimento no mesmo arquivo. A cadeia 1 inclui: certificado raiz - certificado intermediário1 - certificado de folha. A cadeia 2 inclui: certificado raiz - certificado intermediário2 - certificado de folha.
- O nome da entidade docertificado intermediário1 será extraído e utilizado como DN do emissor do certificado do cliente.
- Cenário 5: Múltiplas cadeias de certificados do mesmo comprimento no mesmo arquivo. A cadeia 1 inclui: certificado raiz - certificado intermediário1 - certificado de folha. A cadeia 2 inclui certificado raiz - certificado intermediário2 - certificado intermediário3 - certificado de folha.
- O nome da entidade docertificado intermediário3 será extraído e utilizado como DN do emissor do certificado do cliente.
Importante
Recomendamos carregar apenas uma cadeia de certificados por arquivo. Isso é especialmente importante se você habilitar a opção verificar DN de certificado de cliente. Ao carregar várias cadeias de certificados em um arquivo, você terminará no cenário quatro ou cinco e poderá encontrar problemas posteriormente na linha quando o certificado do cliente apresentado não corresponder ao Gateway de Aplicativo DN do emissor do certificado do cliente extraído das cadeias.
Para mais informações sobre como extrair cadeias de certificados de AC de cliente confiáveis para carregar aqui, consulte como extrair cadeias de certificados de AC de cliente confiáveis.
Variáveis de servidor
Com a autenticação TLS mútua, há variáveis de servidor adicionais que você pode usar para passar informações sobre o certificado do cliente aos servidores de back-end protegidos pelo Gateway de Aplicativo. Para obter mais informações sobre quais variáveis de servidor estão disponíveis e como usá-las, confira variáveis de servidor.
Revogação de certificado
Quando um cliente inicia uma conexão com um Gateway de Aplicativo configurado com autenticação TLS mútua, a cadeia de certificados e o nome diferenciado do emissor podem ser validados e o status de revogação do certificado do cliente pode ser verificado com o OCSP (Protocolo de Status do Certificado Online). Durante a validação, o certificado apresentado pelo cliente será pesquisado por meio do respondente do OCSP definido na extensão AIA (acesso às informações da autoridade). Caso o certificado do cliente seja revogado, o gateway de aplicativo responderá ao cliente com um código de status HTTP 400 e um motivo. Se o certificado for válido, a solicitação continuará sendo processada pelo gateway de aplicativo e encaminhada para o pool de back-end definido.
A revogação do certificado do cliente pode ser habilitada por meio da API REST, do ARM, do Bicep, da CLI ou do PowerShell.
Para configurar a verificação de revogação de cliente em um gateway de aplicativo existente por meio do Azure PowerShell, os seguintes comandos podem ser usados:
# Get Application Gateway configuration
$AppGw = Get-AzApplicationGateway -Name "ApplicationGateway01" -ResourceGroupName "ResourceGroup01"
# Create new SSL Profile
$profile = Get-AzApplicationGatewaySslProfile -Name "SslProfile01" -ApplicationGateway $AppGw
# Verify Client Cert Issuer DN and enable Client Revocation Check
Set-AzApplicationGatewayClientAuthConfiguration -SslProfile $profile -VerifyClientCertIssuerDN -VerifyClientRevocation OCSP
# Update Application Gateway
Set-AzApplicationGateway -ApplicationGateway $AppGw
Veja aqui uma lista de todas as referências do Azure PowerShell para configuração de autenticação de cliente no Gateway de Aplicativo:
Para verificar se o status de revogação do OCSP foi avaliado para a solicitação do cliente, os logs de acesso conterão uma propriedade chamada "sslClientVerify", com o status da resposta do OCSP.
É fundamental que o respondente do OCSP esteja altamente disponível e que a conectividade de rede entre o Gateway de Aplicativo e o respondente seja possível. Caso Gateway de Aplicativo não consiga resolver o FQDN (nome de domínio totalmente qualificado) do respondente definido ou a conectividade de rede esteja bloqueada de/para o respondente, o status de revogação do certificado falhará e o Gateway de Aplicativo retornará uma resposta HTTP 400 ao cliente solicitante.
Observação: as verificações do OCSP são validadas por meio do cache local com base na hora de nextUpdate definido por uma resposta do OCSP anterior. Se o cache do OCSP não tiver sido populado em uma solicitação anterior, a primeira resposta poderá falhar. Após a repetição do cliente, a resposta deverá ser encontrada no cache e a solicitação será processada conforme o esperado.
Observações
- Não há suporte para verificação de revogação por CRL
- A verificação de revogação do cliente foi introduzida na versão 2022-05-01 da API
Próximas etapas
Depois de aprender sobre a autenticação mútua, vá para Configurar o Gateway de Aplicativo com autenticação mútua no PowerShell para criar um Gateway de Aplicativo usando a autenticação mútua.