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. Usando a TLS mútua, você pode 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 certificado em locais da borda da AWS, eliminando a complexidade da autenticação de seus servidores de origem e 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.
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 a respectiva autenticidade e, ao mesmo tempo, 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.