Skip to content

Repo used to create secure IaaC for AWS infrastructure by GitHub Actions and Trend Micro Cloud Conformity

Notifications You must be signed in to change notification settings

SecurityForCloudBuilders/template-scanner-cft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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!

About

Repo used to create secure IaaC for AWS infrastructure by GitHub Actions and Trend Micro Cloud Conformity

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published