Visão geral da autenticação mútua com o Application Gateway

A autenticação mútua, ou autenticação de cliente, permite que o Application Gateway autentique as solicitações de envio do cliente. Normalmente, apenas o cliente está autenticando o Application Gateway; a autenticação mútua permite que o cliente e o Application Gateway se autentiquem.

Nota

Recomendamos o uso do TLS 1.2 com autenticação mútua, pois o TLS 1.2 será obrigatório no futuro.

Autenticação mútua

O Application Gateway oferece suporte à autenticação mútua baseada em certificado, onde você pode carregar um certificado de CA de cliente confiável para o Application Gateway, e o gateway usará esse certificado para autenticar o cliente que envia uma solicitação ao gateway. Com o aumento dos casos de uso de IoT e o aumento dos requisitos de segurança em todos os setores, a autenticação mútua fornece uma maneira de gerenciar e controlar quais clientes podem falar com seu Application Gateway.

Para configurar a autenticação mútua, é necessário carregar um certificado de autoridade de certificação de cliente confiável como parte da parte de autenticação de cliente de um perfil SSL. O perfil SSL precisará então ser associado a um ouvinte para concluir a configuração da autenticação mútua. Sempre deve haver um certificado de autoridade de certificação raiz no certificado de cliente carregado. 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 autoridade de certificação intermediários desejar. O tamanho máximo de cada ficheiro carregado tem de ser igual ou inferior a 25 KB.

Por exemplo, se o certificado do cliente contiver um certificado de autoridade de certificação raiz, vários certificados de autoridade de certificação intermediária e um certificado folha, certifique-se de que o certificado de autoridade de certificação raiz e todos os certificados de autoridade de certificação intermediários sejam carregados no Application Gateway em um arquivo. Para obter mais informações sobre como extrair um certificado de CA de cliente confiável, consulte como extrair certificados de CA de cliente confiável.

Se você estiver carregando uma cadeia de certificados com certificados de CA raiz e certificados de CA intermediários, a cadeia de certificados deverá ser carregada como um arquivo PEM ou CER no gateway.

Importante

Certifique-se de carregar toda a cadeia de certificados de CA do cliente confiável para o Application Gateway ao usar a autenticação mútua.

Cada perfil SSL pode suportar até 100 cadeias de certificados de CA de clientes confiáveis. Um único Application Gateway pode suportar um total de 200 cadeias de certificados de CA de clientes confiáveis.

Nota

  • A autenticação mútua só está disponível em Standard_v2 e WAF_v2 SKUs.
  • A configuração da autenticação mútua para ouvintes do protocolo TLS (visualização) está atualmente disponível por meio da API REST, PowerShell e CLI. O suporte do Portal do Azure estará disponível em breve.

Certificados suportados para autenticação mútua

O Application Gateway oferece suporte a certificados emitidos por autoridades de certificação públicas e privadas.

  • Certificados de CA emitidos por autoridades de certificação conhecidas: certificados intermediários e raiz são comumente 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 geralmente são emitidos de forma privada por meio de sua organização e não são confiáveis por outras entidades. Os certificados intermediários e raiz devem ser importados para armazenamentos de certificados confiáveis para que os clientes estabeleçam confiança em cadeia.

Nota

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 evitar a autenticação inadvertida de certificado de cliente entre organizações.

Validação de autenticação de cliente adicional

Verificar DN do certificado do cliente

Você tem a opção de verificar o emissor imediato do certificado do cliente e permitir apenas que o Application Gateway confie nesse emissor. Essa opção está desativada por padrão, mas você pode habilitá-la por meio do Portal, PowerShell ou CLI do Azure.

Se você optar por habilitar o Application Gateway para verificar o emissor imediato do certificado do cliente, veja como determinar qual DN do emissor do certificado do cliente será extraído dos certificados carregados.

  • Cenário 1: A cadeia de certificados inclui: certificado raiz - certificado intermediário - certificado folha
    • O nome do assunto do certificado intermediário é o que o Application Gateway extrairá como DN do emissor do certificado do cliente e será verificado.
  • Cenário 2: A cadeia de certificados inclui: certificado raiz - certificado intermediário1 - certificado intermediário2 - certificado folha
    • O nome do assunto do certificado intermediário2 será o que for extraído como DN do emissor do certificado do cliente e será verificado contra.
  • Cenário 3: A cadeia de certificados inclui: certificado raiz - certificado folha
    • O nome do assunto do certificado raiz será extraído e usado como DN do emissor do certificado do cliente.
  • Cenário 4: Várias cadeias de certificados do mesmo comprimento no mesmo arquivo. A cadeia 1 inclui: certificado raiz - certificado intermediário1 - certificado folha. A cadeia 2 inclui: certificado raiz - certificado intermediário2 - certificado folha.
    • O nome do assunto do certificado intermediário1 será extraído como DN do emissor do certificado do cliente.
  • Cenário 5: Várias cadeias de certificados de comprimentos diferentes no mesmo arquivo. A cadeia 1 inclui: certificado raiz - certificado intermediário1 - certificado folha. A cadeia 2 inclui certificado raiz - certificado intermediário2 - certificado intermediário3 - certificado folha.
    • O nome do assunto do certificado intermediário3 será extraído 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 verificação do DN do certificado do cliente. Ao carregar várias cadeias de certificados em um arquivo, você acabará no cenário quatro ou cinco e poderá ter problemas mais tarde quando o certificado de cliente apresentado não corresponder ao DN Application Gateway do emissor do certificado do cliente extraído das cadeias.

Para obter mais informações sobre como extrair cadeias de certificados de CA de cliente confiável, consulte como extrair cadeias de certificados de CA de cliente confiável.

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 para os servidores back-end por trás do Application Gateway. 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 do certificado

Quando um cliente inicia uma conexão com um Application Gateway configurado com autenticação TLS mútua, não apenas a cadeia de certificados e o nome distinto do emissor podem ser validados, mas o status de revogação do certificado do cliente pode ser verificado com OCSP (Online Certificate Status Protocol). Durante a validação, o certificado apresentado pelo cliente será consultado através do respondente OCSP definido na sua extensão de Acesso à Informação da Autoridade (AIA). Caso o certificado do cliente tenha sido revogado, o gateway de aplicativo responderá ao cliente com um código de status HTTP 400 e motivo. Se o certificado for válido, a solicitação continuará a ser processada pelo gateway de aplicativo e encaminhada para o pool de back-end definido.

A revogação de certificados de cliente pode ser habilitada via REST API, ARM, Bicep, CLI ou PowerShell.

Para configurar a verificação de revogação do cliente em um Gateway de Aplicativo existente por meio do Azure PowerShell, os seguintes comandos podem ser referenciados:

# 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

Uma lista de todas as referências do Azure PowerShell para Configuração de Autenticação de Cliente no Gateway de Aplicativo pode ser encontrada aqui:

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 OCSP esteja altamente disponível e que a conectividade de rede entre o Application Gateway e o respondente seja possível. Caso o Application Gateway não consiga resolver o FQDN (nome de domínio totalmente qualificado) do respondente definido ou a conectividade de rede seja bloqueada de/para o respondente, o status de revogação do certificado falhará e o Application Gateway retornará uma resposta HTTP 400 ao cliente solicitante.

Nota: As verificações OCSP são validadas via cache local com base no próximo tempo de atualização definido por uma resposta OCSP anterior. Se o cache OCSP não tiver sido preenchido a partir de uma solicitação anterior, a primeira resposta poderá falhar. Após a nova tentativa do cliente, a resposta deve ser encontrada no cache e a solicitação será processada conforme o esperado.

Notas

  • A verificação de revogação via CRL não é suportada
  • A verificação de revogação do cliente foi introduzida na versão da API 2022-05-01

Próximos passos

Depois de aprender sobre autenticação mútua, vá para Configurar Gateway de Aplicativo com autenticação mútua no PowerShell para criar um Gateway de Aplicativo usando autenticação mútua.