如何提高容器安全意识

电子说

1.2w人已加入

描述

Docker 等容器化技术让公司可以比使用传统流程更快地部署服务和应用程序。无需部署和配置功能齐全的操作系统和所需的应用程序,您只需下载并启动该应用程序的 Docker 映像,通常只需几分钟即可开始使用它。Docker 是可移植的,这意味着您可以在运行 Linux、Windows 或 Mac 的工作站上运行相同的映像。例如,DevOps 工程师通常会先在自己的 Mac 或 Windows 工作站上通过 Docker 映像创建和测试新服务,然后再将其上传到生产环境中的目的地。无论图像是在他们的工作站上运行还是在云服务提供商托管的生产环境中运行,他们都可以依靠类似的行为。

下载并安装 Docker 后,您可以立即使用它。使用 Docker 命令,您可以指定一个注册表(Docker 镜像形式的软件集合),然后下载特定应用程序的 Docker 镜像并启动它。Docker 镜像是一个非常小的专用文件,通常只包含启用应用程序所需的最少文件。例如,可以不使用 Ubuntu Linux 发行版,而是使用占用空间较小的发行版(例如 Alpine-Linux)构建映像。通常,只包括必需品,这会使图像小得多。这也有可能更安全的理想副作用,因为更少的代码和包通常会导致更小的表面积供攻击者利用。

较大的环境通常会使用 Kubernetes 等编排软件来管理其容器环境。Kubernetes 有助于根据定义的业务逻辑管理容器的扩展和部署。服务网格和微服务架构在设计和支持可扩展的基于云的应用程序方面也发挥着重要作用。服务网格协调不同服务之间的网络流量,并可以充当服务之间的负载均衡器。服务网格还可以提供额外的安全功能,例如互连服务之间的加密和身份验证。将应用程序部署为容器中的微服务意味着每个服务(例如,用户帐户管理服务和购物车服务)都是独立构建和托管的。结合 Kubernetes 和服务网格,

保护这些技术依赖于与保护传统网络和服务类似的安全原则,但确实需要一种略有不同的方法和技术来了解容器的运行方式。让我们回顾一下用于保护和管理这些新技术并防止容器防御出现漏洞的工具和流程。

漏洞管理

容器是使用定义容器行为的只读文件的图像来部署的。通常您会从外部注册表(如 docker hub)下载图像,或者更高级的用户会创建自己的图像。镜像通常基于一个非常轻量级的操作系统,在该操作系统之上安装了一个特定的应用程序(例如 Nginx 或 MySQL)。在部署容器之前,使用容器和镜像感知漏洞扫描器扫描镜像以确保镜像安全。当您检测到图像中的漏洞时,更新图像并重新部署容器。使用传统的漏洞扫描器(例如 Nessus)在容器化环境中可能效果不佳,因为目标容器会随着负载的变化而变化,并且 IP 地址通常会在服务网格或覆盖网络架构中重复使用。换句话说,扫描网络范围的结果可能每天都不同,并且关联发现可能很困难。

存货

容器化架构依赖于新技术,清点这些对象及其依赖关系以适当保护它们仍然很重要。这在原则上与对包括服务器、应用程序和网络配置(如子网和访问控制列表)的 IT 资源进行传统盘点没有必然的不同。然而,传统 IT 环境和容器化环境之间的构造通常不同。容器化环境中需要清点的重要对象包括使用了哪些图像、运行的容器、运行托管图像的 Docker 的节点、环境中运行的所有服务和应用程序,以及限制对这些对象的访问的网络组。

记录

在容器化环境中记录事件和收集重要的遥测数据有助于发现异常行为。寻找可以检查容器网络连接的容器感知工具。由于容器的短暂性和动态性,传统方法(例如基于 IP 地址的静态规则)可能效果不佳。记录活动是运行时保护的重要组成部分。寻找可以衡量正常操作情况的软件作为基准,然后对变体发出警报,包括事件前后发生的事情。许多容器安全解决方案分析和呈现有助于跟进可能事件的日志数据取证视图。

结论

容器正迅速成为云计算中的流行标准。它们相对快速且易于引入环境,但传统的安全工具和流程可能无法识别这些技术。一定要了解容器是如何工作的,这样当它们进入您的环境时,您就会做好准备并避免您的环境中出现可能给您带来不必要风险的黑洞。

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分