导读 | 所有利益相关者预先参与一个布局良好的计划,这是构建更安全的容器环境的第一步。如今,容器仍然是应用程序部署和迁移的主流技术。行业专家Paul Rubens将其分解为可以理解的几个部分——陷阱、容器管理系统、安全性等等。 |
所有利益相关者预先参与一个布局良好的计划,这是构建更安全的容器环境的第一步。
如今,容器仍然是应用程序部署和迁移的主流技术。行业专家Paul Rubens将其分解为可以理解的几个部分——陷阱、容器管理系统、安全性等等。因此,现在人们已经找到了更加可靠和有效的方法来跨平台部署和扩展软件,但它也为恶意攻击者提供了利用这些容器的方法。
在过去几年中,虽然在容器及其编排系统(如Kubernetes)的安全性方面取得了一些重大改进,但也发现了几个主要的漏洞。
令人印象深刻的是,Kubernetes等容器实施和管理工具使企业能够自动化应用程序部署的各个方面,从而带来惊人的业务收益。另一方面,随着IT团队对部署Kubernetes越来越感兴趣,恶意攻击者对破坏Kubernetes集群也越来越关注。
随着Kubernetes的采用和部署的增长,安全风险也会随之增加。这得到了安全专家的广泛认同。最近在云计算和移动开发空间中发生了多起攻击事件,这包括从中断、加密挖掘、勒索软件到数据窃取的所有内容。
当然,这些类型的部署与传统环境一样容易受到外部攻击者和具有恶意的内部人员的攻击。因此,更重要的是确保大型Kubernetes环境具有正确的部署体系结构,并为所有这些部署使用安全实践。
随着Kubernetes被广泛采用,它成为威胁行为者的主要目标。Aqua Security公司首席技术官Amir Jerbi表示,“随着Kubernetes的采用率迅速上升,人们可能会发现以前未被注意到的差距,另一方面由于更高的知名度而受到网络攻击者的更多关注。”
自2015年以来,发现了一些关键和显著的漏洞,使安全和开发人员对其规划和部署架构必须小心谨慎。一些更严重的缺陷允许对运行在Kubernetes集群中的任何节点进行完全的管理员访问,这将允许黑客注入恶意代码、破坏整个集群环境或窃取敏感数据。
在集群安全性方面,有几点需要考虑。容器的动态组合在Kubernetes环境中带来了安全挑战。在考虑集群安全性时要考虑的关键事项是:
-
- 由于每个容器中存在各种漏洞,特别是在使用容器编排方式(如Docker和Kubernetes)时,攻击面上的漏洞被利用。
-
- 需要监控的东西向流量增加,尤其是在主机和云计算环境中。
-
- 安全团队能够确保安全自动化与不断变化的容器环境保持同步。
-
- 对部署过程和Kubernetes Pod本身的可见性,包括它们如何进行交叉通信。
-
- 用于在容器之间的东西向通信中检测恶意行为的手段,包括检测单个容器或容器内的漏洞利用。
- 使用最佳访问安全实践,审查/规划和记录Kubernetes集群,以便更好地了解内部威胁。
安全流程的简化也非常重要,这样它就不会减慢或阻碍应用程序/开发团队的工作。对于整个组织以及更大范围内的容器化部署,企业需要考虑的一点是,确保减少审批时间的安全过程。此外,必须简化安全警报过程,并能够轻松识别最重要的攻击。最后,企业的Kubernetes环境需要为网络连接和特定容器正确部署分段。
如前所述,随着这些工具的普及,攻击者利用这些工具的风险增加。某些漏洞的风险承受能力因规模、复杂程度和环境而异。
但是,要注意的主要安全风险包括:
-
- Kubernetes环境中的攻击可能是由外部人员或内部人员发起的,无论是有意还是无意(通常是网络钓鱼攻击)。
-
- 当忽略应用程序漏洞或错误配置时,容器可能会受到危害,从而允许威胁参与者进入,并开始寻求进一步访问和更大的中断。
-
- 由于受损容器而未经授权的Pod连接尝试访问其他或相同主机上的其他Pod。网络监控和过滤的类型需要是第7层,以便检测和阻止对可信IP地址的攻击。
-
- 企业环境中的数据窃取,也称为“泄漏”。这种类型的攻击有很多种部署和隐藏方式,并通过网络隧道来隐藏泄漏。
-
- 利用Kubernetes基础设施本身,例如Kubelet和API服务器。
- 业务流程工具折衷允许攻击者破坏应用程序,并访问运行环境所需的其他资源。
俗话说,“做事,要么不做,要么尽力做好”。这有时可能不那么明显,但是当需要更好的整体安全性时,企业需要部署具有正确概念和架构的Kubernetes,这一点尤其重要。
由于此编排工具的功能增强,Kubernetes功能和部署变得更加流行——从用于小型部署的简单Pod体系结构或跨平台的更大规模Kubernetes集成。当然,这些部署的复杂性以及安全风险也是如此。
以下是有关Kubernetes部署最佳实践的一些重要提示:
-
- 必须强制执行最低权限。使用这种类型的模型来防止广泛访问,可以在发生攻击时更好地控制攻击。最好使用内置的Pod安全策略来确定和限制Pod的功能。
-
- 应始终部署强身份验证最佳实践,并且所有Kubernetes模块都必须进行身份验证。
-
- 集群分段配置和部署以类似于以前最低权限的方式运行。在同一基础结构环境中使用相互分离的虚拟集群是最佳实践。
-
- 使用容器本身的防火墙有助于在使用分段时阻止跨网络的活动。
-
- 对可能发生的事件进行环境监控,尽管实施了最佳安全实践。有一些特定的第三方安全工具可以防止攻击的传播,并识别企业环境中的策略违规情况。
- 定义运营、开发、安全团队之间的角色。职责分离是一种最佳实践,应以明确的角色和责任记录在案。
无论企业的项目和环境是多大,无论是针对特定平台迁移的单个内部Pod还是具有多个集群的大型云部署,企业的开发团队和安全团队在规划过程中协同工作都很重要。这包括确定适当的角色和责任,并在所有团队之间定期沟通。简而言之,所有利益相关者都参与完善的计划,这是构建更安全的容器环境的第一步。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/127217.html