prancer-io/prancer-compliance-test

GitHub: prancer-io/prancer-compliance-test

基于 OPA Rego 的多云安全策略集合,同时支持 IaC 模板和运行中云资源的合规性扫描。

Stars: 40 | Forks: 12

# Prancer 合规性测试仓库 ## 介绍 Prancer 是一个针对基础设施即代码 和实时云环境的前部署和后部署多云安全平台。它将安全左移,并基于策略即代码 的概念提供端到端的安全扫描。DevOps 工程师可以利用它对 IaC 进行静态代码分析,以发现安全偏差,并通过持续合规功能维护其云安全态势。您可以通过我们的网站获取更多信息:https://www.prancer.io ## 如何使用本仓库 开始使用的最简单方法是确保您能运行我们在 [Hello World 示例](https://www.prancer.io/guidance/) 中解释的场景。在能够运行该简单场景后,您可以使用此仓库进行更高级的安全测试。 ## 仓库结构 该仓库由 4 个高级文件夹组成,分别代表每种支持的类型: - AWS - Azure - Google - Kubernetes 在每个顶级目录下,我们有 `cloud`、`iac` 和 `terraform` 文件夹,分别存放 `rego` 文件。 - `cloud` 文件夹存放所有与部署后测试相关的 rego 文件。这些测试有助于实现云中的持续合规 - `iac` 文件夹存放所有与 IaC 安全扫描相关的 rego 文件。这些测试有助于实现安全左移概念 - `terraform` 文件夹存放所有与 Terraform 基础设施即代码相关的 rego 文件 ## 前置条件 请确保您具备以下前置条件: - Linux 发行版 - Python 3.6.8 / 3.8 / 3.9 - Prancer Basic [如何安装 prancer basic](https://docs.prancer.io/installation/) - OPA [如何安装 OPA 二进制文件](https://www.openpolicyagent.org/docs/latest/#running-opa) ## 示例场景 [Prancer 平台](https://www.prancer.io/introduction/?section=use-case-scenarios) 有许多可用的用例。这里我将向您展示一个 IaC 扫描 Azure ARM 模板的示例场景。 最简单的方法是克隆我们的 [Hello World](https://github.com/prancer-io/prancer-hello-world) 仓库,修改参数并运行它。 ### 步骤 1 - 克隆 `Hello World` 示例仓库 `git clone https://github.com/prancer-io/prancer-hello-world` `cd prancer-hello-world` ### 步骤 2 - 修改连接器文件以指向您的 IaC 代码仓库 您可以使用现有的连接器,并更改 `gitProvider` 属性以指向您自己的仓库。(https://github.com/prancer-io/prancer-hello-world/blob/master/gitConnectorArmRemoteStructure.json) `cat gitConnectorArmRemoteStructure.json` ``` { "fileType": "structure", "type": "filesystem", "companyName": "prancer", "gitProvider": "https://github.com/prancer-io/prancer-armof.git", "branchName": "master", "private": false } ``` ### 步骤 3 - 验证主快照和主测试文件 下一步是验证指向该仓库的主快照和主测试文件。完整的代码已在我们 `Hello World` 示例仓库中提供,您无需更改任何内容。您可以在此处找到示例代码: https://github.com/prancer-io/prancer-hello-world/tree/master/validation/scenario-arm-remote `cat validation/scenario-arm-remote/master-snapshot.json` ``` { "$schema": "", "contentVersion": "1.0.0.0", "fileType": "masterSnapshot", "connector": "gitConnectorRemote", "remoteFile": "azure/iac/master-snapshot.json", "connectorUsers": [ { "id": "USER_1", "testUser": "user1", "source": "gitConnectorArmRemoteStructure" } ] } ``` `cat validation/scenario-arm-remote/master-test.json` ``` { "contentVersion": "1.0.0.0", "notification": [], "masterSnapshot": "master-snapshot", "fileType": "mastertest", "connector": "gitConnectorRemote", "remoteFile": "azure/iac/master-compliance-test.json" } ``` ### 步骤 4 - 运行 IaC 扫描 运行命令 `prancer --crawler scenario-arm-remote` 以获取您仓库中所有可用的文件。然后运行 `prancer scenario-arm-remote` 以完成 Azure ARM 模板的 IaC 安全测试。
标签:AWS, Azure, DevSecOps, DPI, ECS, GCP, Groq API, Homebrew安装, IaC安全, OPA, Prancer, Rego, Terraform, 上游代理, 后部署检查, 姿态管理, 安全扫描, 左移安全, 持续合规, 时序注入, 策略即代码, 结构化提示词, 聊天机器人安全, 逆向工具, 错误基检测, 静态代码分析, 靶场, 预部署检查