在处理云安全的问题时,一种非常重要的思路就是检测和持续监控云上资源的安全情况,通过专业工具的支持,可以让云安全管理在问题发生前发现云环境中的潜在威胁,进而去采取有效的处理措施。
Prowler 是什么
-
Prowler 是一个命令行工具,用于执行云安全最佳实践评估、审计、事件响应、持续监控、强化和取证准备。Prowler 是针对 AWS 进行设计和实现,所以只能在 AWS 环境中使用,目前不支持其他的云环境。
-
它遵循 CIS Amazon Web Services Foundations Benchmark(49 项检查)的指导方针,并有 100 多项额外检查,包括与 GDPR、HIPAA、PCI-DSS、ISO-27001、FFIEC、SOC2 等相关的检查。
Prowler 的特征
Prowler 包含了 240+ 检查,涵盖所有 AWS 区域和大多数 AWS 服务的安全最佳实践,例如:
-
Identity and Access Management [group1]
-
Logging [group2]
-
Monitoring [group3]
-
Networking [group4]
-
CIS Level 1 [cislevel1]
-
CIS Level 2 [cislevel2]
-
Extras see Extras section [extras]
-
Forensics related group of checks [forensics-ready]
-
GDPR [gdpr] Read more here
-
HIPAA [hipaa] Read more here
-
Trust Boundaries [trustboundaries] Read more here
-
Secrets
-
Internet exposed resources
-
EKS-CIS
另外也支持包括 PCI-DSS, ISO-27001, FFIEC, SOC2等
安装 Prowler
-
Prowler 是使用下面的 AWS-CLI 用 bash 编写的,它可以在 Linux、Mac OS 或 Windows 中使用 cygwin 或虚拟化运行。还需要jq和detect-secrets才能正常工作。
-
确保安装了最新版本的 AWS-CLI。它适用于 v1 或 v2,但如果使用新区域,建议使用最新的 v2,因为它们需要 STS v2 令牌和其他所需组件,并且已经安装了 Python pip。
Yum 安装
对于 Amazon Linux(yum 基于 Linux 发行版和 AWS CLI v2)对于 Amazon Linux(yum 基于 Linux 发行版和 AWS CLI v2)
sudo yum update -y
sudo yum remove -y awscli
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
sudo yum install -y python3 jq git
sudo pip3 install detect-secrets==1.0.3
git clone https://github.com/prowler-cloud/prowler
APT 安装
对于 Ubuntu Linux(apt 基于 Linux 发行版和 AWS CLI v2)
sudo apt update
sudo apt install python3 python3-pip jq git zip
pip install detect-secrets==1.0.3
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
git clone https://github.com/prowler-cloud/prowler
注意:不再支持 detect-secrets Yelp 版本,现在维护来自 IBM 的版本。使用下面提到的一个或特定的 Yelp 版本 1.0.3 以确保它按预期工作 ( pip install detect-secrets==1.0.3)
快速执行
cd prowler./prowler
查看帮助
./prowler -h
执行一条规则的检测
./prowler -c check310
当然更多的使用指令可以查看帮助的提示,下图是执行检测的过程图片。
Prowler 高阶架构
您可以从您的工作站、EC2 实例、Fargate 或任何其他容器、Codebuild、CloudShell 和 Cloud9 运行 Prowler。
从架构图可以看出 Prowler 项目的整体架构,更有助于我们理解产品的设计思路。
这里我们可以看出 Prowler 在设计中考虑到了很多扩展性和灵活型的内容,可以从不同的出发入口向 AWS 发起检测调用,这样保证了扩展的灵活性。同时在输出上也是可以有多种选择,覆盖了 AWS 生态体系的常见方式。
如果你也想设计一个 AWS 体系的产品,这个结果是非常值得借鉴的。
Prowler 项目信息
Github 项目地址:
https://github.com/prowler-cloud/prowler
关于HummerRisk
HummerRisk 是开源的云原生安全平台,以非侵入的方式解决云原生的安全和治理问题,核心能力包括混合云的安全治理和K8S容器云安全检测。
Github 地址:https://github.com/HummerRisk/HummerRisk
Gitee 地址:https://gitee.com/hummercloud/HummerRisk