Defesa Avançada de Buckets S3

Visão geral

Neste artigo, falarei sobre como você pode aumentar o nível de segurança de seus buckets AWS S3, validando qualquer configuração incorreta possível, desde o momento da criação do  bucket até o momento em que que você carregará os objetos e os armazenará nos buckets. Além disso, vamos falar de como você pode proteger o objeto de dados que está carregando e armazenando em buckets AWS S3 contra malwares e ransomwares.

A AWS fornece armazenamento de objetos desde 2006 como parte integrante das necessidades de infraestrutura de nuvem da AWS de seus clientes. Os buckets do Amazon Simple Storage Services (S3) oferecem uma maneira muito simples para muitas organizações em todo o mundo armazenar dados internos e de clientes de aplicações, backups e muitos outros requisitos comerciais que precisam armazenar objetos.

 

O modelo de responsabilidade compartilhada

Segurança e conformidade são responsabilidades compartilhadas entre a AWS e o cliente. Embora a AWS forneça verificações críticas de configuração para proteger seus buckets, você já considerou suas responsabilidades como cliente em relação a este serviço?

É importante lembrar que cada serviço da AWS deve ser considerado dentro do modelo de responsabilidade compartilhada, onde a AWS assume a responsabilidade pela segurança de camadas específicas nos serviços de nuvem, mas o cliente é responsável pela segurança das outras camadas. O nível de responsabilidade atribuído aos clientes e provedores de serviços em nuvem muda com base no tipo de serviço em nuvem que está sendo consumido em SaaS, PaaS e IaaS. Vejamos um exemplo:

Fonte: https://aws.amazon.com/compliance/shared-responsibility-model/

Neste artigo, vamos nos concentrar no Amazon S3 e no modelo de responsabilidade compartilhada para o serviço Amazon S3. Como o S3 é considerado um PaaS (Platform as a Services), há algumas coisas que são diferentes da imagem do modelo de responsabilidade compartilhada de Infrastructure as a Service (IaaS) acima:

 

Como usuário do Amazon S3, é sua responsabilidade considerar os seguintes requisitos de segurança:

  • Defina o acesso menos privilegiado ao bucket e revise continuamente essas permissões em todos eles
  • Habilitar criptografia
  • Ative a recuperação de dados para ajudar a atender aos requisitos de conformidade
  • Ative proteção de objetos sobrescritos
  • Defina tags para melhor rotular, coletar e organizar os recursos disponíveis em seu ambiente AWS
  • Habilite “Bloquear Acesso Público” para buckets que nunca devem ser públicos
  • Certifique-se de que os buckets S3 estão aplicando SSL para proteger os dados em trânsito
  • Certifique-se de que o acesso de registro está habilitado para rastrear solicitações de acesso
  • Valide se as informações armazenadas são seguras e não contêm código malicioso oculto como malware ou ransomware

Você pode estar se perguntando, como você audita e valida se essas políticas e controles de segurança são implementados em sua arquitetura com AWS S3? Ou os usuários têm visibilidade de quaisquer alterações que possam ocorrer neste e em outros serviços em nuvem que indiquem uma política e/ou violação de conformidade? Como uma violação dessas políticas afetaria seus negócios e qual é o risco potencial?

Estas são algumas questões importantes para se pensar ao consumir serviços em nuvem. O exemplo fornecido é para o serviço (de armazenamento) do AWS S3, no entanto, esses conceitos se aplicam a todos os serviços da AWS que você está usando hoje. Portanto, aqui estão duas maneiras de ajudá-lo a validar essas políticas de segurança:

Visibilidade de configuração incorreta em todo o pipeline de IaC até a produção

Primeiro você pode implantar uma tecnologia para ajudá-lo a monitorar configurações incorretas em tempo real em todos os buckets S3 e todos os outros serviços da AWS. Também é importante que essa tecnologia suporte a abordagem de “shift left” para a segurança, integrando-se à infraestrutura como código (IaC) com templates do AWS CloudFormation. Isso permite que você identifique e detecte quaisquer possíveis configurações incorretas nos primeiros estágios da criação de uma nova infraestrutura.

Se você está interessado em criar seu ambiente, aqui está um repositório Git com CloudFormation para automatizar esse processo para você: https://github.com/fernandostc/AWS_IaC_pipeline_with_Security

Ambiente de Desenvolvimento Integrado (IDE) — Plug-in de Segurança

O plug-in de segurança IDE foi projetado para levar rapidamente feedback em tempo real para desenvolvedores no modelo de infraestrutura como código (IaC). Dessa forma, um desenvolvedor pode verificar e corrigir problemas em seu espaço de trabalho IDE atual para ajudá-lo a evitar a configuração incorreta em torno de diferentes serviços da AWS e para seguir a prática recomendada do AWS Well-Architected Fframework.

Os benefícios de detectar problemas de segurança no início são enormes. Ajuda a economizar tempo, dinheiro e reduz os riscos para o negócio. Ao introduzir verificações de segurança e validação na primeira etapa do processo de construção de infraestrutura (modelos IaC), você pode reduzir o atrito para a equipe de desenvolvimento e operações, aumentando, portanto, a adoção dessa abordagem de “shift left” para a segurança.

Na imagem abaixo, há alguns exemplos de como reconhecer quais configurações de práticas recomendadas você pode perder ao criar seus AWS S3 Buckets antes de criá-los na produção:

Link para o plug-in VSCode: Cloud Conformity Template Scanner Extension

Template Scanner

Os Template Scanners usam APIs diretas com CSPM (Cloud Security Posture Management) para integrar ferramentas personalizadas ou casos de uso específicos em pipelines de integração contínua/deploy contínuo (CI/CD). Eles podem fornecer verificações em tempo real sempre que você lançar um novo modelo, e os resultados podem ser compartilhados com desenvolvedores e arquitetos de nuvem que podem verificar quaisquer problemas potenciais antes da produção. Se as varreduras encontrarem um problema “Extremo” ou de “Alto Risco”, por exemplo, ele pode ser configurado para interromper a implantação da nova infraestrutura e notificar a equipe de desenvolvimento por meio do Slack, Jira, ServiceNow, PagerDuty e outras ferramentas de notificação de terceiros, por exemplo.

O exemplo abaixo mostra como você pode detectar qualquer configuração incorreta em buckets AWS S3 durante o pipeline de CI/CD antes de criar o template CloudFormation em sua conta AWS:

Cloud Security Posture Management (CSPM)

A solução de CSPM da Trend Micro é chamada de Cloud One – Conformity, e é uma ferramenta de segurança que detecta erros de configuração em vários provedores de serviços em nuvem. Essa tecnologia foi projetada principalmente para superar o grande desafio de trazer visibilidade aos riscos de política e segurança em seu ambiente de nuvem mapeando as descobertas em relação a vários padrões de conformidade, incluindo, mas não se limitando a: PCI-DSS, HIPAA, HITRUST, NIST-800–53 e Well-Architected Framework da AWS. Esse tipo de solução também tem recursos para ajudar na correção automática nas configurações e políticas da infraestrutura de nuvem ao detectar alguns erros de configuração críticos. Ele pode ajudar as organizações a desenvolver uma imagem abrangente para riscos de segurança e conformidade em ambientes com várias nuvens e introduzir um processo para resposta mais rápida e remediação de riscos relacionados a serviços de infraestrutura em nuvem. As ferramentas de segurança CSPM também podem incluir os seguintes casos de uso:

– Monitoramento de Conformidade

– Visibilidade de Configuração Incorreta da Nuvem

– Integração DevOps

– Avaliação de Risco

– Integração a Sistemas de Emissão de Tickets e Notificações

Aqui está um bom exemplo de como uma solução CSPM pode ajudá-lo com a visibilidade granular de possível configuração incorreta em Buckets S3:

Fonte: Trend Micro Cloud One – Conformity

 

O exemplo acima não verifica apenas o pilar de Segurança no Well-Architected Framework da AWS, mas também a Confiabilidade, a Otimização de Custos e a Eficiência de Desempenho.

Verificando possíveis objetos maliciosos

Em segundo lugar, você quer certificar-se de que cada arquivo que seus sistemas e aplicações carregam em buckets S3 sejam verificados por um mecanismo de malware antes ou logo depois de armazenar o objeto no buckets. Isso ajudará a evitar que malwares cheguem à sua organização e afetem os workflows downstream ou sejam redirecionados para clientes ou fontes externas e páginas da web. Esta é uma arquitetura simples que mostra como você pode implementar processos de segurança usando soluções nativas da nuvem:

Fonte: Trend Micro Cloud One — File Storage Security

Depois que um arquivo chega ao buckets S3, você pode apenas marcar os objetos como no exemplo abaixo ou pode criar ações específicas chamadas “post scans” para ajudar a automatizar os casos de uso de incidentes e respostas para possíveis objetos maliciosos que podem ser recebidos por sua aplicação e armazenados nos buckets S3. Isso pode ser totalmente automatizado e sem interação humana, ajudando sua organização a aumentar o nível de segurança e conformidade em seus buckets S3 além do que você pode ter hoje.

Possibilidade de segregar o bucket que receberá o arquivo e as ações de postagem se for seguro ou malicioso

Arquivo marcado após ter sido detectado como malicioso

Aqui estão algumas opções avançadas oferecidas quando você está usando a solução File Storage Security.

Exemplo do Happy Path App

James Beswick da AWS mostrou, em sua série de artigos, como criar um novo aplicativo web chamado Happy Path, aqui está o repositório Git.

Neste exemplo de aplicativo da web comum usando AWS Lambda, AWS S3 Buckets, funções AWS Step e muitos outros serviços da AWS. Isso pode nos ajudar a ilustrar como você pode começar a usar alguns dos conceitos que eu trouxe antes neste artigo:

Fonte: https://aws.amazon.com/blogs/compute/using-serverless-backends-to-iterate-quickly-on-web-apps-part-2/

Imagine que você tenha um pipeline IaC (Infraestrutura como Código) totalmente automatizado para construir este artigo e continuar melhorando a infraestrutura para executar seu aplicativo da web chamado Happy Path. Como uma maneira de continuar improvisando seu ambiente associado ao Well-Architected Framework da AWS ou quaisquer frameworks de conformidade e padrão, você pode integrar o plug-in de segurança em seu IDE e integrar o template scanner em seu pipeline de CI/CD para receber feedback em tempo real sobre quaisquer atualizações ou possíveis melhorias em sua infraestrutura de nuvem. Será algo assim:

 

Outra boa maneira de manter a visibilidade total sobre os serviços da AWS que você estará executando para qualquer possível configuração incorreta é uma solução CSPM ou Cloud One – Conformity para ajudá-lo com feedback em tempo real para sua nuvem e equipe de DevOps sobre qualquer mudança que possa gerar uma falta de conformidade em seu ambiente ou que pode criar alguns desvios em comparação com as práticas recomendadas nas quais sua organização se baseia.

Todas essas integrações mencionadas antes não podiam apenas detectar configurações incorretas no bucket AWS S3 como muitos outros serviços da AWS também.

A última peça aqui que poderíamos integrar como uma proteção adicional para o bucket  AWS S3 será adicionar uma solução de verificação de malware para todos os arquivos carregados pelos usuários e que será direcionada para o bucket de Upload no diagrama do app Happy Path antes de acionar o envio de um evento de Lambda.

No diagrama abaixo, você pode ver a área cinza desbotada onde poderíamos facilmente anexar o Cloud One – File Storage Security para iniciar a verificação de qualquer novo objeto e criar automaticamente uma pós-ação para mover o arquivo para um bucket de quarentena se ele for reconhecido como conteúdo malicioso ou mover para um bucket de promoção se o arquivo for reconhecido como seguro. Desta forma, você pode garantir que seu aplicativo estará processando documentos e objetos seguros que serão compartilhados com seu cliente ou parceiros.

Conclusão

É muito importante considerar o Modelo de Responsabilidade Compartilhada da AWS e entender suas responsabilidades de segurança com os serviços da AWS que você planeja usar. Com base neste modelo, você pode usar as ferramentas nativas da AWS ou encontrar uma solução de terceiros que esteja totalmente integrada à AWS para fornecer a automação e a visibilidade necessárias para gerenciar adequadamente as configurações incorretas da nuvem. Essas soluções estão disponíveis no AWS Marketplace e podem ajudar a reduzir o tempo gasto no gerenciamento da infraestrutura ao usar SaaS ou tecnologias nativas da nuvem. Espero que você tenha achado este artigo útil e sinta-se à vontade para entrar em contato comigo para qualquer feedback.

Recursos adicionais:

Práticas recomendadas e diretrizes de segurança para Amazon S3:

Guia para Proteger Workloads de Armazenamento de Objetos com o Trend Micro Cloud One™ – File Storage Security:

 Publicado Originalmente no https://medium.com/geekculture/defending-in-depth-s3-buckets-66883620ea4c

 

Category: Cloud
Tags: , ,

Categorias

Veja outras publicações

Menu