
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Prowler 是一款开源安全工具,用于执行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/prowlerDocker Run命令示例
AWS基本扫描
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
Docker Compose示例
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: 指定报告输出目录AWS特定参数
-p, --profile: 指定AWS配置文件-f, --filter-region: 指定要检查的区域,多个区域用空格分隔Azure特定参数
--sp-env-auth: 使用环境变量中的服务主体认证--az-cli-auth: 使用az cli存储的凭据--browser-auth: 使用交互式浏览器认证--managed-identity-auth: 使用托管身份认证--tenant-id: 指定租户ID(用于浏览器认证)GCP特定参数
--credentials-file: 指定应用凭据JSON文件路径--project-ids: 指定要扫描的项目ID,多个项目用逗号分隔Kubernetes特定参数
--kubeconfig-file: 指定kubeconfig文件路径--context: 指定要使用的Kubernetes上下文--namespaces: 指定要扫描的命名空间AWS认证变量
AWS_ACCESS_KEY_ID: AWS访问密钥IDAWS_SECRET_ACCESS_KEY: AWS密钥AWS_SESSION_TOKEN: AWS会话令牌(可选)AWS_DEFAULT_REGION: 默认AWS区域Azure认证变量
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权限
需要以下AWS托管策略:
arn:aws:iam::aws:policy/SecurityAuditarn:aws:iam::aws:policy/job-function/ViewOnlyAccess以及自定义策略:
如果要发送结果到AWS Security Hub,还需附加:
Azure权限
Directory.Read.All、Policy.Read.AllSecurity Reader、Reader角色GCP权限
需要为服务账号添加Viewer角色
Prowler采用Apache License 2.0许可证,详情参见:<[***]>
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务