As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Registro centralizado e barreiras de segurança de várias contas
Criado por Ankush Verma (AWS) e Tracy (Pierce) Hickey (AWS)
Ambiente: produção | Tecnologias: segurança, identidade, conformidade; gerenciamento e governança | Serviços da AWS: AWS CloudFormation; AWS Config; Amazon; AWS; Amazon; CloudWatch AWS Lambda GuardDuty; CodePipeline Amazon Macie; AWS Security Hub; Amazon S3 |
Resumo
A abordagem coberta por esse padrão é adequada para clientes que têm várias contas da Amazon Web Services (AWS) na AWS Organizations e agora enfrentam desafios ao usar o AWS Control Tower, uma zona de pouso ou serviços de máquinas de venda automática de contas para configurar barreiras básicas em suas contas.
Esse padrão demonstra o uso de uma arquitetura simplificada de várias contas para configurar de maneira bem estruturada o registro centralizado e os controles de segurança padronizados. Com a ajuda dos CloudFormation modelos da AWS CodePipeline, da AWS e dos scripts de automação, essa configuração é implantada em todas as contas que pertencem a uma organização.
A arquitetura de várias contas inclui as seguintes contas:
Conta de registro centralizada — A conta na qual todos os registros de fluxo da nuvem privada virtual (VPC), registros CloudTrail da AWS, registros do AWS Config e todos os registros do CloudWatch Amazon Logs (usando assinaturas) de todas as outras contas são armazenados.
Conta de segurança principal: a conta que servirá como conta principal para os seguintes serviços de segurança que gerenciam várias contas.
Amazon GuardDuty
AWS Security Hub
Amazon Macie
Amazon Detective
Contas secundárias: as outras contas na organização. Essas contas armazenam todos os logs úteis na conta de registro em log centralizada. As contas secundárias ingressam na conta de segurança principais como membros dos serviços de segurança.
Depois de iniciar o CloudFormation modelo (anexado), ele provisiona três buckets do Amazon Simple Storage Service (Amazon S3) na conta de registro centralizada. Um bucket é usado para armazenar todos os registros relacionados à AWS (como registros do VPC Flow Logs e do AWS Config) de todas as contas. CloudTrail O segundo compartimento serve para armazenar os CloudFormation modelos de todas as contas. O terceiro bucket é para armazenar logs de acesso do Amazon S3.
Um CloudFormation modelo separado cria o pipeline que usa a AWS CodeCommit. Depois que o código atualizado é enviado ao CodeCommit repositório, ele se encarrega de lançar recursos e configurar serviços de segurança em todas as contas. Para obter mais informações sobre a estrutura dos arquivos que serão enviados para o CodeCommit repositório, consulte o arquivo README.md (anexado).
Pré-requisitos e limitações
Pré-requisitos
Um ID da organização do AWS Organizations, com todas as contas associadas à mesma organização.
Um endereço de e-mail ativo para receber notificações do Amazon Simple Notification Service (Amazon SNS).
Cotas confirmadas para buckets do Amazon Simple Storage Service (Amazon S3) em cada uma das contas. Por padrão, cada conta tem 100 buckets de S3. Se precisar de buckets adicionais, solicite um aumento de cota antes de implantar essa solução.
Limitações
Todas as contas devem fazer parte da mesma organização. Se não estiver usando o AWS Organizations, você deverá modificar determinadas políticas, como a política de bucket do S3, para permitir o acesso dos perfis do Identity and Access Management (IAM) da AWS para cada conta.
Nota: enquanto a solução está sendo implantada, você deve confirmar a assinatura do Amazon SNS. A mensagem de confirmação é enviada ao endereço de e-mail fornecido durante o processo de implantação. Isso iniciará algumas mensagens de alerta por e-mail para esse endereço de e-mail, porque esses alarmes são iniciados sempre que as políticas de perfil do IAM são criadas ou modificadas na conta. Durante o processo de implantação, você pode ignorar essas mensagens de alerta.
Arquitetura
Pilha de tecnologias de destino
CloudWatch Alarmes e registros da Amazon
CodeCommit Repositório AWS
AWS CodePipeline
AWS Config
Amazon Detective
Amazon GuardDuty
Funções e permissões do IAM
Amazon Macie
Buckets do S3
AWS Security Hub
Amazon SNS
Arquitetura de destino
Outras contas registradas como contas secundárias da conta de segurança principal para os serviços de segurança
Descobertas de segurança de todas as contas secundárias, incluindo a conta principal
Recursos
Os seguintes recursos são provisionados automaticamente quando o código atualizado é enviado para o CodeCommit repositório em cada conta e região da AWS.
CloudFormation pilha 1 — Registrando a pilha principal
- Pilha aninhada 1 — perfis do IAM e políticas padrão
- Pilha aninhada 2 — configuração do AWS Config na conta
- Pilha aninhada 3 — alarmes CloudWatch
- SecurityGroupChangesAlarm
- UnauthorizedAttemptAlarm
- RootActivityAlarm
- NetworkAclChangesAlarm
- EU SOU UserManagementAlarm
- EU SOU PolicyChangesAlarm
- CloudTrailChangeAlarm
- EU SOU CreateAccessKeyAlarm
- Filtros métricos para criar métricas a partir de CloudTrail registros e usá-las para alarmes
- Tópico do SNS
CloudFormation pilha 2 — Pilha de proteção principal
- Pilha aninhada 1 — função do Lambda AWS para configurar a política de senha da conta
- Pilha aninhada 2 — Regras básicas do AWS Config
- CEI- SecurityGroupsMustRestrictSshTraffic
- OpenSecurityGroupRuleCheck junto com a função Lambda para avaliação de regras de grupos de segurança
- verifique-ec2- for-required-tag
- check-for-unrestricted-ports
CloudFormation pilha 3 — exportação de CloudWatch registros
- Exportação de CloudWatch registros de grupos de registros para o Amazon S3 usando uma assinatura do Amazon Kinesis
Ferramentas
AWS CloudFormation — A AWS CloudFormation usa modelos para modelar e provisionar, de forma automatizada e segura, todos os recursos necessários para seus aplicativos em todas as regiões e contas da AWS.
Amazon CloudWatch — A Amazon CloudWatch monitora seus recursos da AWS e os aplicativos que você executa na AWS em tempo real. Você pode usar CloudWatch para coletar e monitorar métricas, que são variáveis que você pode medir para seus recursos e aplicativos.
AWS CodeCommit — A AWS CodeCommit é um serviço de controle de versão hospedado pela AWS. Você pode usar CodeCommit para armazenar e gerenciar ativos de forma privada (como documentos, código-fonte e arquivos binários) na nuvem.
AWS CodePipeline — CodePipeline A AWS é um serviço de entrega contínua que você pode usar para modelar, visualizar e automatizar as etapas necessárias para lançar seu software.
AWS Config: o AWS Config oferece uma exibição detalhada da configuração dos recursos da AWS em sua conta da AWS. Isso inclui como os recursos estão relacionados um com o outro e como eles foram configurados no passado, de modo que você possa ver como os relacionamentos e as configurações foram alterados ao longo do tempo.
Amazon Detective: o Amazon Detective facilita analisar, investigar e identificar rapidamente a causa raiz de descobertas de segurança ou atividades suspeitas. O Detective coleta automaticamente dados de log dos seus recursos da AWS. Ele usa machine learning, análises estatísticas e a teoria de grafos para ajudar você a realizar investigações de segurança eficazes com maior rapidez.
Amazon GuardDuty — GuardDuty A Amazon é um serviço contínuo de monitoramento de segurança que analisa e processa os registros de fluxo, registros de eventos CloudTrail de gerenciamento, registros de eventos de CloudTrail dados e registros do Sistema de Nomes de Domínio (DNS). Ele usa feeds de inteligência contra ameaças, como listas de endereços IP e domínios mal-intencionados, e machine learning para identificar atividades inesperadas, maliciosas e potencialmente não autorizadas no seu ambiente da AWS.
AWS Identity and Access Management: o AWS Identity and Access Management (IAM) é um serviço da web que ajuda você a controlar o acesso aos recursos da AWS com segurança. Você usa o IAM para controlar quem é autenticado (fez login) e autorizado (tem permissões) a usar os recursos.
Amazon Macie: o Amazon Macie automatiza a descoberta de dados sigilosos, como informações de identificação pessoal (PII) e dados financeiros, para você compreender melhor os dados armazenados por sua organização no Amazon S3.
Amazon S3: o Amazon Simple Storage Service (Amazon S3) é um serviço de armazenamento de objetos altamente escalável que pode ser usado para uma ampla variedade de soluções de armazenamento, incluindo sites, aplicativos móveis, backups e data lakes.
AWS Security Hub: o AWS Security Hub fornece uma visão abrangente do estado de segurança na AWS e ajuda você a verificar o ambiente de acordo com os padrões e as práticas recomendadas do setor de segurança.
Amazon SNS: o Amazon Simple Notification Service (Amazon SNS) é um serviço gerenciado que fornece entrega de mensagens de publicadores para assinantes (também conhecido como produtores e consumidores).
Épicos
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Inicie o modelo CloudFormation ChildAccount_iam_role_all_accounts.yaml para criar a função do IAM na região us-east-1. | Para criar as permissões e perfis do IAM necessárias, você deve iniciar manualmente esse modelo em cada conta, uma por uma (conta centralizada de registro em log, conta de segurança principal e todas as outras contas da AWS na organização) na região us-east-1. O | Arquiteto de nuvem |
Nos parâmetros do modelo, forneça o nome do perfil do IAM. | Forneça a função do IAM que CodeBuild, na conta de segurança principal, pode assumir em todas as outras contas secundárias. O nome de perfil padrão é | Arquiteto de nuvem |
Nos parâmetros, forneça o ID da conta de segurança principal. | A conta de segurança principal é a conta em que é CodeBuild executada. | Arquiteto de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Na conta de registro centralizada, em us-east-1, inicie o modelo S3Buckets-Centralized- .yaml. LoggingAccount CloudFormation | Para criar os buckets do S3 na conta centralizada de registro em log, inicie o | Arquiteto de nuvem |
Nos parâmetros do modelo, forneça o nome do bucket do S3 para armazenamento de logs da AWS. | Digite um nome para o parâmetro | Arquiteto de nuvem |
Fornecer o nome do bucket do S3 de destino para armazenar os logs de acesso. | Insira um nome de bucket do S3 para o parâmetro | Arquiteto de nuvem |
Forneça o nome do bucket do S3 para armazenar modelos. | Insira um nome de bucket do S3 no parâmetro | Arquiteto de nuvem |
Forneça o ID da organização. | Para fornecer acesso aos buckets do S3 dentro da organização, insira o ID da organização no parâmetro | Arquiteto de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Inicie o modelo security-guard-rails-codepipeline -Centralized- SecurityAccount .yml. CloudFormation | Para implantar o pipeline de CI/CD, inicie manualmente o modelo | Arquiteto de nuvem |
Forneça um nome para o bucket do S3 que armazenará modelos na conta centralizada de registro em log. | Insira o nome do bucket do S3 que você forneceu para o parâmetro | Arquiteto de nuvem |
Forneça o nome do perfil do IAM a ser usada nas contas secundárias. | Insira o nome que você forneceu para o parâmetro | Arquiteto de nuvem |
Forneça um endereço de e-mail ativo para receber notificações de CodePipeline falha. | Insira o endereço de e-mail que você deseja usar para receber notificações de CodePipeline falha e outras notificações CloudWatch relacionadas a alarmes. | Arquiteto de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Modificar AccountList.json. | No arquivo | Arquiteto de nuvem |
Modificar accounts.csv | No arquivo | Arquiteto de nuvem |
Modificar parameters.config. | No arquivo
Para os outros parâmetros, mantenha os valores padrão. Para obter um exemplo, consulte o arquivo | Arquiteto de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Acesse o CodeCommit repositório que você criou na Etapa 3. | Na seção Saídas da CloudFormation pilha de infraestrutura de CI/CD (lançada na Etapa 3), anote o nome da URL do repositório. CodeCommit Crie acesso ao repositório para que os arquivos possam ser enviados a ele para que a infraestrutura seja implantada em todas as contas de destino. Para obter mais informações, consulte Configuração para a AWS CodeCommit. | Arquiteto de nuvem |
Envie os arquivos para o CodeCommit repositório. | Instalar o Git na sua máquina. Em seguida, execute os comandos do Git para clonar o repositório vazio, copiar os arquivos do seu laptop para a pasta do repositório e enviar os artefatos para o repositório. Verifique os exemplos de comandos do Git no arquivo | Arquiteto de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Confirme o status de CodePipeline CodeBuild e. | Depois de enviar os artefatos para o CodeCommit repositório, confirme se o CodePipeline pipeline que você criou na Etapa 3 foi iniciado. Em seguida, verifique os CodeBuild registros para confirmar o status ou os erros. | Arquiteto de nuvem |
Recursos relacionados
Anexos
Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo: attachment.zip