开发者学堂课程【云原生实践公开课:容器安全实践与授权管理的最佳实践】学习笔记,与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/698/detail/12277
容器安全实践与授权管理的最佳实践
内容介绍:
一、 安全挑战
二、 应用安全
三、 主机安全
四、 供应链安全
五、 总结
一. 安全挑战
1. 云原生下的安全挑战
- 新的攻击面
- 新的攻击手段
- 分钟级的生命周期
- 更高的部署密度
- 镜像中存在大量漏洞
- CVE频出
应用架构演进带来了安全防护和合规审计的挑战升级
2. 云原生安全原则
- 零信任安全模型下没有绝对的安全域
- 在暴露的服务前设置尽可能多的防护层,实现纵深防御
- 权限配置和凭证下发遵循权限
- 最小化原则最小化攻击面
二、应用安全
1. 应用安全攻击路径
- 攻击者恶意窃取kubeconfig或应用对应的serviceaccount,造成集群访问凭证
泄露
- 攻击者利用窃取的集群访问凭证对集群发起攻击
- 攻击者可能通过访问集群apiserver 获取secret 等敏感信息进一步越权攻击
2. 细粒度访问控制策略
- 在云资源控制平面,遵循权限最小化原则合理分配云账号的资源访问权限
- 在K8s集群数据平面,根据业务场景,通过Namespace 实现人员/应用/部门之
间的逻辑隔离
- 使用RBAC进行资源模型维度的细粒度访问控制
- 及时吊销或轮转可能泄露的访问凭证
3. 应用网络安全
- 控制容器入网流量:
- 限定容器允许监听的指定协议,端口和服务标签等
- 限定除LB和Ingress关联的服务外不允许外网IP访问
- 限定容器只允许其服务消费者访问
- 控制容器出网流量:
- 禁止不需要访问公网的Pods出网流量
代码示例:
kind: NetworkPolicy
apiversion : networking.k8s.io/v1
metadata :
namespace : my-app
name : deny-from-other-namespaces
spec:
podselector :
matchLabels:
ingress:
- from:
- podselector : { }
4. ServiceMesh
l 通过sidecar 代理服务之间的请求
l 服务之间保证mTLS传输加密
l 应用证书托管下发和自动更新
l 基于安全策略的服务间东西向网络访问控制