Autenticação TLS mútua com o CloudFront (mTLS de visualizador)
A autenticação TLS mútua (autenticação Transport Layer Security mútua ou mTLS) é um protocolo de segurança que estende a autenticação TLS padrão exigindo autenticação bidirecional baseada em certificado, em que tanto o cliente quanto o servidor devem provar sua identidade antes de estabelecer uma conexão segura. Com o TLS mútuo, é possível garantir que somente clientes que apresentem certificados TLS confiáveis tenham acesso às suas distribuições do CloudFront.
Como funciona
Em um handshake do TLS padrão, somente o servidor apresenta um certificado para provar sua identidade ao cliente. Com a TLS mútua, o processo de autenticação se torna bidirecional. Quando um cliente tenta se conectar a uma distribuição do CloudFront, o CloudFront solicita um certificado de cliente durante o handshake do TLS. Antes de estabelecer uma conexão segura, o cliente deve apresentar um certificado X.509 válido que o CloudFront valida em relação ao armazenamento confiável que você configurou.
O CloudFront realiza essa validação de certificados nos locais da borda da AWS, transferindo a complexidade da autenticação dos servidores de origem e, ao mesmo tempo, mantendo os benefícios de desempenho global do CloudFront. Você pode configurar o mTLS em três modos:
-
Modo obrigatório (padrão) — O CloudFront valida o certificado do cliente em relação a um armazenamento confiável. Se a validação falhar ou nenhum certificado for apresentado, o CloudFront negará a conexão. Use o modo obrigatório quando cada cliente precisar se autenticar com um certificado válido.
-
Modo opcional — O CloudFront valida o certificado do cliente se um for apresentado, mas permite conexões sem um certificado. Os metadados do certificado estão disponíveis nas Funções de Conexão e nos cabeçalhos HTTP de sua origem para tomar decisões de autorização. Use o modo opcional quando você precisar oferecer suporte a clientes autenticados e não autenticados.
-
Modo de passagem — O CloudFront não valida o certificado do cliente em relação a um armazenamento confiável. O CloudFront só valida se o cliente possui a chave privada correspondente. Ele encaminha o certificado para sua origem como cabeçalhos HTTP para que a origem realize a validação. Nenhum armazenamento confiável é necessário e nenhum armazenamento em cache ocorre. Use o modo de passagem quando você tiver implementações mTLS existentes na origem.
Consulte mais informações sobre esses modos de validação em Modos adicionais de validação.
Casos de uso
A autenticação TLS mútua com o CloudFront atende a vários cenários críticos de segurança em que os métodos tradicionais de autenticação são insuficientes:
-
Autenticação de dispositivos com armazenamento em cache de conteúdo: é possível autenticar consoles de jogos, dispositivos de IoT ou hardware empresarial antes de permitir o acesso a atualizações de firmware, downloads de jogos ou recursos internos. Cada dispositivo contém um certificado exclusivo que comprova sua autenticidade, ao mesmo tempo que se beneficia dos recursos de armazenamento em cache do CloudFront.
-
Autenticação de API para API: é possível proteger a comunicação de máquina para máquina entre parceiros comerciais confiáveis, sistemas de pagamento ou microsserviços. A autenticação baseada em certificado elimina a necessidade de segredos compartilhados ou chaves de API, além de fornecer uma verificação de identidade forte para trocas automatizadas de dados.