Skip to content

Latest commit

 

History

History
123 lines (65 loc) · 5.51 KB

README.md

File metadata and controls

123 lines (65 loc) · 5.51 KB

Securing for CloudFormation Templates

Uma meneira de integrar mais segurança ao seu CI e sua infraestrutura como código (IaaC)!

  • Este projeto tem como objetivo verificar o nível de conformidade do seu código CloudFormation à respeito das boas práticas de arquitetura sugeridas pela AWS;
  • Usamos o GitHub Actions para automatizar o deployment do nosso CloudFormation na AWS apenas se estiver compliance com nossa política de boas práticas de arquitetura de Cloud;
  • Lembre-se de alterar o nome do Bucket S3 no arquivo "s3-bucket-sfcb.yml", pois eles precisam ser únicos globalmente. Caso contrário o seu deploy irá falhar.
  • Se desejar mais informações sobre o seu código antes de realizar o deployment, você pode utilizar a extensão do Cloud Conformity no seu Visual Studio Code!

ConformityPipeline

Você precisará:

  • 1 Conta da AWS com usuário que tenha direitos de administrador ou direitos de executar CloudFormation Templates;
  • Ter o Git instalado localmente na sua máquina;
  • 1 Conta já criada no Trend Micro Cloud One Conformity;

Links para refêrencia:

Essa demo irá criar:

  • 1 Stack no AWS CloudFormation;
  • 1 Bucket no AWS S3;



Como Usar:


⚡ USANDO O GitHub Actions para criar AWS CloudFormation Templates

Caso você já tenha uma Action configurada para esta ação, pode pular essa etapa e testar o seu código já existente.


1 - Clone este Repositório para a sua máquina: https://github.com/SecurityForCloudBuilders/template-scanner-cft.git

git clone https://github.com/SecurityForCloudBuilders/template-scanner-cft.git

2 - Crie uma Actions no seu repositório do GitHub -> Actions -> Simple workflow

create-workflow

workflow-created

github-workflow

3 - Configure AWS Credentials Action for GitHub Actions

aws-credentials-actions

3.5 - Adicione as variáveis de AWS_SECRET_KEY_ID e AWS_SECRET_ACCESS_KEY solicitadas na etapa anterior no seu repositório como SECRETS

secrets-aws

4 - Volte para o seu workflow e adicione a Action Deploy CloudFormation Stack Action for GitHub Actions

  • Lembre-se de alterar o nome do Bucket S3 no arquivo "s3-bucket-sfcb.yml", pois eles precisam ser únicos globalmente. Caso contrário o seu deploy irá falhar.

cloudformation-action

5 - Ao fazer o "commit" na etapa anterior, o Github já deverá criar um stack na sua conta AWS no serviço CloudFormation

ctf-stack-created

ctf-stack-created-2

bucket-created




✋ INTEGRANDO O CONFORMITY TEMPLATE SCANNER PARA VALIDAR A CONFORMIDADE DO SEU CLOUDFORMATION TEMPLATE

6 - Agora, faça o deploy do Cloud One Conformity Pipeline Scanner

template-scanner-action

6.5 - Esse script precisa que você providencie a sua chave de API do Trend Micro Conformity como SECRET no seu repositório, assim como fizemos no passo 3 com as chaves de acesso da AWS e que configure os limites máximos de violações por severidade.

7 - Ao configurar essas mudanças no seu Workflow, o Conformiy irá validar seu código CloudFormation e caso esteja de acordo com os limites estipulados no passo anterior, ele irá realizar o deploy do Stack no seu CloudFormation. Caso contrário, ele irá quebrar seu pipeline por conta dos riscos que infraestrutura pode causar por não ser segura/compliance.

scan-failed

7.5 - Para ver o resultado do Scan, vá em "Actions" e poderá acompanhar o resultado de cada execução que foi realizada pelo GitHub Acionts

scan-results

failures-limit-exceeded


WARNING:

    - Este projeto é para o propósito de Demostrações! 
    - Não foi criado para ser usado em produção ou com dados sensiveis!