
Módulo Terraform para configurar sua conta AWS com a configuração de baseline segura baseada no CIS Amazon Web Services Foundations e nas práticas recomendadas de segurança fundamentais da AWS.
Registro de Módulos do Terraform
Um módulo do Terraform para configurar sua conta AWS com uma linha de base de configuração razoavelmente segura. A maioria das configurações é baseada no [CIS Amazon Web Services Foundations v1.4.0] e no [AWS Foundational Security Best Practices v1.0.0].
Veja Conformidade com Benchmarks para verificar quais itens em vários benchmarks são cobertos.
data "aws_caller_identity" "current" {} data "aws_region" "current" {}
module "secure_baseline" { source = "nozaq/secure-baseline/aws"
audit_log_bucket_name = "YOUR_BUCKET_NAME" aws_account_id = data.aws_caller_identity.current.account_id region = data.aws_region.current.name support_iam_role_principal_arns = ["YOUR_IAM_USER"]
providers = { aws = aws aws.ap-northeast-1 = aws.ap-northeast-1 aws.ap-northeast-2 = aws.ap-northeast-2 aws.ap-northeast-3 = aws.ap-northeast-3 aws.ap-south-1 = aws.ap-south-1 aws.ap-southeast-1 = aws.ap-southeast-1 aws.ap-southeast-2 = aws.ap-southeast-2 aws.ca-central-1 = aws.ca-central-1 aws.eu-central-1 = aws.eu-central-1 aws.eu-north-1 = aws.eu-north-1 aws.eu-west-1 = aws.eu-west-1 aws.eu-west-2 = aws.eu-west-2 aws.eu-west-3 = aws.eu-west-3 aws.sa-east-1 = aws.sa-east-1 aws.us-east-1 = aws.us-east-1 aws.us-east-2 = aws.us-east-2 aws.us-west-1 = aws.us-west-1 aws.us-west-2 = aws.us-west-2 } }
Verifique [o exemplo](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/examples/simple/regions.tf) para entender como esses provedores são definidos.
Observe que você precisa definir um provedor para cada região AWS e passá-los para o módulo. Atualmente esta é a forma recomendada para lidar com múltiplas regiões em um único módulo.
Informações detalhadas podem ser encontradas em [Providers within Modules - Terraform Docs].
Um novo bucket S3 para armazenar logs de auditoria é criado automaticamente por padrão, enquanto o bucket S3 externo pode ser especificado. É útil quando você já possui um bucket S3 centralizado para armazenar todos os logs. Por favor, veja o exemplo [external-bucket](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/examples/external-bucket) para mais detalhes.
### Gerenciando múltiplas contas na AWS Organization
Quando você tem múltiplas contas AWS em sua AWS Organization, o módulo `secure-baseline` configura o ambiente separado para cada conta AWS. Você pode alterar esse comportamento para gerenciar centralmente as informações de segurança e os logs de auditoria de todas as contas em uma conta mestra.
Verifique o exemplo [organization](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/examples/organization) para mais detalhes.
## Submódulos
Este módulo é composto por vários submódulos e cada um pode ser usado independentemente.
[Modules in Package Sub-directories - Terraform] descreve como referenciar um submódulo.
- [alarm-baseline](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/modules/alarm-baseline)
- [analyzer-baseline](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/modules/analyzer-baseline)
- [cloudtrail-baseline](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/modules/cloudtrail-baseline)
- [config-baseline](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/modules/config-baseline)
- [ebs-baseline](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/modules/ebs-baseline)
- [guardduty-baseline](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/modules/guardduty-baseline)
- [iam-baseline](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/modules/iam-baseline)
- [s3-baseline](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/modules/s3-baseline)
- [secure-bucket](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/modules/secure-bucket)
- [securityhub-baseline](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/modules/securityhub-baseline)
- [vpc-baseline](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/modules/vpc-baseline)
## Compatibilidade
- A partir da v1.0, este módulo requer [Terraform Provider for AWS](https://github.com/terraform-providers/terraform-provider-aws) v4.0 ou posterior. [Version 1.0 Upgrade Guide](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/docs/upgrade-1.0.md) descreve o procedimento recomendado após a atualização.
- A partir da v0.20, este módulo requer [Terraform Provider for AWS](https://github.com/terraform-providers/terraform-provider-aws) v3.0 ou posterior. Por favor, use v0.19 se precisar usar v2.x ou anterior.
- A partir da v0.10, este módulo requer Terraform v0.12 ou posterior. Por favor, use v0.9 se precisar usar Terraform v0.11 ou anterior.
<!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK -->
## Requirements
| Name | Version |
|------|---------|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.1.4 |
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 4.3 |
## Providers
| Name | Version |
|------|---------|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 4.3 |