全球数据弹性领域领导者 #1
Veeam 为受 CrowdStrike 内容更新影响的客户提供指导

什么是容器安全?

容器安全是指用于保护容器工作负载的一组工具和安全流程。这包括保护容器中使用的映像、容器本身以及容器编排平台(如 Kubernetes、AWS ECS 和 Red Hat OpenShift 容器平台)。尽管容器具有某些保护功能,但它们仍然容易受到攻击。要考虑的容器安全性的其他方面包括构建安全容器和建立受保护的运行时环境。除了主动保护容器外,采用强大的 Kubernetes 备份和恢复流程以及其他容器服务也很重要。

容器

容器是一种标准的软件单元,用于打包代码及其所有依赖项,因此应用程序可以快速可靠地从一个计算环境运行到另一个计算环境。容器将共享计算机的操作系统内核,因此不需要为每个应用程序配置操作系统,从而提高了服务器效率并降低了服务器成本和许可成本。开发人员使用此功能在虚拟容器内部运行微服务和其他应用程序,这些微服务和应用程序与服务器或计算机上的其他应用程序隔离。与 虚拟机(VM)不同 ,容器具有可移植性,可以在具有支持容器类型的守护程序服务的任何环境中运行。虽然 Docker 是最流行的容器技术,但还有许多其他类型,包括原始的 LXC Linux 容器。

编排平台

尽管容器可以独立运行,但更常见的方法是使用特定软件平台来管理和配置容器,尤其是在使用多个容器时。这些平台的常见示例包括 Kubernetes、AWS 韧性容器服务和 Docker Swarm。

容器安全为何十分重要?

尽管容器可隔离应用程序并具有一定程度的安全性,但它们仍然容易受到网络安全攻击。入口点包括受损镜像、薄弱的访问控制以及容器与主机软件之间的不良隔离。黑客访问容器的另一种常见方式是通过用作容器构建块的损坏的第三方镜像。容器镜像是一个静态可执行文件,其中包含创建容器所需的库、工具和软件,通常由基础镜像之上的多个层组成。在多个容器中使用的被黑客篡改的镜像可能会造成严重损坏。

另一个因素是容器存储数据的位置和方式。最初,容器是无状态的,在不存储状态数据的情况下运行,并且在关闭时不留下任何痕迹。主机操作系统存储持久性数据。但是,当开发人员使用容器来划分遗留应用程序和其他不是为容器化而编写的应用程序时,就需要存储状态数据(有状态性)。虽然 Docker、Kubernetes 和其他企业提供了管理有状态容器的方法,但使用持续备份在系统故障后恢复有状态容器的方法至关重要。

容器安全组件

容器安全可以分解为几个组成部分,包括开发、构建环境、运行时环境和编排。

容器开发

您应该非常小心地验证容器开发中使用的软件和映像是否编写良好,并且不包含漏洞、配置缺陷或恶意软件。映像注册表必须是安全的,并且仅保存受信任的映像。始终使用容器扫描工具检查漏洞,并避免存储陈旧或过时的映像。

容器构建环境

构建环境必须完全安全。开发人员应使用自动化工具来验证所使用的组件,最好采用自动化 CI/CD 管道,以最大限度地降低风险并提高可见性。

运行时环境

必须使用严格的访问控制协议妥善保护运行时环境。使用自动化安全策略来检查违规和漏洞有助于将安全风险降至最低。容器本身应仅以所需的最小权限执行,从而减少攻击者利用具有提升权限的容器获取主机控制的机会。

编排和基础架构

使用 Kubernetes 等平台大规模编排容器具有挑战性。确保主机操作系统安全至关重要,并且始终遵循编排平台提供的最佳实践工具也至关重要。同样,请确保服务器和网络基础架构安全。

容器安全的好处

良好的容器安全性的优势涵盖容器开发和部署的所有方面。有效的容器安全通过最大程度地减少攻击面来降低风险。它提高了透明度,增加了管道完整性,并改善了系统安全性和管理。

减少攻击面

良好的容器安全策略可以减少攻击面。这些策略通过保持接口简单且小巧来限制潜在的接入点。限制访问的最小权限策略限制了安全漏洞的可能性,并且每个容器都有其唯一的安全边界。

增强透明性

容器的相对简单性使用户能够分析和检查容器内容,尤其是与虚拟机相比。镜像扫描和使用可信镜像有助于确保镜像干净。

建立管道完整性

强大的 CI/CD 管道控制可防止黑客访问注册表、工作站和构建服务器。应通过定期审计和自动漏洞扫描来支持这些内容。管理员应将访问权限限制在足以允许用户完成其任务的范围内。

提高整体安全性

强调保护容器及其支持基础架构可以促进整体 IT 安全性改进。示例包括专门为容器配置的运行时和漏洞检测工具。这些工具与标准入侵检测软件和其他工具一起可全面提高安全性。

简化管理

有效的容器安全意味着可以更轻松地管理容器。开发人员在扩展容器应用程序时的顾虑较少。良好的容器安全性的另一个好处是可以减少管理容器化环境所需的时间和精力。

如何保护容器

保护容器是一个多步骤过程,其中包括保护容器映像、保护网络环境和保护构建管道。其他需要考虑的方面包括保护基于云的数据库和采用容器备份策略

验证容器映像

仔细选择来自可靠来源和注册表的容器映像,尤其是基础映像。确保您可以访问组件源代码。即便如此,最好彻底测试这些镜像以查找漏洞。添加应用程序或更改配置时也适用这一概念。

保护容器主机基础架构

始终使用提供高度容器隔离的容器主机操作系统,查看默认配置以消除攻击点,例如激活 Kubernetes 的访问控制功能。使用第三方安全监控工具监控主机环境。

保护容器网络环境

使用 Web 过滤和入侵防御系统来识别和阻止来自互联网的恶意攻击和内容。仅打开应用程序所需的端口,并使用传输层安全性(TLS)加密数据。在内部监控容器之间的网络流量,以检测可能表明攻击者已经立足的异常活动。仅在绝对必要时才允许容器之间的连接。

锁定管理堆栈

仔细控制容器主机平台上的权限。激活可增强网络安全性的平台功能,例如限制 Kubernetes Pod 之间的流量。使用单独的强化注册表来提高注册表安全性并保护其免遭攻击。

自动进行并保护 CI/CD 管道部署

保护构建服务器、工作站和代码存储库,以防止攻击者在交付管道中站稳脚跟。使用最小权限访问控制策略并定期对其进行审核。自动进行管理部署并使用漏洞扫描功能来标记安全问题。

采用强大的容器备份策略

持续备份您的容器和数据,并定期测试您还原工作负载的能力。请注意,真正无状态的容器是极少的,因此请确保备份策略包括容器备份和数据库组件。明确谁负责容器备份策略

容器安全最佳实践

容器采用率的巨大增长,尤其是在云端,意味着网络安全风险显著增加。为了最大限度地降低这种风险,必须实施容器安全最佳实践,包括:

  • 使用受信任的镜像。 扫描所有镜像以查找漏洞;仅从受信任的来源获取源镜像,并始终检查镜像出处。
  • 使用轻量级、短生命周期的容器。 通过将文件数量保持在最低限度,将文件的生命周期限制在尽可能短的时间段以及定期更换容器来增强容器安全性。
  • 创建安全的运行时环境。通过在安全平台上运行容器、激活平台安全功能和协议以及运行安全注册表来维护安全环境。
  • 采用强大的访问控制。 将对计算资源的容器访问限制在所需的范围内,使用基于角色的用户访问控制,并将管理员访问权限限制为仅创建基础架构。
  • 不要混用容器应用程序。将关键任务应用程序与容器主机分开,并根据其功能和用途在单独的主机上对容器进行分组,以在出现安全漏洞时将附带损害降至最低。
  • 采用持续监控。使用持续监控应用程序,例如运行时应用程序自我保护 (RASP) 控制以及容器运行时和漏洞工具。

如何立即开始使用 Veeam

容器应用程序的快速增长大大增加了潜在的网络攻击漏洞。请记住,容器代表着重大的基础设施变化,传统的安全解决方案可能无法提供足够的保护。因此,投资于旨在增强容器安全性的安全解决方案和最佳实践至关重要。此外,您应该始终使用专为容器基础架构设计的备份软件。Veeam 提供了多个易于使用的专用数据管理平台,包括:

  • 灵活的备份和还原功能
  • 灾难恢复功能
  • 便捷的可扩展性
  • 云和内部功能

其中包括 Veeam Kasten for Kubernetes,这是一款 Kubernetes 原生解决方案,可用于备份、灾难恢复以及跨不同 Kubernetes 集群、基础架构和分发版的应用程序迁移。

立即开始

5 个原因

查看演示

了解您如何通过 Veeam 实现数据韧性,有效应对任何威胁

5 个原因

联系我们

帮助贵组织选择合适的解决方案

5 个原因

Veeam 研发论坛

获取有关 Veeam 产品和软件的帮助