1、安全运维的重要性
- 万物互联,安全为基,企业的网络安全不可小视
- 服务器被黑事件频发
- 公司重要数据资产在运维手中
2、SecDevOps
与DevOps相似,是一种哲学,鼓励运维人员、开发人员、测试人员和安全人员进行更高水平协作,将信息安全被放在事前考虑,将安全性注入自动化流程中,以确保整个产品周期内的信息安全。
3、k8s提供的安全机制
为保证集群以及容器应用的安全,kubernetes提供了多种安全机制,限制容器行为,减少容器和集群的攻击面,保证整个系统的安全性。
- 集群安全:TLS证书认证、RBAC
- Security Context:限制容器的行为,例如只读文件系统、特权、运行用户等
- Pod Security Policy:集群级的Pod安全策略,自动为集群内的Pod配置安全策略
- Sysctls:允许容器设置内核参数
- AppArmor:限制容器中应用对资源的访问权限
- Network Policies:控制集群中网络通信
- Seccomp:限制容器内进程的系统调用
- ….
4、k8s安全运维实践思路
- 构建阶段
- 最小的基础镜像
- 不添加不必要的组件
- 使用最新镜像
- 使用镜像扫描识别已知漏洞
- 将安全工作集成到CI/CD
- 部署阶段
- 名称空间隔离敏感工作负载
- 网络策略控制Pod和集群之间的流量
- 评估容器使用特权
- 评估镜像来源
- 镜像扫描扩展到部署阶段
- 启用RBAC授权
- 运行阶段
- 漏洞扫描扩展到正在运行的部署
- 配置Pod安全上下文
- 限制不必要的或不安全的网络通信
- 基础设施安全
- 更新k8s版本
- 安全地配置kubernetes API Server
- etcd的安全
- kubelet的安全
- 实施k8s安全
- 将安全更早地嵌入到容器的生命周期中
- 使用kubernetes内置安全控制机制来降低运营风险
- 按优先级进行修复工作
等保三级