1、安全运维的重要性

  • 万物互联,安全为基,企业的网络安全不可小视
  • 服务器被黑事件频发
  • 公司重要数据资产在运维手中

2、SecDevOps

笔记1:安全运维 - 图1

与DevOps相似,是一种哲学,鼓励运维人员、开发人员、测试人员和安全人员进行更高水平协作,将信息安全被放在事前考虑,将安全性注入自动化流程中,以确保整个产品周期内的信息安全。

3、k8s提供的安全机制

为保证集群以及容器应用的安全,kubernetes提供了多种安全机制,限制容器行为,减少容器和集群的攻击面,保证整个系统的安全性。

  • 集群安全:TLS证书认证、RBAC
  • Security Context:限制容器的行为,例如只读文件系统、特权、运行用户等
  • Pod Security Policy:集群级的Pod安全策略,自动为集群内的Pod配置安全策略
  • Sysctls:允许容器设置内核参数
  • AppArmor:限制容器中应用对资源的访问权限
  • Network Policies:控制集群中网络通信
  • Seccomp:限制容器内进程的系统调用
  • ….

4、k8s安全运维实践思路

  1. 构建阶段
    1. 最小的基础镜像
    2. 不添加不必要的组件
    3. 使用最新镜像
    4. 使用镜像扫描识别已知漏洞
    5. 将安全工作集成到CI/CD
  2. 部署阶段
    1. 名称空间隔离敏感工作负载
    2. 网络策略控制Pod和集群之间的流量
    3. 评估容器使用特权
    4. 评估镜像来源
    5. 镜像扫描扩展到部署阶段
    6. 启用RBAC授权
  3. 运行阶段
    1. 漏洞扫描扩展到正在运行的部署
    2. 配置Pod安全上下文
    3. 限制不必要的或不安全的网络通信
  4. 基础设施安全
    1. 更新k8s版本
    2. 安全地配置kubernetes API Server
    3. etcd的安全
    4. kubelet的安全
  5. 实施k8s安全
    1. 将安全更早地嵌入到容器的生命周期中
    2. 使用kubernetes内置安全控制机制来降低运营风险
    3. 按优先级进行修复工作

等保三级