#Alauda Security Service 中的默认策略
Alauda Security Service 提供内置系统策略,帮助你在 Kubernetes 环境中防止高风险部署并响应运行时事件。这些策略涵盖常见的漏洞、配置、运行时和供应链检查,为日常策略管理提供基线。
#概览
默认策略覆盖完整的容器生命周期:构建、部署和运行时。你可以在 Platform Configuration > Policy Management 中查看它们,克隆后再根据自己的环境进行定制。默认策略不能删除,也不能直接编辑。
具体的策略清单可能因版本、已启用的集成和导入的内容而异。下表总结了受支持部署中通常存在的默认策略。
#查看策略
- 在门户中进入 Platform Configuration > Policy Management。
- 查看 Policies 表,并使用筛选、搜索或分类缩小范围。
- 使用行操作或策略详情页查看策略逻辑,或克隆默认策略。
#策略表结构
- Policy:策略名称
- Description:该策略检测或强制执行的内容
- Status:已启用 或 已禁用
- Severity:严重、高、中等或低
- Lifecycle:构建、部署或运行时
#严重级别策略
| 生命周期阶段 | 策略名称 | 描述 | 状态 |
|---|---|---|---|
| 构建/部署 | Apache Struts: CVE-2017-5638 | 对包含 CVE-2017-5638 Apache Struts 漏洞的镜像发出告警。 | 已启用 |
| 构建/部署 | Log4Shell: log4j Remote Code Execution | 对包含 CVE-2021-44228 和 CVE-2021-45046 漏洞的镜像发出告警。 | 已启用 |
| 构建/部署 | Spring4Shell & Spring Cloud Function | 对包含 CVE-2022-22965(Spring MVC)或 CVE-2022-22963(Spring Cloud)的镜像发出告警。 | 已启用 |
| 运行时 | Iptables Executed in Privileged Container | 当特权 Pod 运行 iptables 时发出告警。 | 已启用 |
#高级别策略
| 生命周期阶段 | 策略名称 | 描述 | 状态 |
|---|---|---|---|
| 构建/部署 | Fixable CVSS >= 7 | 对 CVSS ≥ 7 的可修复漏洞发出告警。 | 已禁用 |
| 构建/部署 | Fixable Severity at least Important | 对评级为 Important 或更高的可修复漏洞发出告警。 | 已启用 |
| 构建/部署 | Rapid Reset: HTTP/2 DoS Vulnerability | 对易受 HTTP/2 Rapid Reset DoS 影响的镜像发出告警。 | 已禁用 |
| 构建/部署 | Secure Shell (ssh) Port Exposed in Image | 当镜像暴露端口 22 时发出告警。 | 已启用 |
| 部署 | Emergency Deployment Annotation | 对使用紧急注解绕过准入检查的部署发出告警。 | 已启用 |
| 部署 | Environment Variable Contains Secret | 当环境变量包含 'SECRET' 时发出告警。 | 已启用 |
| 部署 | Fixable CVSS >= 6 and Privileged | 对具有可修复 CVSS ≥ 6 漏洞的特权部署发出告警。 | 已禁用 |
| 部署 | Privileged Containers with Important and Critical Fixable CVEs | 对具有 Important/Critical 可修复漏洞的特权容器发出告警。 | 已启用 |
| 部署 | Secret Mounted as Environment Variable | 当 Secret 被挂载为环境变量时发出告警。 | 已禁用 |
| 部署 | Secure Shell (ssh) Port Exposed | 当部署暴露端口 22 时发出告警。 | 已启用 |
| 运行时 | Cryptocurrency Mining Process Execution | 检测加密货币挖矿进程。 | 已启用 |
| 运行时 | iptables Execution | 检测容器中的 iptables 使用情况。 | 已启用 |
| 运行时 | Kubernetes Actions: Exec into Pod | 对通过 Kubernetes API 在容器中执行的 exec 命令发出告警。 | 已启用 |
| 运行时 | Linux Group Add Execution | 检测 groupadd/addgroup 的使用。 | 已启用 |
| 运行时 | Linux User Add Execution | 检测 useradd/adduser 的使用。 | 已启用 |
| 运行时 | Login Binaries | 检测登录尝试。 | 已禁用 |
| 运行时 | Network Management Execution | 检测网络配置命令。 | 已启用 |
| 运行时 | nmap Execution | 对 nmap 进程执行发出告警。 | 已启用 |
| 运行时 | OpenShift: Kubeadmin Secret Accessed | 对 kubeadmin Secret 访问发出告警。 | 已启用 |
| 运行时 | Password Binaries | 检测密码修改尝试。 | 已禁用 |
| 运行时 | Process Targeting Cluster Kubelet Endpoint | 检测对 kubelet/heapster 端点的误用。 | 已启用 |
| 运行时 | Process Targeting Cluster Kubernetes Docker Stats Endpoint | 检测对 docker stats 端点的误用。 | 已启用 |
| 运行时 | Process Targeting Kubernetes Service Endpoint | 检测对 Kubernetes Service API 端点的误用。 | 已启用 |
| 运行时 | Process with UID 0 | 对以 UID 0 运行的进程发出告警。 | 已禁用 |
| 运行时 | Secure Shell Server (sshd) Execution | 检测容器中的 SSH 守护进程执行。 | 已启用 |
| 运行时 | SetUID Processes | 检测 setuid 二进制文件的使用。 | 已禁用 |
| 运行时 | Shadow File Modification | 检测 shadow 文件修改。 | 已禁用 |
| 运行时 | Shell Spawned by Java Application | 检测由 Java 应用作为子进程启动的 shell。 | 已启用 |
| 运行时 | Unauthorized Network Flow | 对异常网络流量发出告警。 | 已启用 |
| 运行时 | Unauthorized Process Execution | 对锁定基线中的未授权进程执行发出告警。 | 已启用 |
#中等级别策略
| 生命周期阶段 | 策略名称 | 描述 | 状态 |
|---|---|---|---|
| 构建 | Docker CIS 4.4: Ensure images are scanned and rebuilt | 如果镜像未被扫描并通过安全补丁重新构建,则发出告警。 | 已禁用 |
| 部署 | 30-Day Scan Age | 如果部署在 30 天内未扫描,则发出告警。 | 已启用 |
| 部署 | CAP_SYS_ADMIN capability added | 如果容器通过 CAP_SYS_ADMIN 提权,则发出告警。 | 已启用 |
| 部署 | Container using read-write root filesystem | 如果容器使用可读写的 root 文件系统,则发出告警。 | 已禁用 |
| 部署 | Container with privilege escalation allowed | 如果容器允许权限提升,则发出告警。 | 已启用 |
| 部署 | Deployments should have at least one Ingress Network Policy | 如果部署缺少 Ingress Network Policy,则发出告警。 | 已禁用 |
| 部署 | Deployments with externally exposed endpoints | 如果部署具有外部暴露的服务,则发出告警。 | 已禁用 |
| 部署 | Docker CIS 5.1: AppArmor profile enabled | 如果未启用 AppArmor,则发出告警。 | 已启用 |
| 部署 | Docker CIS 5.15: Host's process namespace not shared | 如果共享了主机的进程命名空间,则发出告警。 | 已启用 |
| 部署 | Docker CIS 5.16: Host's IPC namespace not shared | 如果共享了主机的 IPC 命名空间,则发出告警。 | 已启用 |
| 部署 | Docker CIS 5.19: Mount propagation mode not enabled | 如果启用了挂载传播模式,则发出告警。 | 已启用 |
| 部署 | Docker CIS 5.21: Default seccomp profile not disabled | 如果 seccomp profile 被禁用,则发出告警。 | 已禁用 |
| 部署 | Docker CIS 5.7: Privileged ports mapped within containers | 如果映射了特权端口(<1024),则发出告警。 | 已启用 |
| 部署 | Docker CIS 5.9/5.20: Host's network namespace not shared | 如果共享了主机的网络命名空间,则发出告警。 | 已启用 |
| 部署 | Images with no scans | 如果部署中的镜像未扫描,则发出告警。 | 已禁用 |
| 运行时 | Kubernetes Actions: Port Forward to Pod | 对通过 Kubernetes API 发起的端口转发请求发出告警。 | 已启用 |
| 部署 | Mount Container Runtime Socket | 如果挂载了容器运行时 socket,则发出告警。 | 已启用 |
| 部署 | Mounting Sensitive Host Directories | 如果挂载了敏感主机目录,则发出告警。 | 已启用 |
| 部署 | No resource requests or limits specified | 如果容器缺少资源 requests/limits,则发出告警。 | 已启用 |
| 部署 | Pod Service Account Token Automatically Mounted | 如果不必要地挂载了默认 service account token,则发出告警。 | 已启用 |
| 部署 | Privileged Container | 如果容器以特权模式运行,则发出告警。 | 已启用 |
| 运行时 | crontab Execution | 检测 crontab 的使用。 | 已启用 |
| 运行时 | Netcat Execution Detected | 检测 netcat 的使用。 | 已启用 |
| 运行时 | OpenShift: Central Admin Secret Accessed | 对访问 Central Admin Secret 发出告警。 | 已启用 |
| 运行时 | OpenShift: Secret Accessed by Impersonated User | 对冒充用户访问 Secret 发出告警。 | 已启用 |
| 运行时 | Remote File Copy Binary Execution | 对远程文件复制工具执行发出告警。 | 已启用 |
#低级别策略
| 生命周期阶段 | 策略名称 | 描述 | 状态 |
|---|---|---|---|
| 构建/部署 | 90-Day Image Age | 如果部署在 90 天内未更新,则发出告警。 | 已启用 |
| 构建/部署 | ADD Command used instead of COPY | 如果 Dockerfile 中使用了 ADD 命令,则发出告警。 | 已禁用 |
| 构建/部署 | Alpine Linux Package Manager (apk) in Image | 如果镜像中存在 apk,则发出告警。 | 已启用 |
| 构建/部署 | Curl in Image | 如果镜像中存在 curl,则发出告警。 | 已禁用 |
| 构建/部署 | Docker CIS 4.1: User for the Container Created | 确保容器以非 root 用户运行。 | 已启用 |
| 构建/部署 | Docker CIS 4.7: Alert on Update Instruction | 确保不要在 Dockerfile 中单独使用 update 指令。 | 已启用 |
| 构建/部署 | Insecure specified in CMD | 如果命令中使用了 'insecure',则发出告警。 | 已启用 |
| 构建/部署 | Latest tag | 如果镜像使用了 'latest' 标签,则发出告警。 | 已启用 |
| 构建/部署 | Red Hat Package Manager in Image | 如果存在 Red Hat、Fedora 或 CentOS 包管理器,则发出告警。 | 已启用 |
| 构建/部署 | Required Image Label | 如果镜像缺少必需标签,则发出告警。 | 已禁用 |
| 构建/部署 | Ubuntu Package Manager Execution | 检测 Ubuntu 包管理器的使用。 | 已启用 |
| 构建/部署 | Ubuntu Package Manager in Image | 如果镜像中存在 Debian/Ubuntu 包管理器,则发出告警。 | 已启用 |
| 构建/部署 | Wget in Image | 如果镜像中存在 wget,则发出告警。 | 已禁用 |
| 部署 | Drop All Capabilities | 如果部署未放弃所有能力,则发出告警。 | 已禁用 |
| 部署 | Improper Usage of Orchestrator Secrets Volume | 如果 Dockerfile 使用 'VOLUME /run/secrets',则发出告警。 | 已启用 |
| 部署 | Kubernetes Dashboard Deployed | 如果检测到 Kubernetes 监控面板服务,则发出告警。 | 已启用 |
| 部署 | Required Annotation: Email | 如果缺少 'email' 注解,则发出告警。 | 已禁用 |
| 部署 | Required Annotation: Owner/Team | 如果缺少 'owner' 或 'team' 注解,则发出告警。 | 已禁用 |
| 部署 | Required Label: Owner/Team | 如果缺少 'owner' 或 'team' 标签,则发出告警。 | 已禁用 |
| 运行时 | Alpine Linux Package Manager Execution | 如果在运行时执行 apk,则发出告警。 | 已启用 |
| 运行时 | chkconfig Execution | 检测 chkconfig 的使用。 | 已启用 |
| 运行时 | Compiler Tool Execution | 如果在运行时执行编译器二进制文件,则发出告警。 | 已启用 |
| 运行时 | Red Hat Package Manager Execution | 如果在运行时执行 Red Hat、Fedora 或 CentOS 包管理器,则发出告警。 | 已启用 |
| 运行时 | Shell Management | 对 shell 添加/删除命令发出告警。 | 已禁用 |
| 运行时 | systemctl Execution | 检测 systemctl 的使用。 | 已启用 |
| 运行时 | systemd Execution | 检测 systemd 的使用。 | 已启用 |
#管理默认策略
- 默认策略提供广泛的安全覆盖。
- 你可以在门户中 查看、克隆 并 编辑 克隆后的默认策略。
- 默认策略不能删除,也不能直接修改。