Skip to main content

3 grandes vulnerabilidades do Amazon S3 que talvez estejam passando despercebidas

Escrito por

21 de maio de 2020

0 minutos de leitura

Quando ocorre um vazamento de dados envolvendo o Amazon Web Services (AWS), na maioria das vezes o serviço de armazenamento de objetos Amazon S3 está envolvido. Ele é extremamente popular. Lançado em 2006, quando poucas pessoas sabiam o que era a nuvem, o S3 é altamente escalável, confiável e fácil de usar. Mas acertar na segurança do S3 — e garantir que ela continue assim — ainda é um desafio para muitos clientes da AWS.

Como era de se esperar de um serviço de nuvem popular que existe há quase uma década e meia, o S3 passou por inúmeras mudanças à medida que novos recursos foram adicionados. Com o tempo, as funcionalidades extras também criaram camadas de segurança mais complexas, que precisam ser consideradas na gestão da postura de segurança na nuvem (CSPM).

Antes de nos aprofundarmos nas camadas de segurança do S3 na próxima Cloud Security Masterclass (inscreva-se aqui), queremos dar uma olhada rápida em três formas comuns de clientes da AWS colocarem dados do S3 em risco sem perceber.

Vulnerabilidade nº 1: permissões de listagem em recursos computacionais

Quando um invasor consegue acessar seu ambiente de nuvem, a primeira coisa que ele quer fazer é descobrir se há algo que valha a pena roubar. Para a sorte dele, clientes da AWS costumam usar permissões de listagem em instâncias EC2 ou contêineres. Dependendo das permissões concedidas, elas podem permitir que o invasor veja quais outros recursos da AWS existem na conta e quais funções do IAM ele pode assumir para acessá-los.

Há poucos motivos para permitir permissões de listagem em instâncias EC2. Por isso, você deve aplicar uma política que as proíba.

Vulnerabilidade nº 2: confiar demais no IAM para impedir o roubo de dados

O serviço AWS Identity and Access Management (IAM) deve ser considerado um recurso crítico de segurança em todos os ambientes da AWS. Por isso, você deve acompanhar de perto as configurações do IAM e receber notificações sempre que elas forem alteradas.

Ainda assim, mesmo que as configurações dos recursos do IAM estejam seguras graças à aplicação do princípio do menor privilégio, agentes mal-intencionados podem contornar essas proteções e roubar dados do S3. Configurar o IAM corretamente não significa que você pode ignorar as configurações dos buckets do S3.

Em vez de depender apenas de uma configuração adequada do IAM, use políticas de bucket do S3 para restringir o acesso diretamente no bucket.

Vulnerabilidade nº 3: buckets do S3 não públicos que contêm objetos públicos

Quando o assunto é segurança do S3, a primeira coisa que costuma vir à mente é se o acesso público a um determinado bucket está bloqueado ou permitido. Você talvez suponha que, ao armazenar informações confidenciais em um bucket do S3, basta desativar o acesso público. Mas muitos clientes da AWS cometem esse erro.

Corey Quinn, apresentador do podcast “Screaming in the Cloud” e autor do boletim por e-mail “Last Week in AWS”, costuma conceder os Prêmios de Negligência com Buckets do S3. A AWS também adicionou um alerta no console para avisar quando um bucket permite acesso público.

Embora existam motivos legítimos para permitir acesso público a um bucket do S3 (muitos sites são hospedados no S3), a maioria dos buckets não deve permitir esse tipo de acesso, e essa configuração é um bom ponto de partida. No entanto, é possível ter objetos públicos em um bucket do S3 não público. A AWS explica como fazer isso aqui.

Mas muitas vezes isso acontece por engano, expondo dados confidenciais em um bucket do S3 que, de resto, está seguro — e dando a você uma falsa sensação de segurança em relação a todos os dados armazenados nele.

Como proteger seu Amazon S3

O Amazon S3 é extremamente flexível e fácil de usar, mas sua segurança é mais complexa. Para configurá-la corretamente, é preciso entender melhor as camadas de opções de segurança do S3 e o contexto completo do seu caso de uso na nuvem.

Segurança de IaC pensada para quem desenvolve

A Snyk protege sua infraestrutura como código do ciclo de vida do desenvolvimento de software até a execução na nuvem, com um mecanismo unificado de políticas como código para que todas as equipes possam desenvolver, implantar e operar com segurança.