
Terraform-Modul zur Einrichtung Ihres AWS-Kontos mit der sicheren Basislinien-Konfiguration basierend auf CIS Amazon Web Services Foundations und AWS Foundational Security Best Practices.
Ein Terraform-Modul, um Ihren AWS-Account mit einer einigermaßen sicheren Konfigurationsbasis einzurichten. Die meisten Konfigurationen basieren auf [CIS Amazon Web Services Foundations v1.4.0] und [AWS Foundational Security Best Practices v1.0.0].
Siehe Benchmark-Compliance, um zu prüfen, welche Punkte in verschiedenen Benchmarks abgedeckt werden.
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 } }
Überprüfen Sie [das Beispiel](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/examples/simple/regions.tf), um zu verstehen, wie diese Provider definiert werden.
Beachten Sie, dass Sie für jede AWS-Region einen Provider definieren und an das Modul übergeben müssen. Derzeit ist dies die empfohlene Methode, um mehrere Regionen in einem Modul zu handhaben.
Detaillierte Informationen finden Sie unter [Providers within Modules - Terraform Docs].
Ein neuer S3-Bucket zum Speichern von Audit-Logs wird standardmäßig automatisch erstellt, während der externe S3-Bucket angegeben werden kann. Dies ist nützlich, wenn Sie bereits einen zentralisierten S3-Bucket zum Speichern aller Logs haben. Weitere Informationen finden Sie im Beispiel [external-bucket](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/examples/external-bucket).
### Verwalten mehrerer Konten in AWS Organization
Wenn Sie mehrere AWS-Konten in Ihrer AWS Organization haben, konfiguriert das Modul `secure-baseline` eine getrennte Umgebung für jedes AWS-Konto. Sie können dieses Verhalten ändern, um Sicherheitsinformationen und Audit-Logs von allen Konten zentral in einem Master-Konto zu verwalten.
Überprüfen Sie das Beispiel [organization](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/examples/organization) für weitere Details.
## Submodule
Dieses Modul besteht aus mehreren Submodulen, von denen jedes unabhängig verwendet werden kann.
[Modules in Package Sub-directories - Terraform] beschreibt, wie ein Submodul bezogen wird.
- [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)
## Kompatibilität
- Ab Version 1.0 benötigt dieses Modul [Terraform Provider for AWS](https://github.com/terraform-providers/terraform-provider-aws) v4.0 oder höher. Der [Version 1.0 Upgrade Guide](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/docs/upgrade-1.0.md) beschreibt das empfohlene Vorgehen nach dem Upgrade.
- Ab Version 0.20 benötigt dieses Modul [Terraform Provider for AWS](https://github.com/terraform-providers/terraform-provider-aws) v3.0 oder höher. Bitte verwenden Sie v0.19, wenn Sie v2.x oder früher verwenden müssen.
- Ab Version 0.10 benötigt dieses Modul Terraform v0.12 oder höher. Bitte verwenden Sie v0.9, wenn Sie Terraform v0.11 oder früher verwenden müssen.
<!-- 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 |