Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Visão geral sobre serviços de segurança na AWS

Visão geral sobre serviços de segurança na AWS

Apresentação realizada no Cloud Summit Cerrado em Junho de 2021.

Marcelo Palladino

June 16, 2021
Tweet

More Decks by Marcelo Palladino

Other Decks in Technology

Transcript

  1. Visão geral sobre serviços de segurança na AWS junho 2021

    Marcelo Palladino – Software Engineer @ Hi Platform AWS User Group São Paulo AWS Community Hero User Groups AWS
  2. A jornada para a nuvem • Início • Inovação •

    Agilidade • Liberdade • Durante a execução • Evitar ações que possam causar danos • Criar e estimular cultura de segurança • Conceder o menor privilégio possível
  3. Agenda • Fundamentos de segurança & Identidade e controle de

    acesso • Detecção • Proteção de infraestrutura • Proteção de dados
  4. Uma visão orientada a “causos”, sobre os serviços de segurança

    na AWS Causo Substantivo masculino INFORMAL * BRASILEIRISMO • Relato curto de um acontecimento; conto, caso. • Aquilo que realmente ocorreu; sucedido.
  5. “Não sei, só sei que foi assim.” Ariano Suassuna (em

    o Auto da Compadecida) Dramaturgo, romancista, ensaísta, poeta, professor e advogado brasileiro
  6. “O causo do desenvolvedor que tinha uma conta ativa, mesmo

    dois meses depois de ter deixado sua cadeira cativa.”
  7. Mitigação Criar uma conta de gerenciamento, centralizar os controles e

    logins • AWS Organizations - Criar uma conta de gerenciamento • Centralizar as contas de usuários - SSO - Forçar logins seguros AWS Organizations Conta de gerenciamento AWS Organizations AWS Single Sign-On Conta de desenvolvimento Conta de produção MFA IAM (users)
  8. OU Identidade IAM Users & SSO CloudFormation EC2 Lambda S3

    Secrets Manager RDS Organizations Gerenciamento Log (archive) Operações Desenvolvimento Produção S3 EC2 Lambda Secrets Manager RDS S3 GuardDuty Config Trusted Advisor Well-Architected Tool Budgets Usage Report Cost Explorer https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/wellarchitected-security-pillar.pdf OU Exemplo de organização com serviços separados por conta, conforme seu objetivo
  9. “O causo da aplicação que utilizava um usuário para acessar

    recursos na AWS e armazenava suas credenciais de produção em um arquivo XML, que estava disponível em um repositório do git, em um cenário perfeito para levar a conta para o UML.”
  10. Problema Além de não serem temporárias, as credenciais não são

    utilizadas e armazenadas de forma segura <appSettings> <add key="AccessKeyId" value="AKIAIOSFODNN7" /> <add key="SecretAccessKey" value="CalIFUtnDAFEMI/K7RDONG/bAxRfiCGEXAMPNEKOY" /> </appSettings>
  11. Mitigação Utilizar roles e AWS STS AWS Organizations Conta de

    gerenciamento AWS Organizations AWS Single Sign-On Conta de desenvolvimento Conta de produção MFA IAM (users) IAM (roles) IAM (roles) S3 (Dados) S3 (Dados) AWS STS
  12. AWS Security Token Service (AWS STS) Gerenciamento Produção (IAM User

    ou aplicação/ serviço) (IAM Role) S3 (dados) AssumeRole (ALBS3ReaderAccessRole) Credenciais temporárias Acesso com credenciais temporárias
  13. Mitigação Armazenar/usar segredos de forma segura AWS Organizations Conta de

    gerenciamento AWS Organizations AWS Single Sign-On * Contas de negócio MFA IAM (users) IAM (roles) S3 (Dados) AWS STS AWS Secrets Manager * Contas de negócio = desenvolvimento/homologação/produção/etc AWS Systems Manager Parameter store
  14. “O causo da aplicação que só precisava acessar um bucket

    S3 de log, e ganhou direitos para atentar contra a própria sorte.”
  15. Problema O bucket não está devidamente isolado conforme o caso

    de uso e a permissão não é a mais restritiva possível { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:*", "Resource": "*" } ] }
  16. Mitigação Criação de uma conta de logs para manter as

    pessoas LONGE dos dados AWS Organizations Conta de gerenciamento AWS Organizations AWS Single Sign-On Contas de negócio MFA IAM (users) IAM (roles) Conta de logs S3 (ELB logs) IAM (roles) S3 (Dados) AWS STS AWS Secrets Manager AWS Systems Manager Parameter store
  17. Mitigação Configurar o bucket com uma política de segurança para

    conceder o menor privilégio { "Version": "2012-10-17", "Statement": [ { "Sid": "PermiteConsultarElbLogPeloAthena", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::11245523436:role/LeitorDeLogRole"}, "Action": ["s3:GetObject", "s3:GetBucketLocation"], "Resource": ["arn:s3:::meus-logs-elb", "arn:s3:::meus-logs-elb/*"], "Condition": { "ForAnyValue:StringEquals":{ "aws:CalledVia":["athena.amazonaws.com"] }}} ] }
  18. Mitigação Revisar os acessos utilizando AWS IAM access analyzer e

    conceder sempre o menor privilégio possível AWS Organizations Conta de gerenciamento AWS Organizations AWS Single Sign-On Contas de negócio MFA IAM (users) IAM (roles) Conta de logs S3 (ELB logs) IAM (roles) S3 (Dados) AWS STS AWS Secrets Manager AWS IAM Access Analyzer AWS Systems Manager Parameter store
  19. Fundamentos de segurança & Identidade e controle de acesso: Melhores

    práticas • Separar as cargas de trabalho utilizando contas • Centralizar o provedor de identidades • Utilizar mecanismos de login fortes • Utilizar credenciais temporárias • Armazenar e utilizar segredos de forma segura • Analisar cuidadosamente acessos públicos e entre contas • Conceder o menor privilégio possível
  20. “O causo das dezenas de instâncias EC2 com ip’s públicos

    que estavam permitindo acesso SSH e ICMP de qualquer lugar, para pessoas poderem brincar.”
  21. AWS Organizations Conta de gerenciamento AWS Organizations AWS Single Sign-On

    Contas de negócio MFA IAM (users) IAM (roles) Conta de logs S3 (ELB logs) IAM (roles) S3 (Dados) AWS STS AWS IAM Access Analyzer AWS Secrets Manager Problema A configuração dos recursos AWS não é auditável, monitorada e avaliada de forma contínua Security group VPC
  22. AWS Organizations Conta de gerenciamento AWS Organizations AWS Single Sign-On

    Contas de negócio MFA IAM (users) IAM (roles) Conta de logs S3 (ALB logs) IAM (roles) S3 (Dados) AWS STS Conta de operações AWS Config S3 (Config) AWS CloudTrail S3 (Trail) AWS Config (visão agregada) AWS IAM Access Analyzer AWS Secrets Manager Mitigação Habilitar CloudTrail, AWS Config e configurar regras com base na configuração desejada AWS Config AWS CloudTrail AWS CloudTrail AWS CloudTrail AWS Config Security group VPC
  23. “O causo da instância EC2 comprometida que só foi descoberta

    após a troça da pessoa intrometida.”
  24. AWS Organizations Conta de gerenciamento AWS Organizations AWS Single Sign-On

    Contas de negócio MFA IAM (users) IAM (roles) Conta de logs S3 (ELB logs) IAM (roles) S3 (Dados) AWS STS Conta de operações AWS Config S3 (Config) AWS CloudTrail S3 (Trail) AWS Config (visão agregada) AWS IAM Access Analyzer AWS Secrets Manager Problema O perímetro não é monitorado continuamente AWS Config AWS CloudTrail AWS CloudTrail AWS CloudTrail AWS Config Security group VPC Public subnet Instance EC2 comprometida
  25. AWS Organizations Conta de gerenciamento AWS Organizations AWS Single Sign-On

    Contas de negócio MFA IAM (users) IAM (roles) Conta de logs S3 (ELB logs) IAM (roles) S3 (Dados) AWS STS Conta de operações AWS Config S3 (Config) AWS CloudTrail S3 (Trail) AWS Config (visão agregada) AWS IAM Access Analyzer AWS Secrets Manager Mitigação Além do CloudTrail, ativar DNS logs, VPC flow logs e utilizar o Amazon GuardDuty para monitorar a segurança utilizando estas fontes de dados AWS Config AWS CloudTrail AWS CloudTrail AWS CloudTrail AWS Config Security group VPC Public subnet Instance EC2 comprometida S3 (VPC flow logs) Amazon GuardDuty (membro) Amazon GuardDuty (administrador) AWS Security Hub AWS Security Hub
  26. Detecção: Melhores práticas • Configurar logs de serviços e aplicações

    • Analisar logs, descobertas e métricas de forma centralizada
  27. “O causo da aplicação que tinha todos os seus recursos

    acessíveis publicamente. Até mesmo um banco de dados (!), infelizmente.”
  28. Problema Não há níveis de rede, o tráfego não é

    controlado, a área de ataque é muito grande, não há qualquer tipo de inspeção Conta de produção VPC Public subnet Application Load Balancer Instance Instance Instance RDS (MySQL) Route 53 (www.xpto.com)
  29. Mitigação Criação de camadas de rede e utilização de serviços

    distribuídos globalmente Conta de produção VPC Público (balanceador de carga) Application Load Balancer RDS (MySQL) Route 53 (www.xpto.com) Amazon CloudFront AWS WAF Somente saída (Compartilhado) Privado (Aplicação) Privado (Banco de dados) Auto Scaling Group Instances NAT gateway
  30. Mitigação Controlar o tráfego em todas as camadas Conta de

    produção VPC Público (balanceador de carga) Application Load Balancer RDS (MySQL) Route 53 (www.xpto.com) Amazon CloudFront AWS WAF Somente saída (Compartilhado) Privado (Aplicação) Privado (Banco de dados) Auto Scaling Group Instances NAT gateway Route Table NACL Route Table NACL Route Table NACL Route Table NACL
  31. Mitigação Diminuir a área de ataque Conta de produção VPC

    Público (balanceador de carga) Application Load Balancer RDS (MySQL) Route 53 (www.xpto.com) Amazon CloudFront AWS WAF Somente saída (Compartilhado) Privado (Aplicação) Privado (Banco de dados) Auto Scaling Group Instances NAT gateway Route Table NACL Route Table NACL Route Table NACL Route Table NACL AWS Systems Manager Endpoints Endpoints
  32. Mitigação Implementar inspeção e proteção e gerenciamento de vulnerabilidades Conta

    de produção VPC Público (balanceador de carga) Application Load Balancer RDS (MySQL) Route 53 (www.xpto.com) Amazon CloudFront AWS WAF Somente saída (Compartilhado) Privado (Aplicação) Privado (Banco de dados) Auto Scaling Group Instances NAT gateway Route Table NACL Route Table NACL Route Table NACL Route Table NACL AWS Systems Manager Amazon Inspector
  33. Mitigação Validar a integridade do software Conta de produção VPC

    Público (balanceador de carga) Application Load Balancer RDS (MySQL) Route 53 (www.xpto.com) Amazon CloudFront AWS WAF Somente saída (Compartilhado) Privado (Aplicação) Privado (Banco de dados) Auto Scaling Group Instances NAT gateway Route Table NACL Route Table NACL Route Table NACL Route Table NACL AWS Systems Manager Amazon Inspector Amazon EC2 Image Builder Amazon ECR
  34. Proteção de infraestrutura: Melhores práticas • Utilizar serviços distribuídos globalmente

    • Criar camadas de rede • Controlar o tráfego em todas as camadas • Reduzir a área de ataque • Executar gerenciamento de vulnerabilidade • Validar a integridade do software
  35. “O causo da aplicação que só precisava acessar um bucket

    no S3 e ganhou direito para LER todos os buckets da conta, inclusive aquilo que não era da sua conta.”
  36. Mantenha as pessoas longe dos seus dados! • Criptografe tudo,

    rastreie tudo, anonimize o máximo • Isole os dados • Elimine acesso humano • Opere utilizando código • Utilize controle de versão
  37. Mitigação Criptografia em descanso e em trânsito, gerenciamento seguro de

    chaves de criptografia e operação como código Conta de produção VPC Público (balanceador de carga) Application Load Balancer RDS (MySQL) Route 53 (www.xpto.com) Amazon CloudFront AWS WAF Somente saída (Compartilhado) Privado (Aplicação) Privado (Banco de dados) Auto Scaling Group Instances NAT gateway Route Table NACL Route Table NACL Route Table NACL Route Table NACL Endpoints Endpoints Amazon Macie AWS Certificate Manager (ACM) AWS KMS AWS CloudFormation