Como faço para impor o uso do TLS 1.2 ou posterior para os buckets do Amazon S3?
Meus clientes usam versões anteriores do TLS. Ao acessar o conteúdo dos buckets do Amazon Simple Storage Service (Amazon S3), quero impor o uso de uma versão recente do TLS.
Breve descrição
É uma prática recomendada usar protocolos de criptografia modernos para dados em trânsito. Para impor o uso da versão 1.2 ou posterior do TLS para conexões com o Amazon S3, atualize a política de segurança do bucket.
Observação: os clientes devem usar a versão 1.2 ou posterior do TLS para acessar o conteúdo armazenado nos buckets do S3.
Para obter mais informações sobre a descontinuação das versões do TLS para a AWS, consulte TLS 1.2 to become the minimum TLS protocol level for all AWS API endpoints.
Resolução
Use uma política baseada em recursos anexada ao bucket para impor o uso do TLS 1.2 ou posterior para todas as conexões com os seus buckets do S3.
Para anexar uma política de bucket que exija as versões 1.2 ou posteriores do TLS, realize as seguintes etapas:
-
Abra o console do Amazon S3.
-
Selecione o bucket na lista.
-
Escolha a guia Permissões.
-
Em Política de bucket, escolha Editar.
-
Adicione uma política para negar o acesso aos protocolos de criptografia que você deseja evitar. Por exemplo, use a política a seguir para negar todas as solicitações HTTPS que usam versões TLS anteriores à 1.2:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceTLSv12orHigher", "Principal": { "AWS": "*" }, "Action": [ "s3:*" ], "Effect": "Deny", "Resource": [ "arn:aws:s3:::DOC_EXAMPLE_BUCKET/*", "arn:aws:s3:::DOC_EXAMPLE_BUCKET" ], "Condition": { "NumericLessThan": { "s3:TlsVersion": 1.2 } } } ] }
Essa política impõe HTTPS para aumentar a segurança dos dados em trânsito.
Se a sua workload exigir tráfego HTTP para o Amazon S3, use a política a seguir. Essa política permite tráfego HTTP e bloqueia o tráfego HTTPS de versões do TLS anteriores à 1.2:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "UpdateTLSv12", "Effect": "Deny", "Principal": { "AWS": "*" }, "Action": "s3:*", "Resource": "arn:aws:s3:::DOC_EXAMPLE_BUCKET/*", "Condition": { "Bool": { "aws:SecureTransport": "true" }, "NumericLessThan": { "s3:TlsVersion": "1.2" } } } ] }
Confirme se está usando protocolos de criptografia modernos para o Amazon S3
Para testar a nova política, execute o seguinte exemplo de comando curl para fazer solicitações HTTPS usando um protocolo herdado específico:
curl https://${BUCKET\_NAME}.s3.us-east-1.amazonaws.com/image.png -v --tlsv1.0 --tls-max 1.0
O comando curl de exemplo retorna Acesso negado porque o Amazon S3 detecta que sua solicitação não usa a versão 1.2 ou posterior do TLS.
Observação: por padrão, o curl envia uma solicitação anônima. Se seu bucket for privado, você receberá um erro 403 Access Denied para qualquer versão do TLS. Ao testar com curl, gere um URL pré-assinado do Amazon S3 para obter acesso aos seus objetos privados.
É uma prática recomendada usar o AWS CloudTrail Lake para identificar conexões de versões mais antigas do TLS com endpoints de serviço da AWS. Você pode configurar o armazenamento de dados de eventos do CloudTrail Lake para capturar eventos de gerenciamento ou de dados.
Conteúdo relevante
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 20 dias
- AWS OFICIALAtualizada há 4 meses
- AWS OFICIALAtualizada há 2 anos