Docker和Kubernetes等容器技术是现代DevOps流程的基础。容器安全涉及保护容器、它们运行的基础设施以及在构建、部署和运行时期间在其中运行的应用程序。另一个方面是在集群和编排器级别保护容器。
容器安全是一个挑战,因为传统的安全工具通常与容器化环境不兼容。此外,随着DevSecOps的出现,组织开始意识到将容器安全集成到整个开发生命周期中的重要性。企业容器安全必须包括专用的容器安全工具,并与组织现有的安全策略和流程保持一致。
随着世界各地的组织向容器化基础设施过渡,越来越多的关键工作负载在容器中运行,使它们成为攻击者的主要目标。受损的容器可能会威胁到业务连续性、客户数据丢失或被盗的风险,并可能使公司面临合规风险。
容器安全的一个基本问题是容器所基于的图像。每个容器都是从镜像创建的,镜像中的任何文件或软件组件都由从它创建的所有容器继承。如果图像包含软件漏洞或恶意文件,攻击者将能够破坏生成的容器。这使得使用来自可信来源的经过审查的图像变得至关重要,并在开发生命周期的所有阶段扫描图像以确保它们安全且未被篡改。
另一个关键问题是强化容器化环境。组织必须制定流程以确保环境的每个元素都具有安全、强化的配置。这包括:
即使这个复杂链中的一个元素不安全——例如,如果容器镜像以root身份运行,或者Kubernetes集群没有正确实施RBAC授权——攻击者可以而且将会发现弱点,冒着破坏性破坏的风险。
以下是主要的容器安全挑战:

容器监控解决方案有助于跟踪容器性能、收集事件数据并衡量容器共享资源的影响。您可以设置多种类型的监控实践,包括:
这些工具可帮助组织防止大规模故障并确定个别事件的原因。容器监控工具还可以帮助优化资源分配和软件定义网络。
容器镜像扫描,或容器扫描,工具扫描容器及其组件以发现安全威胁。容器扫描工具逐层分析容器镜像以识别潜在的安全问题。它是DevOps团队常用来保护容器化工作流程的核心容器安全实践的核心容器安全实践。
容器化应用程序包括许多组件,例如开源依赖项、自定义代码、图像和Dockerfile。扫描所有组件中的漏洞至关重要。大多数解决方案使用已知漏洞数据库来确保组织能够及时了解威胁形势的发展保持最新状态。
容器运行时安全性是指用于保护容器在投入生产后免受威胁和漏洞侵害的工具和流程。容器运行时安全策略通常会引入一个强大的自动化组件,由开发人员和安全团队处理容器配置和实时环境扫描以查找漏洞和配置漂移。
Kubernetes是一个容器编排平台,可以通过最大限度地减少人为错误和以编程方式扩展安全配置来帮助减少容器安全问题。众所周知,Kubernetes非常复杂,可能会暴露于各种安全问题,从而形成一个高价值的攻击面,攻击者试图妥协。
在生产中使用Kubernetes的组织必须实施Kubernetes安全措施。Kubernetes安全性包括旨在保护Kubernetes平台及其编排的容器的各种技术、技术和策略。它有助于确保容器工作负载的安全。
镜像安全是容器安全的一个重要方面。容器是根据图像创建的,这些图像要么来自公共容器注册表,要么由组织内部开发。在任何一种情况下,这些图像都可能包含漏洞。扫描所有图像(无论其来源如何)并避免使用具有安全漏洞的图像至关重要。
团队通常认为他们只需要扫描操作系统包。这是一种常见的误解,可能会使您的环境面临安全风险。您需要扫描容器中运行的所有内容,包括非操作系统包。
扫描是至关重要的,因为任何包都可能包含一个漏洞,可能允许威胁参与者破坏系统。您必须扫描所有包,包括开源、商业、非操作系统和操作系统包。
将图像配置为使用“root”用户运行对开发人员来说很方便,但也会带来严重的安全风险。如果图像以root身份运行,则它们执行的任何代码也将在root用户下运行。这意味着攻击者者将拥有root访问权限,并可以在容器内运行恶意进程。原则上,内核隔离将阻止攻击者访问主机操作系统或环境的其他部分。攻击者将能够通过本地网络利用容器可用的任何服务。
此外,具有root访问权限的攻击者可以尝试容器突破攻击,这可能是由多个Linux内核漏洞造成的。容器默认以root身份运行,因此确保所有开发过程以不使用root访问权限的方式配置图像至关重要。应该在运行时检测到有风险的配置,并且不应将使用root访问权限的流氓镜像部署到生产环境中。
容器被设计为短期的,应该只运行其工作负载所需的基本组件。这意味着容器可以比传统服务器更安全:运行时间短意味着容器更频繁地更新,更少的组件意味着攻击面有限。
实际上,许多开发人员将容器视为服务器,一次运行它们数周,并添加文件和组件,直到容器镜像变得臃肿。另一种反模式是将一个容器用于多个工作负载。这种使用少量臃肿容器的趋势不利于安全性。为确保容器安全,将容器中的文件数量减少到绝对最小值,确保每个容器运行一个小的、特定的工作负载,并定期拆除容器以更新它们。
控制容器发送的出口网络流量是一项关键的安全措施。您可以使用跟踪容器之间传输的流量的监控工具来实现它。这些工具会自动确定正确的容器网络表面,包括进程和端口之间的绑定。
监控工具可以帮助您以多种方式控制容器网络访问。它可以检测容器与网络上各种实体之间流动的数据流量。此外,这些工具可以检测异常以识别异常网络活动,如端口扫描或异常流量。
重新启动标志使您能够定义希望每个容器如何在退出时重新启动或不重新启动。此过程需要正确配置,因为不断退出然后尝试重新启动的容器可能会导致主机上出现拒绝服务(DoS)。
如果忽略容器的退出状态并让它不断尝试重新启动,则无法确定退出的根本原因。您必须调查容器在退出时重新启动的尝试,但您不一定需要手动执行此操作。您可以配置on-failure容器重启策略来限制允许的重启尝试次数。
本文来源:国外服务器--什么是容器安全(容器安全操作的一般要求)
本文地址:https://www.idcbaba.com/guowai/2345.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 1919100645@qq.com 举报,一经查实,本站将立刻删除。