Skip to content
KitploitKITPLOIT
工具博客
Log in
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
terraform-aws-secure-baseline — Terraform 模块,用于基于 CIS Amazon Web Services Foundations 和 AWS Foundational Security Best Practices 为您的 AWS 账户设置安全基线配置。 | Kitploit
工具/GitHubGitHub/nozaq/terraform-aws-secure-baseline
云基础设施安全配置审计云安全DevSecOps错误配置
GitHubnozaq/terraform-aws-secure-baseline

terraform-aws-secure-baseline

Terraform 模块,用于基于 CIS Amazon Web Services Foundations 和 AWS Foundational Security Best Practices 为您的 AWS 账户设置安全基线配置。

查看仓库

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
1.2k3782017天前Kitploit 审核通过

terraform-aws-secure-baseline

Github Actions Releases

Terraform 模块注册表

一个 Terraform 模块,用于以相对安全的基础配置来设置您的 AWS 账户。 大部分配置基于 [CIS Amazon Web Services Foundations v1.4.0] 和 [AWS Foundational Security Best Practices v1.0.0]。

查看 基准合规性 以了解覆盖了哪些基准中的项。

功能

身份与访问管理

  • 设置 IAM 密码策略。
  • 创建一个用于联系 AWS 支持部门以处理事件响应的 IAM 角色。
  • 启用 AWS Config 规则以审计根账户状态。
  • 在每个区域启用 IAM Access Analyzer。
  • 启用 S3 账户级别的公共访问阻止配置。

日志记录与监控

  • 在所有区域启用 CloudTrail,并将事件发送到 CloudWatch Logs。
  • 默认对所有 S3 存储桶进行对象级别日志记录。
  • 默认启用 CloudTrail Insights 事件日志记录。
  • CloudTrail 日志使用 AWS Key Management Service 加密。
  • 所有日志存储在启用了访问日志记录的 S3 存储桶中。
  • 日志在指定期限(默认为 90 天)后自动归档到 Amazon Glacier。
  • 设置 CloudWatch 告警,以便在 AWS 账户中发生关键更改时通知您。
  • 在每个区域启用 AWS Config,以自动获取配置快照。
  • 启用 SecurityHub 并订阅可用标准。
  • 在每个区域启用 GuardDuty。

网络与计算

  • 移除所有区域默认 VPC 中与默认路由表、默认网络 ACL 和默认安全组相关的所有规则。
  • 禁用默认子网中的自动公网 IP 分配。
  • 启用 AWS Config 规则,以审计安全组规则中不受限制的常见端口。
  • 在所有区域的默认 VPC 中启用 VPC Flow Logs。
  • 对新创建的卷启用默认的 EBS 加密。

使用方法```hcl

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 } }

请查阅[示例](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/examples/simple/regions.tf)以了解如何定义这些提供者。
请注意,您需要为每个 AWS 区域定义一个提供者并将它们传递给模块。目前这是在一个模块中处理多个区域的推荐方式。
详细信息可在 [Providers within Modules - Terraform Docs] 中找到。

默认情况下会自动创建一个新的 S3 存储桶来存储审计日志,同时也可以指定外部 S3 存储桶。当您已经有一个集中式 S3 存储桶来存储所有日志时,这非常有用。有关更多详细信息,请参阅 [external-bucket](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/examples/external-bucket) 示例。

### 在 AWS Organization 中管理多个账户

当您在 AWS Organization 中有多个 AWS 账户时,`secure-baseline` 模块会为每个 AWS 账户配置独立的环境。您可以更改此行为,以便在一个主账户中集中管理所有账户的安全信息和审计日志。
请查看 [organization](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/examples/organization) 示例以获取更多详细信息。

## 子模块

该模块由多个子模块组成,每个子模块都可以独立使用。
[包子目录中的模块 - Terraform] 描述了如何导入子模块。

- [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)

## 兼容性

- 从 v1.0 开始,此模块需要 [Terraform Provider for AWS](https://github.com/terraform-providers/terraform-provider-aws) v4.0 或更高版本。[Version 1.0 Upgrade Guide](https://github.com/nozaq/terraform-aws-secure-baseline/blob/main/docs/upgrade-1.0.md) 描述了升级后的推荐流程。
- 从 v0.20 开始,此模块需要 [Terraform Provider for AWS](https://github.com/terraform-providers/terraform-provider-aws) v3.0 或更高版本。如果您需要使用 v2.x 或更早版本,请使用 v0.19。
- 从 v0.10 开始,此模块需要 Terraform v0.12 或更高版本。如果您需要使用 Terraform v0.11 或更早版本,请使用 v0.9。

<!-- 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 |
下载工具