查看和管理安全策略
Alauda 容器安全提供默认和可自定义的安全策略,以帮助您防止高风险部署并应对容器环境中的运行时事件。
目录
策略类别
策略按类型和功能组织,以便于管理和搜索。默认类别包括:
- 异常活动
- 加密货币挖掘
- DevOps 最佳实践
- Docker CIS
- Kubernetes
- Kubernetes 事件
- 网络工具
- 包管理
- 权限
- 安全最佳实践
- 供应链安全
- 系统修改
- 漏洞管理
- 零信任
管理类别的步骤:
- 转到 平台配置 > 策略管理。
- 点击 策略类别 标签。
- 根据需要创建、查看或管理类别。
策略生命周期阶段
在创建或编辑策略时,您可以指定一个或多个生命周期阶段:
- 构建:检查镜像字段(例如 CVE、Dockerfile 指令)。
- 部署:包括构建时检查和集群配置(例如特权模式)。
- 运行时:添加进程执行和运行时事件检查。
策略标准和属性
策略由特定标准(属性)触发。以下表格总结了常见属性及其描述。有关允许值、运算符和适用阶段的详细信息,请参见每个表格下方的说明。
镜像注册表和内容
运算符: 正则表达式、NOT、AND、OR、仅 OR、仅 AND、无等。
阶段: 构建、部署、运行时
容器配置
运算符: 正则表达式、AND、OR、无等。
阶段: 部署、运行时
部署元数据
运算符: 正则表达式、AND、OR、NOT、无等。
阶段: 部署、运行时
存储和网络
运算符: 正则表达式、AND、OR、NOT、无等。
阶段: 部署、运行时、运行时(网络)
进程活动(仅限运行时)
运算符: 正则表达式、AND、OR、NOT、无等。
阶段: 运行时(进程)
Kubernetes 访问和事件
运算符: 正则表达式、AND、OR、NOT、无等。
阶段: 部署、运行时、运行时(K8s 事件)、运行时(审计日志)
策略执行
Alauda 容器安全支持多种执行类型,具体取决于策略阶段:
- 构建时执行:如果镜像违反策略,则 CI 构建失败。API 返回非零退出代码,可用于使构建管道失败。
- 部署时执行:与 Kubernetes 准入控制器和 Alauda 容器平台准入插件集成,以阻止不合规的工作负载。执行可以是:
- 强制执行:准入控制器阻止创建或更新违反的部署。
- 软性执行:传感器将违反的部署缩放为零副本,防止 pod 被调度。
- 运行时执行:启用时,任何在 pod 内部违反此策略的运行时活动将导致 pod 被自动删除。通过 API 服务器触发的违规行为也将被阻止。
注意: 默认情况下,
stackrox、kube-system、cpaas-system和istio-system等管理命名空间被排除在执行阻止之外。来自系统命名空间中服务账户的请求也会被绕过。
要将策略更改应用于现有部署,请使用 策略管理 > 重新评估所有 以触发对所有部署的执行。
导出和导入策略
您可以通过将策略导出和导入为 JSON 文件,在不同的 Central 实例之间共享安全策略。
导出策略
- 转到 平台配置 > 策略管理。
- 选择要导出的策略。
- 点击 操作 > 导出策略到 JSON。
导入策略
- 转到 平台配置 > 策略管理。
- 点击 导入策略。
- 上传 JSON 文件并点击 开始导入。
导入处理:
- 如果导入的策略 UID 和名称是唯一的,则会创建新策略。
- 如果 UID 匹配但名称不同,您可以保留两个(新 UID)或替换现有策略。
- 如果名称匹配但 UID 不同,您可以保留两个(重命名)或替换现有策略。
- 如果 UID 和名称都匹配,Alauda 容器安全会检查标准是否匹配。如果匹配,则保留现有策略;否则,您可以保留两个(重命名)或替换。
重要:
- 当导入到同一 Central 实例时,所有导出的字段都会被使用。
- 当导入到不同的 Central 实例时,某些字段(例如集群范围排除通知)将被省略,无法迁移。