
1) 【一句话结论】
中国铁信的云计算平台通过“容器运行时隔离(系统调用/权限限制)、镜像安全(漏洞扫描与签名)、网络隔离(CNI+策略)”等多层次防护,从镜像拉取、运行时监控到资源限制全流程保障容器安全,核心是“隔离+监控+限制”的组合策略。
2) 【原理/概念讲解】
首先解释容器运行时的定义:容器在宿主机上运行时,需确保其行为符合预期,不破坏宿主机或其他容器。因容器共享宿主机内核,若容器进程被攻击,可能影响整个宿主机。运行时安全需从三方面保障:
3) 【对比与适用场景】
| 措施 | 定义 | 特性 | 使用场景 | 注意点 |
|---|---|---|---|---|
| 容器运行时隔离 | 通过系统调用过滤限制容器进程的行为(Seccomp)或进程权限(AppArmor/SELinux) | 限制系统调用,减少攻击面;AppArmor提供细粒度策略 | 容器进程需访问特定系统调用(如网络、文件系统)的微服务 | 需精确配置策略,避免误报;策略更新可能影响容器功能 |
| 容器镜像安全 | 对容器镜像进行漏洞扫描(如Clair、Trivy),并使用数字签名验证来源 | 检测已知漏洞(如CVE),确保镜像未被篡改 | 镜像拉取前或部署前验证 | 需维护漏洞数据库,定期更新;签名需可信CA |
| 容器网络隔离 | 通过CNI插件(如Calico)实现容器间网络隔离,结合K8s NetworkPolicy控制流量 | 隔离容器网络,限制容器间通信 | 需控制容器间通信的微服务架构(如微服务间通信) | 策略配置复杂,可能影响业务流量 |
4) 【示例】
以Seccomp规则限制容器进程为例(CRI-O部署):
{
"namespaces": [],
"architectures": ["amd64"],
"defaultAction": "TRAP",
"syscalls": [
{
"names": ["sys_write"],
"action": "ALLOW"
},
{
"names": ["sys_execve"],
"action": "TRAP"
}
]
}
通过CRI-O的--seccomp参数应用该规则,确保容器进程无法执行sys_execve(恶意代码执行)等危险调用,仅允许必要操作(如sys_write写入日志)。
5) 【面试口播版答案】
(约90秒)
“面试官您好,关于中国铁信云计算平台中容器运行时的安全,核心是通过多层次防护,包括容器运行时隔离、镜像安全、网络隔离等。具体来说,第一种是运行时隔离,比如通过Seccomp和AppArmor限制容器进程的系统调用,比如只允许容器访问必要的文件和网络操作,禁止执行危险命令,原理是通过白名单机制过滤系统调用,减少攻击面。第二种是镜像安全,比如在镜像拉取时使用漏洞扫描工具(如Clair)检测已知漏洞,并采用数字签名验证镜像来源,确保镜像未被篡改,比如拉取镜像前检查CVE列表,发现漏洞则拒绝部署。第三种是网络隔离,通过CNI插件(如Calico)和K8s网络策略,限制容器间的网络流量,比如只允许微服务A与微服务B通信,其他容器无法访问,防止横向移动攻击。这些措施共同作用,从镜像拉取、运行时监控到资源限制,全方位保障容器安全。”
6) 【追问清单】
sign命令或工具(如Notary)对镜像进行签名,拉取时验证签名,确保镜像来源可信,未被篡改。7) 【常见坑/雷区】