
Módulo de Terraform para configurar tu cuenta de AWS con la línea base de seguridad basada en CIS Amazon Web Services Foundations y AWS Foundational Security Best Practices.
Un módulo de Terraform para configurar tu cuenta de AWS con una línea base de seguridad razonablemente segura. La mayoría de las configuraciones se basan en [CIS Amazon Web Services Foundations v1.4.0] y [AWS Foundational Security Best Practices v1.0.0].
Consulta Cumplimiento de Benchmarks para verificar qué elementos de varios benchmarks están cubiertos.
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 } }
Consulte [el ejemplo](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/examples/simple/regions.tf) para entender cómo se definen estos proveedores.
Tenga en cuenta que debe definir un proveedor para cada región de AWS y pasarlos al módulo. Actualmente esta es la forma recomendada de manejar múltiples regiones en un módulo.
Puede encontrar información detallada en [Providers within Modules - Terraform Docs].
Un nuevo bucket de S3 para almacenar registros de auditoría se crea automáticamente por defecto, mientras que se puede especificar un bucket de S3 externo. Es útil cuando ya tiene un bucket de S3 centralizado para almacenar todos los registros. Consulte el ejemplo [external-bucket](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/examples/external-bucket) para más detalle.
### Administración de múltiples cuentas en AWS Organization
Cuando tiene múltiples cuentas de AWS en su organización de AWS, el módulo `secure-baseline` configura el entorno separado para cada cuenta de AWS. Puede cambiar este comportamiento para gestionar centralmente la información de seguridad y los registros de auditoría de todas las cuentas en una cuenta maestra.
Consulte el ejemplo [organization](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/examples/organization) para más detalle.
## Submódulos
Este módulo está compuesto por varios submódulos, cada uno de los cuales se puede usar de forma independiente.
[Modules in Package Sub-directories - Terraform] describe cómo obtener un 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)
## Compatibilidad
- A partir de v1.0, este módulo requiere [Terraform Provider for AWS](https://github.com/terraform-providers/terraform-provider-aws) v4.0 o posterior. [Version 1.0 Upgrade Guide](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/docs/upgrade-1.0.md) describe el procedimiento recomendado después de la actualización.
- A partir de v0.20, este módulo requiere [Terraform Provider for AWS](https://github.com/terraform-providers/terraform-provider-aws) v3.0 o posterior. Utilice v0.19 si necesita usar v2.x o anterior.
- A partir de v0.10, este módulo requiere Terraform v0.12 o posterior. Utilice v0.9 si necesita usar Terraform v0.11 o anterior.
<!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK -->
## Requisitos
| Nombre | Versión |
|------|---------|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.1.4 |
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 4.3 |
## Proveedores
| Nombre | Versión |
|------|---------|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 4.3 |