暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

多集群安全管理难?试试Rancher应用商店的这个小工具吧!

Rancher 2020-09-04
132

Kubernetes提供了快速构建和发布应用程序的自由,同时极大减少了部署和服务更新周期。


然而,应用部署的速度需要一种新的方法,比如在部署流水线中尽早集成工具,并根据Kubernetes安全最佳实践检查代码和配置。


挑战:自动化并统一多集群的安全防护(Guardrail)


Kubernetes有许多安全工具可以解决强化集群和内部运行的应用程序所需的各个方面。运维团队需要理解这些安全工具并对它们的实施保持跟踪,同时还需确保部署周期的敏捷和高效。


什么是Kubernetes强化(hardening)?以及安全防护策略需要依赖什么?


首先,其目标是在不破坏应用程序的情况下,将权限以及网络访问、文件系统访问以及API server访问降至应用程序所需的最低限度。遵循这些要求,从构建开始,从部署到生产,都可以通过持续的安全性和配置检查来保护你的部署。


  • 扫描Kubernetes集群的应用配置和部署文件以确保你已经实现了安全的最佳实践。确保没有错误的配置通过部署流水线,并且随着时间的推移不会发生负面的安全漂移(drift),这将帮助你更好地了解你的分布式和复杂的Kubernetes项目。


  • 监控Kubernetes网络策略并查看它们是如何分层到安全组之上的,使策略能够通过应用标签轻松调整和完善,并应用到组织中的相关层级。


  • 控制谁可以访问Kubernetes API server。默认情况下,Kubernetes会为每一个创建的pod创建一个服务账户。在大多数情况下,你不需要这些权限,但往往这些确切的权限会是利用Kubernetes API server的前提条件之一。


围绕Kubernetes需要考虑的安全问题很多,包括Pod安全策略(PSP)、网络策略、API server访问权限等等。


让我们来看看目前已知的两个风险,这两个风险也十分普遍:


  • Kubernetes常见的漏洞和风险暴露(CVE):虽然Kubernetes极大地简化了最敏感的容器化环境的编排,但对于需要快速检测甚至更快响应的关键安全漏洞而言,它不是安全的。一个很好的例子是在最近的一篇博客中(https://blog.alcide.io/new-kubernetes-control-plane-vulnerability-cve-2020-8555)介绍的一个比较新的Kubernetes控制平面漏洞(CVE-2020-8555),它影响了kube-controller-manager。最终,它可以让攻击者绕过认证控制,并获得敏感数据的访问权。

  • 猎取错位的Secret或过度的Secret访问权限:Kubernetes secret存储和管理敏感信息,如密码、OAuth令牌和API密钥。将这些信息放置在纯文本或其他组件(如config map)中,会使其很容易暴露给未经授权的用户或其他工作负载。它可以最终使攻击者访问这个secret所保护的资产。


Alcide和Rancher:统一管理多集群安全


分布式环境的复杂性日益增加,为更高的安全风险打开了大门,因此业界呼吁采取新的创新缓解策略。


这就是Alcide与Rancher合作并集成Alcide Advisor(https://www.alcide.io/kubernetes-advisor)的原因,Alcide Advisor是一个Kubernetes多集群漏洞扫描器,旨在检测CI/CD流水线中的安全和一致性偏移。


这种集成在Rancher的编排功能之上增加了一个多集群安全自动化层。DevOps和SecOps团队可以通过利用Rancher的资源并从Alcide直接获取Rancher账户的实时数据源,持续保护他们的Kubernetes部署。


使用Alcide Advisor和持续交付集成

进行左移(shifting left)


如前所述,Alcide Advisor是一款Kubernetes多集群漏洞扫描器,它涵盖了丰富的Kubernetes和Istio安全最佳实践和合规性检查。目前,Advisor可以通过Rancher的代码库(https://github.com/rancher/helm3-charts/tree/master/charts/alcide-advisor-cronjob/v2.1.0)获得,通过Helm chart简单打包,用户可以在几秒钟内获得访问权限并在早期阶段运行完整的集群扫描。也可以直接从Rancher的应用商店中获取。



下面的例子是我们在demo集群上运行的一个扫描的代码段,显示了我们在整个扫描过程中验证的一些检查,并最终呈现了一份总结报告。这个生成的报告也可以使用HTML页面查看:


Alcide Advisor默认配置文件扫描和结果


为什么持续交付和持续扫描如此重要?


虽然有几个工具可以在早期阶段执行扫描,但请记住,它们也可以呈现几个配置和资源,如secret、镜像源和RBAC设置。因此,部署前扫描不一定会给你最准确的问题映射。


自动化流水线最终会配置第三方容器镜像,用Helm chart或Kubernetes资源进行包装,并将配置和secret注入到各种特定实现的位置。


此外,在CD阶段之前不会检测到网络策略和PSP之类的配置。Kubernetes还包括允许更改已部署资源的admission控制器,这可能导致已部署资源和配置之间出现负漂移。


总  结


在多个集群中持续保持高水平的安全是至关重要的,并且应该在整个CI/CD流水线中严格执行安全策略。


有一些关键的组成部分需要跟踪,比如集群基础设施、资源和工作负载的安全加固等等。


将Rancher的管理功能与Alcide的严密安全层相结合,最终将加速运维流程,并为DevOps和安全团队赋权。通过利用Alcide与Rancher,你可以建立一个基线(baseline),了解集群中当前运行的情况,确保现有环境满足预期。


推荐阅读

快速集成Citrix ADC与Istio,实现微服务应用内的流量优化!

不确定K8S YAML文件是否符合最佳实践?这6个工具可以帮你!

使用kind快速创建本地集群

About Rancher Labs


Rancher Labs由CloudStack之父梁胜创建。旗舰产品Rancher是一个开源的企业级Kubernetes管理平台,实现了Kubernetes集群在混合云+本地数据中心的集中部署与管理。Rancher一向因操作体验的直观、极简备受用户青睐,被Forrester评为2018年全球容器管理平台领导厂商,被Gartner评为2017年全球最酷的云基础设施供应商。


目前Rancher在全球拥有超过三亿的核心镜像下载量,并拥有包括中国联通、中国平安、中国人寿、上汽集团、三星、西门子、育碧游戏、LINE、WWK保险集团、澳电讯公司、德国铁路、厦门航空、新东方等全球著名企业在内的共40000家企业客户。

文章转载自Rancher,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论