toniblyx/prowlerProwler 是一款开源安全工具,用于执行AWS、GCP和Azure云平台的安全最佳实践评估、审计、事件响应、持续监控、加固以及取证准备。它包含数百项安全控制检查,覆盖CIS、NIST 800、NIST CSF、CISA、RBI、FedRAMP、PCI-DSS、GDPR、HIPAA、FFIEC、SOC2、GXP、AWS架构完善框架安全支柱等合规标准,以及自定义安全框架。
Prowler适用于以下场景:
可运行环境包括:工作站、EC2实例、Fargate或其他容器、Codebuild、CloudShell和Cloud9。
Prowler提供以下Docker镜像标签:
latest:与主分支同步(不稳定版本)<x.y.z>:特定发布版本(稳定版)stable:指向最新发布版本可从以下仓库获取镜像:
toniblyx/prowlerpublic.ecr.aws/prowler-cloud/prowlerAWS基本扫描
bashdocker run -it --rm \ -e AWS_ACCESS_KEY_ID="ASXXXXXXX" \ -e AWS_SECRET_ACCESS_KEY="XXXXXXXXX" \ -e AWS_SESSION_TOKEN="XXXXXXXXX" \ toniblyx/prowler aws
使用AWS配置文件
bashdocker run -it --rm \ -v ~/.aws:/root/.aws \ toniblyx/prowler aws --profile custom-profile
指定区域扫描
bashdocker run -it --rm \ -v ~/.aws:/root/.aws \ toniblyx/prowler aws --profile custom-profile -f us-east-1 eu-south-2
Azure使用服务主体认证
bashdocker run -it --rm \ -e AZURE_CLIENT_ID="XXXXXXXXX" \ -e AZURE_TENANT_ID="XXXXXXXXX" \ -e AZURE_CLIENT_SECRET="XXXXXXX" \ toniblyx/prowler azure --sp-env-auth
GCP指定项目ID扫描
bashdocker run -it --rm \ -v /path/to/gcp-credentials.json:/credentials.json \ toniblyx/prowler gcp --credentials-file /credentials.json --project-ids my-project-id
Kubernetes扫描
bashdocker run -it --rm \ -v ~/.kube/config:/kubeconfig \ toniblyx/prowler kubernetes --kubeconfig-file /kubeconfig
bashdocker run -it --rm \ -v ~/.aws:/root/.aws \ -v $(pwd)/prowler-output:/prowler/output \ toniblyx/prowler aws --output-directory /prowler/output
yamlversion: '3' services: prowler: image: toniblyx/prowler:stable volumes: - ~/.aws:/root/.aws - ./prowler-output:/prowler/output environment: - AWS_DEFAULT_REGION=us-east-1 command: ["aws", "--profile", "security-audit", "-M", "html", "json", "--output-directory", "/prowler/output"]
-h, --help: 显示帮助信息-v, --version: 显示版本信息-M, --output-modes: 指定输出格式,多个格式用空格分隔(csv, json, html, json-asff)-c, --checks: 指定要执行的检查项,多个检查项用空格分隔-e, --excluded-checks: 指定要排除的检查项-s, --services: 指定要检查的服务--excluded-services: 指定要排除的服务--list-checks: 列出所有可用检查项--list-services: 列出所有可用服务--output-directory: 指定报告输出目录-p, --profile: 指定AWS配置文件-f, --filter-region: 指定要检查的区域,多个区域用空格分隔--sp-env-auth: 使用环境变量中的服务主体认证--az-cli-auth: 使用az cli存储的凭据--browser-auth: 使用交互式浏览器认证--managed-identity-auth: 使用托管身份认证--tenant-id: 指定租户ID(用于浏览器认证)--credentials-file: 指定应用凭据JSON文件路径--project-ids: 指定要扫描的项目ID,多个项目用逗号分隔--kubeconfig-file: 指定kubeconfig文件路径--context: 指定要使用的Kubernetes上下文--namespaces: 指定要扫描的命名空间AWS_ACCESS_KEY_ID: AWS访问密钥IDAWS_SECRET_ACCESS_KEY: AWS密钥AWS_SESSION_TOKEN: AWS会话令牌(可选)AWS_DEFAULT_REGION: 默认AWS区域AZURE_CLIENT_ID: Azure客户端IDAZURE_TENANT_ID: Azure租户IDAZURE_CLIENT_SECRET: Azure客户端密钥多个Prowler检查项有用户可配置的变量,可通过修改配置文件进行调整:
/prowler/config/config.yaml
在Docker中使用自定义配置文件:
bashdocker run -it --rm \ -v ~/.aws:/root/.aws \ -v $(pwd)/custom-config.yaml:/prowler/config/config.yaml \ toniblyx/prowler aws
需要以下AWS托管策略:
arn:aws:iam::aws:policy/SecurityAuditarn:aws:iam::aws:policy/job-function/ViewOnlyAccess以及自定义策略:
如果要发送结果到AWS Security Hub,还需附加:
Directory.Read.All、Policy.Read.AllSecurity Reader、Reader角色需要为服务账号添加Viewer角色
Prowler采用Apache License 2.0许可证,详情参见:<[***]>
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
MacOS OrbStack 容器配置
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务