A segurança em nuvem é um dos pilares da moderna infraestrutura de TI. Ao migrar para a nuvem, as organizações transferem a responsabilidade por alguns aspectos de segurança para o provedor, mas mantêm a responsabilidade por outros. Entender esse equilíbrio é fundamental para evitar vulnerabilidades e garantir conformidade.

Nesta aula, exploraremos quatro áreas críticas: o modelo de responsabilidade compartilhada, o gerenciamento de identidade e acesso (IAM), o registro de atividades (logging) e as práticas de governança. Cada uma delas exige atenção cuidadosa e adoção de boas práticas para construir uma postura de segurança robusta na nuvem.

Shared responsibility

O modelo de responsabilidade compartilhada define quais componentes de segurança são gerenciados pelo provedor de nuvem e quais são gerenciados pelo cliente. Em geral, o provedor é responsável pela segurança da nuvem (infraestrutura física, rede, hipervisor), enquanto o cliente é responsável pela segurança na nuvem (dados, configurações, identidades).

Por exemplo, na AWS, a responsabilidade do provedor inclui hardware, software de virtualização e instalações físicas. O cliente é responsável por configurar grupos de segurança, gerenciar credenciais, aplicar patches em sistemas operacionais convidados e proteger os dados armazenados. Esse modelo varia conforme o tipo de serviço: IaaS (Infraestrutura como Serviço), PaaS (Plataforma como Serviço) e SaaS (Software como Serviço).

Em IaaS, o cliente tem mais controle e, portanto, mais responsabilidade. Em SaaS, o provedor assume quase tudo, mas o cliente ainda deve gerenciar acesso e dados. É crucial que as organizações entendam claramente essas fronteiras para evitar lacunas de segurança.

Exemplo de divisão de responsabilidades (AWS):
- Provedor: data centers, rede física, virtualização
- Cliente: sistemas operacionais, aplicações, dados, configurações de rede (VPC, security groups), IAM

Uma boa prática é documentar essas responsabilidades e revisá-las periodicamente, especialmente ao adotar novos serviços. Ferramentas como o AWS Artifact fornecem relatórios de conformidade que ajudam a entender o que o provedor já cobre.

IAM

O Gerenciamento de Identidade e Acesso (IAM) é o conjunto de políticas e tecnologias que controlam quem pode acessar quais recursos e sob quais condições. Na nuvem, o IAM é essencial para garantir o princípio do menor privilégio, reduzindo a superfície de ataque.

Os principais componentes do IAM são: usuários, grupos, papéis (roles) e políticas. Usuários representam pessoas ou serviços; grupos reúnem usuários com permissões comuns; papéis são identidades temporárias assumidas por entidades confiáveis; políticas são documentos JSON que definem permissões.

Uma prática recomendada é nunca usar credenciais de longo prazo em código; em vez disso, use papéis temporários por meio do serviço de metadados da instância ou de um provedor de identidade federado. Habilite autenticação multifator (MFA) para todos os usuários interativos.

Exemplo de política IAM (JSON) para leitura de um bucket S3:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:GetObject"],
      "Resource": ["arn:aws:s3:::meu-bucket/*"]
    }
  ]
}

Além disso, revise regularmente as permissões concedidas e remova acessos desnecessários. Ferramentas como o IAM Access Analyzer ajudam a identificar recursos compartilhados externamente.

Logging

Logging é o processo de registrar eventos que ocorrem em um ambiente de nuvem. Esses registros são vitais para auditoria, monitoramento, resposta a incidentes e conformidade. Sem logs adequados, é impossível detectar atividades maliciosas ou entender o que aconteceu após uma violação.

Os provedores de nuvem oferecem serviços de logging nativos, como o AWS CloudTrail, Azure Monitor e Google Cloud Logging. Esses serviços capturam ações de API, mudanças de configuração e eventos de acesso. É importante ativar o logging em todas as regiões e para todos os serviços relevantes.

Recomenda-se centralizar os logs em um sistema de gerenciamento de informações e eventos de segurança (SIEM), como Splunk ou Elastic Stack. Estabeleça alertas para eventos críticos, como tentativas de acesso não autorizado, alterações em políticas de IAM ou exclusão de recursos.

Exemplo de comando para ativar o CloudTrail na AWS (usando AWS CLI):
aws cloudtrail create-trail --name meu-trail --s3-bucket-name meu-bucket-de-logs
aws cloudtrail start-logging --name meu-trail

Garanta que os logs sejam criptografados e tenham controle de acesso estrito. Também defina políticas de retenção que atendam aos requisitos legais e de negócios.

Governance

Governança em nuvem refere-se ao conjunto de políticas, processos e controles que garantem o uso seguro, eficiente e em conformidade dos recursos de nuvem. Uma boa governança alinha a adoção da nuvem com os objetivos de negócio e os requisitos regulatórios.

Elementos-chave da governança incluem: definição de políticas de segurança, gerenciamento de custos, controle de mudanças, e monitoramento contínuo. Estratégias como o uso de contas múltiplas (multi-account) e organizações na nuvem ajudam a isolar ambientes e aplicar políticas centralizadas.

Ferramentas como AWS Organizations, Azure Policy e Google Cloud Organization Policy permitem aplicar políticas em toda a organização. Por exemplo, você pode proibir a criação de buckets públicos ou exigir que todos os buckets tenham criptografia habilitada.

Exemplo de política de organização (S3) para impedir acesso público:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": "s3:PutBucketPolicy",
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
          "s3:x-amz-acl": "private"
        }
      }
    }
  ]
}

Além disso, implemente um processo de revisão periódica de conformidade e realize auditorias internas e externas. A governança deve ser um processo contínuo, adaptando-se às mudanças no ambiente e nas ameaças.

Boas práticas e observações finais

Para reforçar a segurança em nuvem, considere as seguintes boas práticas: aplicar criptografia em repouso e em trânsito, usar princípio do menor privilégio, implementar defesa em profundidade, automatizar verificações de segurança e manter-se atualizado com as recomendações dos provedores.

Lembre-se de que a segurança na nuvem é uma responsabilidade contínua. As ameaças evoluem, e as configurações podem se tornar inseguras com o tempo. Portanto, revise regularmente suas políticas, realize testes de penetração e promova uma cultura de segurança dentro da equipe.

Referências

Exercícios

  1. Explique o modelo de responsabilidade compartilhada e dê um exemplo de responsabilidade do provedor e um do cliente em um ambiente IaaS.

    ✓ Resposta: O modelo define que o provedor é responsável pela segurança da infraestrutura física e de virtualização, enquanto o cliente é responsável por proteger seus dados, aplicações e configurações. Por exemplo, em IaaS, o provedor cuida da segurança do hipervisor, mas o cliente é responsável por aplicar patches no sistema operacional da VM e configurar o firewall.
  2. Qual é a diferença entre um usuário IAM e um papel (role) IAM? Quando você usaria um papel em vez de um usuário?

    ✓ Resposta: Um usuário IAM é uma identidade permanente associada a uma pessoa ou serviço, com credenciais de longo prazo. Um papel é uma identidade temporária que pode ser assumida por entidades autorizadas, sem credenciais permanentes. Use papéis para fornecer acesso temporário a instâncias EC2, funções Lambda ou usuários federados, evitando a exposição de chaves de acesso de longo prazo.
  3. Por que o logging é importante para a segurança na nuvem? Cite dois serviços de logging de provedores diferentes e um exemplo de evento que deveria gerar alerta.

    ✓ Resposta: O logging permite auditar ações, detectar atividades suspeitas e investigar incidentes. AWS CloudTrail e Azure Monitor são exemplos. Um evento que deve gerar alerta é a tentativa de assumir um papel de administrador fora do horário comercial ou a criação de uma nova chave de acesso sem justificativa.
  4. Descreva duas práticas de governança que ajudam a manter um ambiente de nuvem seguro e em conformidade.

    ✓ Resposta: Duas práticas são: usar políticas organizacionais para restringir configurações não seguras (como proibir buckets públicos) e implementar um processo de revisão periódica de permissões e conformidade, removendo acessos desnecessários e garantindo que as políticas atendam aos requisitos regulatórios.
  5. Explique o princípio do menor privilégio e como ele se aplica ao IAM na nuvem. Dê um exemplo de uma política que segue esse princípio.

    ✓ Resposta: O princípio do menor privilégio significa conceder apenas as permissões mínimas necessárias para executar uma tarefa. No IAM, isso se aplica criando políticas específicas para cada função. Exemplo: em vez de conceder "s3:*" a um usuário que só precisa ler um bucket, conceda apenas "s3:GetObject" para o bucket específico.