Em cenários de transações financeiras, saúde, serviços bancários, Internet das Coisas (IoT) e pagamentos online, a autenticação HTTPS unidirecional padrão deixa o servidor exposto a ataques man-in-the-middle e acessos não autorizados, pois o servidor confia em todos os clientes conectados por padrão. A autenticação mútua resolve essa lacuna ao exigir que ambas as partes se verifiquem antes do estabelecimento da conexão. Este tópico explica como configurar a autenticação mútua no Anti-DDoS Proxy.
Como funciona
Na autenticação unidirecional, o cliente verifica o certificado do servidor, mas o servidor confia em todos os clientes que se conectam. Já na autenticação mútua, o servidor também verifica o certificado do cliente. Apenas clientes que apresentam um certificado válido emitido por uma CA confiável conseguem estabelecer uma conexão.
Autenticação unidirecional versus mútua
|
Item de comparação |
Autenticação unidirecional |
Autenticação mútua |
|
Arquivos de certificado envolvidos |
Certificado do servidor: certificado de chave pública + chave privada |
Certificado do servidor: certificado de chave pública + chave privada; Certificado do cliente: certificado de chave pública + chave privada; Certificado da CA raiz |
|
Processo de handshake |
|
|
Caso de uso
Uma plataforma de serviços de governo eletrônico executada atrás do Anti-DDoS Proxy precisa impedir que invasores se passem pelo domínio governamental, criem sites de phishing ou usem ferramentas automatizadas para extrair dados de interfaces públicas. A autenticação mútua aborda essas três ameaças:
Autenticação do servidor: Os clientes verificam o certificado do servidor no Anti-DDoS Proxy, confirmando a conexão com um servidor legítimo.
Autenticação do cliente: O Anti-DDoS Proxy verifica os certificados dos clientes em relação ao certificado da CA carregado, permitindo a conexão apenas de clientes autorizados.
Pré-requisitos
Antes de começar, certifique-se de ter:
Uma instância do Anti-DDoS Proxy com encaminhamento HTTPS configurado
Um nome de domínio apontando para a instância do Anti-DDoS Proxy (ou acesso ao DNS para configurar registros CNAME)
Etapa 1: Criar um certificado de CA e gerar certificados de cliente
Escolha uma origem de CA conforme sua situação:
|
Opção |
Quando usar |
|
Método 1: Certificados de CA emitidos pela Alibaba Cloud |
Ideal se você deseja que a Alibaba Cloud gerencie sua infraestrutura de CA privada. É mais simples de configurar e integra-se diretamente ao Certificate Management Service. |
|
Método 2: Certificados de CA autoassinados (OpenSSL) |
Recomendado quando você já possui uma PKI existente ou precisa usar sua própria CA. |
Método 1: Gerar certificados de cliente usando certificados de CA emitidos pela Alibaba Cloud
Método 2: Gerar certificados de cliente usando certificados de CA autoassinados
Certificados de CA raiz autoassinados e de CA intermediária autoassinados são suportados. Este exemplo utiliza um certificado de CA raiz autoassinado.
O nome comum (CN) no certificado da CA deve ser diferente dos nomes no certificado do cliente e no certificado do servidor. Além disso, cada certificado de cliente deve ter um CN exclusivo — diferente do certificado do servidor, do certificado da CA raiz e de todos os outros certificados de cliente. CNs duplicados causam falhas na validação do certificado.
Etapa 2a: Gerar um certificado de CA raiz autoassinado
-
Gere uma chave privada da CA raiz:
openssl genrsa -out root.key 4096 -
Crie uma solicitação de assinatura de certificado (CSR) para a CA raiz:
openssl req -new -out root.csr -key root.keyQuando solicitado, insira os campos do certificado. Exemplo:
Country Name (2 letter code) [XX]:cn State or Province Name (full name) []:bj Locality Name (eg, city) [Default City]:bj Organization Name (eg, company) [Default Company Ltd]:alibaba Organizational Unit Name (eg, section) []:test Common Name (eg, your name or your servers hostname) []:root Email Address []:a****@example.com A challenge password []: An optional company name []: -
Gere o certificado da CA raiz:
openssl x509 -req -in root.csr -out root.crt -signkey root.key -CAcreateserial -days 3650Exemplo de saída:

-
Verifique os arquivos gerados:
lsConfirme se
root.crt(certificado da CA raiz) eroot.key(chave privada da CA raiz) estão presentes. Baixe esses arquivos para o seu computador local — você fará o upload deles no Certificate Management Service em uma etapa posterior.
Etapa 2b: Gerar certificados de cliente a partir da CA raiz
-
Gere uma chave privada de cliente:
openssl genrsa -out client.key 4096 -
Crie uma CSR para o certificado de cliente:
openssl req -new -out client.csr -key client.keyQuando solicitado, insira os campos do certificado. O CN deve ser exclusivo — diferente da CA raiz, do certificado do servidor e de quaisquer outros certificados de cliente:
Country Name (2 letter code) [XX]:cn State or Province Name (full name) []:bj Locality Name (eg, city) [Default City]:bj Organization Name (eg, company) [Default Company Ltd]:alibaba Organizational Unit Name (eg, section) []:test Common Name (eg, your name or your servers hostname) []:client-alb-user Email Address []:username@example.com A challenge password []: An optional company name []: -
Assine o certificado de cliente usando a CA raiz:
openssl x509 -req -in client.csr -out client.crt -CA root.crt -CAkey root.key -CAcreateserial -days 3650Exemplo de saída:

-
Converta o certificado de cliente para o formato PKCS12 (
.p12) para que os navegadores possam reconhecê-lo. Insira a senha de criptografia da chave privada do cliente quando solicitado:openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12 -
Verifique a saída:
lsConfirme se
client.p12está presente. Baixe o arquivo para o seu computador local para distribuir aos clientes posteriormente.
Etapa 2c: Carregar o certificado de CA raiz autoassinado no Certificate Management Service
Faça login no console do Certificate Management Service.
No painel de navegação à esquerda, escolha Certificate And Domain Name Application Service > Certificate Application Repository.
-
Na página Certificate Application Repository, clique em Create Repository. No painel, defina Data Source como Upload CA Certificates e clique em OK.

Clique no repositório de certificados recém-criado.
Na página Official Certificate, clique em Uploaded Certificate. No painel CA Information, faça o upload de
root.crte clique em Confirm and Enable.
Etapa 2: Adicionar um domínio ao Anti-DDoS Proxy e ativar a autenticação mútua
Faça login na página Website Config no console do Anti-DDoS Proxy.
-
Na barra de navegação superior, selecione a região da sua instância:
Anti-DDoS Proxy (Chinese Mainland): Selecione Chinese Mainland.
Anti-DDoS Proxy (Outside Chinese Mainland): Selecione Outside Chinese Mainland.
-
Clique em Add Website e siga as instruções para adicionar o domínio. Na área de configuração relacionada ao protocolo HTTPS, selecione Mutual Authentication e escolha o certificado da CA com base na origem do seu certificado.
Este tópico aborda apenas a configuração de autenticação mútua. Para todas as outras configurações, consulte Adicionar um site .

-
Após concluir a configuração, copie o endereço CNAME do Anti-DDoS Proxy.

Etapa 3: Configurar a resolução de nome de domínio
Aponte seu domínio para o Anti-DDoS Proxy criando um registro CNAME. O exemplo a seguir usa o Alibaba Cloud DNS. Os passos são semelhantes para outros provedores de DNS.
Faça login no console do Alibaba Cloud DNS.
Na página Authoritative DNS Resolution, localize seu domínio e clique em DNS Settings na coluna Actions.
-
Na página DNS Settings, localize o registro DNS a ser modificado e clique em Edit na coluna Actions. Defina Record Type como CNAME e Record Value como o endereço CNAME do Anti-DDoS Proxy. Mantenha os valores padrão para outros parâmetros ou ajuste-os conforme necessário.
Se o registro não estiver listado, clique em Add DNS Record para criar um.

Clique em OK e aguarde a propagação da alteração de DNS.
Etapa 4: Testar a autenticação mútua
Este exemplo utiliza o Chrome em um cliente Windows.
Instale o certificado de cliente no dispositivo cliente. Clique duas vezes no arquivo de certificado de cliente baixado (
.pfxou.p12) e siga as instruções de importação de certificado do sistema para concluir a instalação.No Chrome, acesse
https://<your domain name>. Quando a caixa de diálogo de seleção de certificado aparecer, selecione o certificado de cliente.Atualize o navegador e verifique se o cliente consegue acessar o domínio.

O certificado é emitido imediatamente após o envio. Clique em Certificates na coluna Actions para visualizar os detalhes do certificado.
O pacote baixado contém um arquivo de certificado de cliente 