一、云原生安全的层级概念
"4C"
Code-Container-Cluster-Cloud
二、云原生各个层级的安全实践有哪些?
1、针对于Cloud针对的是公有云层面,其实就一点
1、使用主账号子角色,赋予最小权限原则进行资源管理。
2、对于Cluster
1、从Cluster的Node节点的OS开始就找信任和签名的发行版,避免高风险漏洞。例如Suse Linux
2、具备信任和签名的Cluster的发行版,例如:Rke、Rke2
3、使用CIS安全最佳实践对于OS、Cluster进行安全最佳实践处理。例如:benchmaker
4、针对RBAC的admin或者Clusteradmin角色和权限进行严格分发限制。
5、不同节点上的Pod之间 egress/ingress 通信必须存在严格限制的网络策略。
6、建设事件和日志收集和分析、告警平台。
3、对于Container
1、从image构建开始,选择信任和签名的baseimage.
2、build后的image要定期执行安全扫描。
3、推送到的仓库是私有且信任的。
4、pod运行时不允许使用特权容器以及root用户。
5、不允许使用默认的default RBAC角色访问api server.
4、code
1、code在开发时不允许在code中明文或者base64等编码写敏感信息。例如数据库ip地址,用户名和密码。使用env或者k8s 的secret引入。
2、在code构建时,使用信任的构建工具。
3、构建后的产物使用定期使用sonar代码审查(静态扫描)