开源工具系列3:Prowler

news/2024/12/13 2:29:38/

在处理云安全的问题时,一种非常重要的思路就是检测和持续监控云上资源的安全情况,通过专业工具的支持,可以让云安全管理在问题发生前发现云环境中的潜在威胁,进而去采取有效的处理措施。

5c5d9e5b1ce7f1ae62c35393a83d679a.jpeg

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

当然更多的使用指令可以查看帮助的提示,下图是执行检测的过程图片。

d3e56fa98d6b1ec1b4341efdb294c729.jpeg

Prowler 高阶架构

6d0b6e8f8e88034678db1125418e4560.jpeg

您可以从您的工作站、EC2 实例、Fargate 或任何其他容器、Codebuild、CloudShell 和 Cloud9 运行 Prowler。

从架构图可以看出 Prowler 项目的整体架构,更有助于我们理解产品的设计思路。

这里我们可以看出 Prowler 在设计中考虑到了很多扩展性和灵活型的内容,可以从不同的出发入口向 AWS 发起检测调用,这样保证了扩展的灵活性。同时在输出上也是可以有多种选择,覆盖了 AWS 生态体系的常见方式。

如果你也想设计一个 AWS 体系的产品,这个结果是非常值得借鉴的。

Prowler 项目信息

Github 项目地址:

https://github.com/prowler-cloud/prowler

关于HummerRisk

b6441bb22fa3217c5cd8fb595fe29fa3.jpeg

HummerRisk 是开源的云原生安全平台,以非侵入的方式解决云原生的安全和治理问题,核心能力包括混合云的安全治理和K8S容器云安全检测。

Github 地址:https://github.com/HummerRisk/HummerRisk

Gitee 地址:https://gitee.com/hummercloud/HummerRisk


http://www.ppmy.cn/news/22710.html

相关文章

Docker进阶 - 2. Dockerfile 常用保留字简介

目录 1. FROM 2. MAINTAINER 3. RUN 4. EXPOSE 5. WORKDIR 6. USER 7. ENV 8. VOLUME 9. COPY 10. ADD 11. CMD 12. ENTRYPOINT 13. CMD 和 RUN 命令的区别 本篇文章的讲解截屏示例基于tomcat的Dockerfile:tomcat/9.0/jdk8/openjdk/Dockerfile 1. FR…

PB-02-kit开发板的固件下载和nRF Connect APP的蓝牙透传

PB-02-kit开发板的固件下载和nRF Connect APP的蓝牙透传PB-02-kit开发板固件的下载nRF Connect APP蓝牙透传APP发送消息APP接收消息更改MTU值PB-02-kit开发板 PB-02 是安信可基于天猫精灵TG7100B芯片设计的一款蓝牙模组,PB-02-Kit 开发板是针对 PB-02 模组而设计的一…

C进阶_动态版通讯录_增删查改

真正的程序员不接受团队开发的理念,除非他自己是头头。 你的一个程序有时正常有时不正常,而你已经完全遵循编程的规则,为什么?事实上我认为相信只要遵循别人所说就能得到想当然的结果的人其实是个傻瓜。 疯狂的程序员决不是靠狂…

【C++学习】基础语法(二)

在C语言中,为了增强代码的复用性、提高性能提出了宏,但宏也存在着调试不方便、没有类型的安全检查、代码可读性差及可维护性差的缺陷。在C中,引入内联函数实现宏定义的功能(宏函数),并针对宏定义的缺陷进行…

网络编程-TCP流套接字

专栏简介: JavaEE从入门到进阶 题目来源: leetcode,牛客,剑指offer. 创作目标: 记录学习JavaEE学习历程 希望在提升自己的同时,帮助他人,,与大家一起共同进步,互相成长. 学历代表过去,能力代表现在,学习能力代表未来! 目录 1.Java 流套接字编程模型 2.SeverSocket API 3.So…

【算法基础】冒泡排序解析

作者:柒号华仔 个人主页:欢迎访问我的主页 个人信条:星光不问赶路人,岁月不负有心人。 个人方向:专注于5G领域,同时兼顾其他网络协议,编解码协议,C/C,linux等,感兴趣的小…

【C语言】详细介绍qsort和模拟实现qsort

🚀write in front🚀 📝个人主页:认真写博客的夏目浅石. 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝 📣系列专栏:凡人修C传 💬总结:希望你看完之后&…

【TypeScript】TS 看这一篇就够了

文章目录🧑‍💻TypeScript基本概念TypeScript 是什么?为什么要有typescript安装编译 TS 的工具包编译并运行 TS 代码创建基于TS的vue项目🧑‍💻TypeScript基础类型注解TypeScript类型概述TypeScript原始数据类型数组类…