容器的安全挑战及安全准则 NIST 800-190| 学习笔记

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 快速学习容器的安全挑战及安全准则 NIST 800-190。

开发者学堂课程【容器安全与 Palo Alto Networks 解决方案 :容器的安全挑战及安全准则 NIST 800-190】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/628/detail/9875


容器的安全挑战及安全准则 NIST 800-190

 

目录:

一、云原生系统的特点

二、最近针对容器的 Graboid 蠕虫病毒爆发

三、容器服务客户的安全责任举例

四、NIST SP 800-190 应用程序容器安全指南

 

一、云原生系统的特点

容器化

改善整体开发,人员体验,促进代码和组件的重复使用,并简化云原生应用程序的运行操作.

动态化管理

极大地提高了机器效率和资源利用率,同时降低了维护和运营的成本

面向微服务

大大提高了应用程序的整体灵活性和可维护性

云原生环境的安全挑战

超大规模

大型网络应用需要部署两百万个容器。手动为每个实体创建和维护安全规则的旧方法对于保护如此大规模的部署是不切实际的。

快速变化

部署周期已从每季度一个发布缩短到每天几个发布。在每个发行版中,应用程序都可能进行细微更改,保护它们的安全规则需要跟得上这些变化。

生命周期

安全不再仅仅是单个团队或个人的职责范围。必须将其纳入持续的软件构建和部署自动化流程中。建立"质量”门,让安全团队注入安全规则的传统方法会阻塞软件构件和的自动化流程。

第一讲容器的安全挑战及安全准则 NIST 800-190。要想了解容器特有的安全挑战,简单回顾一下七个云原生环境的特点。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式 API、

容器化,可以改善整开发人员体验促进、代码和组件的重复使用。并简化云员生应用程序的运行操作。

动态化管理,极大的提高了机器效率和资源利用率。同时降低了维护和运营的成本。

面向微服务,大大提高了应用程序的整体灵活性和可维护性。

传统的网络安全部署是根据用户应用即IP地址和端口,人为设置安全规则。这样的传统方法,在容器环境下,变得无法实施。

第一个挑战是规模,大型网络应用,可能需要部署两百万个容器。手动为每个实体创建和维护安全规则对于保护如此大规模的部署是不切实际的。

第二个挑战,是环境的快速变化,传统的应用版本更新频率通常是一年一次。频繁的可能是一个季度一次。容器环境下基于微服务的应用部署周期,每天。可能发布几个版本是很常见的。在每个发行版中,应用程序都可能进行细微的更改。保护他们的安全规则,要跟得上这样频繁的变化不是容易的事。

第三个挑战,是安全不再仅仅是单个团队或个人的事。而是要从应用的生命周期来考虑。必须将安全纳入持续的软件构建和部署的自动化流程中。建立“质量”门,让安全团队注入安全规则的传统方法。会阻塞软件构件和的自动化流程。

 

二、最近针对容器的 Graboid 蠕虫病毒爆发

首次在 Docker Engine (社区版)中发现借助容器传播的加密挖矿蠕虫病毒

2000多台 Docker 主机因保护不力而受到感染2,034个易受攻击的主机-57.4%的 IP地址来自中国。

容器安全的普及,属于起步阶段。还存在着很多认识的缺失。正是由于上述这些挑战。在很多容器环境中缺乏有效的针对容器环境的安全部署。Docker worm 是目前最流行的容器开发工具,在百度搜索中输入 Docker worm,就会发现 Docker worm 是2019年10月,由安全专家发现的 Docker worm 蠕虫攻击。

这是首次在 Docker Engine 中发现借主助容器传播的加密挖矿蠕虫病毒。有两千多台主机,因不利而受感染,由于大多数传统端点保护软件都不会检查容器中的资源及动作。因此,这种恶意的动作难以被发现。2034个易受攻击的主机中,居然有57.4%的 IP 地址来自国内。可以看到国内的容器安全形式不容乐观。

如何才能有效保护容器环境,免受攻击呢,公有云的厂商都在安全上下了很大的功夫,也不断推出新的安全产品,如果把容器部署在一家安全做得好的公有云上是否就可以高枕无忧了。实际的情况。是不是这样呢?要想回答这个问题。使用公有云。安全职责是怎么划分的

发表在2019年阿里云安全白皮书中的阿里云安全责任共担,基于阿里云的客户应用,其安全责任由双方共担阿里云确保云服务平台的安全性,客户负责基于阿里云服务构建的应用系统的安全。阿里云负责基础设施物理设备,飞天分布是云操作系统及之上的各种云服务产品的安全控制管理和运营,为客户提供云盾安全服务,保护客户的应用系统。

客户负责以安全的方式配置和使用云服务器 ECS,数据库 RDS,及其他云产品,基于这些云产品。,以安全可控的方式,构建自己的应用,客户可选择使用云盾安全服务或者阿里云安全生态里第三方安全厂商的安全产品。

为其应用系统,提供安全防护,也就是说阿里云负责设施平台的安全,并提供安全设置工具,用户要对自己的配置、应用数据负责。如果对自己的云资源设置不当。比如说将密匙保管不当,或者对前面提到的蠕虫攻击,没有部署防范手段,就公有云厂商安全做得再好也无法保证用户不受攻击。

对于容器环境,公有云厂商的责任会包括,平台和应用的管理。用户还是要对自己的配置、应用和数据负责。如果用户的应用构建在有严重漏洞的基础影像上,或者对生产环境缺乏持续的漏洞监控,没有手段,监控应用之间的访问是否正常,对挖矿蠕虫攻击,没有识别的手段。在应用中嵌入了密室,这些都会对用户的容器环境造成严重的安全隐患。

 

三、容器服务客户的安全责任举例

控制镜像的来源

应用开发部署生命周期中持续的镜像漏洞扫描

现有镜像存在已知漏洞及其严重性

容器生产环境中的漏洞持续监控

那些存在漏洞的容器需要优先修复

特权容器有权访问主机操作系统,了解和控制特权容器的使用

了解和控制应用服务暴露在集群之外的容器

了解所有容器中运行的进程是否正常

了解所有容器中网络访问是否正常

了解所有容器中系统调用是否正常字了解所有容器中文件访问是否正常

甄别和阻断恶意容器攻击

对容器应用服务进行合规性的检查和监控

一些容器服务涉及到用户安全责任的例子

控制镜像的来源,是用户的责任,如何能建立机制让应用的开发、集成部署运行的生命周期中只使用可靠的来源呢?

用户有责任在应用的生命周期中持续的进行镜像漏洞扫描,漏洞发现是不断更新的。昨天安全的镜像可能今天就会因为新发现的漏洞,而成为骇客攻击的目标。用户有责任了解现有镜像存在的已知漏洞极其严重性,以制定修复优先次序,用户有责任监控和管理生产环境。包括容器漏洞持续监控,修复存在漏洞的容器。

特权容器有权访问主机操作系统,用户有责任了解和控制特权容器的使用。以防止骇客通过容器攻击主机。用户有责任了解和控制应用服务暴露在集群之外的容器。这些容器最容易受到轰击,用户有责任了解运行时中所有的容器。行为是否正常?运行的进程是否正常?网络访问是否正常?系统调用是否正常?文件访问是否正常?用户有责任对不正常的行为设置规则警告还是阻断。用户有责任甄别阻断恶意容器攻击,用户有责任对容器应用服务进行合规性的检查和监控。

容器环境位于原生应用的开发、集成、部署提供了灵活高效的架构。而保护容器环境免受骇客攻击并不容易。

 

四、NIST SP 800-190 应用程序容器安全指南

美国国家标准技术研究所(NIST)发布联邦政府使用的指南

联邦政府部门需要在 NIST 安全指南发布一年之内遵照执行

NIST 安全标准是工业界参考的最佳实践

NIST SP 800-190是业界为数不多的容器安全标准之一

NIST 800-190从以下方面描述了容器化应用程序可能的面临的安全风险和应对措施

镜像

镜像仓库

编排工具

容器

主机

由于在业界的声誉,Twistlock 的联合创始人 John Morello 被邀请

撰写

NISTSP 800-190 应用容器安全标准

容器核心部件中可能存在的安全隐患

镜像

漏洞,配置缺失,潜藏的恶意程序,嵌入的明码密匙,不可靠来源的镜像

镜像仓库

过时的镜像,不安全的访问链接,不充足的认证和授权限制

编排工具

不设限制的管理员权限,未授权访问,容器之间的访问缺乏隔离和控制,不同敏感级别的应用混合部署,编排工具设置缺失

容器运行时

运行时软件漏洞,缺省允许容器间的网络访问不,安全的容器运行时设置,应用中存在的漏洞,流氓容器

主机

网络暴露,操作系统和组件中的漏洞,共享主机内核,不当设置的用户访问权限,对主机文件系统的不当更改

有没有容器安全指南可以帮助了解容器环境存在的安全风险和应对措施呢?美国国家标准技术研究所 nist 发布的800-190应用容器安全指南正是这样一份为数不多的容器安全指南!

下面我们就来介绍一下 NIST SP 800-190,美国国家标准技术研究所 NIST 的职责之一是发布计算机网系安全标准和指南。美国联邦政府部门需要在 NIST 安全指南发布一年之内,遵照之行。NIST 安全标准,也是美国其他政府部门一些外国政府及工业界,采用的重要参考。NIST SP 800-190 是业界为数不多的容器安全标志,由于在业界的声誉 Twistlock 的联合创始人  John Morello 被邀请撰写 NISTSP 800-190应用容器安全标准。

NISTSP 800-190 从镜像、镜像仓库、编排工具、容器运行时、以及运行容器的主机等几个核心部件、描述了可能存在了安全隐患和应对措施。

讨论并演示如何应对这些安全隐患

这些安全隐患包括镜像中存在的漏洞、镜像配置缺失、镜像中潜藏的恶意程序,嵌入镜像的明码密匙或者使用不可靠来源的镜像。

与镜像仓库相关的隐患,造成的原因包括过时的镜像、不安全的访问连接,不充足的认证和授权限制、镜像仓库是容器环境的核心,一旦被骇客侵入就很容易导致下游的容器和主机出问题

与编排工具相关的安全隐患,造成的原因可能有:不设限制的管理员权限、未授权访问,对容器之间的网络访问缺乏隔离和控制,将不同敏感级别的应用,混合部署在同一个主机上。编排工具设置缺失导致未授权的节点主机加入集群,进而导致集群被入侵。

容器运行时,中存在的安全隐患,包括运行时软件漏洞、导致恶意软件从容器中逃逸进而攻击其他容器和主机、缺少允许容器间的网络访问、不安全的容器运行时设置、应用中存在的漏洞、流氓容器是环境中未经计划或未经批准的。往往是开发人员为测试临时部署。这些容器通常没有经过严格的漏洞扫描和正确配置,更容易受到骇客的攻击。

与主机相关的安全隐患包括有主机的网络暴露以及操作系统中的漏洞造成的扩大了的攻击面所有共享一个主机内核,从而消弱了容器间的隔离,主机操作系统中存在的漏洞可以导致主机上运行的所有容器被攻击,不当设置了用户访问权限,容许用户不通过编排工具而直接访问主题,对主机文件系统的不当更改造成主机以及容器运行故障或安全事故。

每个容器环境中的核心都有可能存在多种安全隐患,容器环境具有大规模,变化迅速的特点,管理权限分散在开发、测试、集成、运维、安全等多个团队。容器不使用网络地址和端口,传统的网络安全工具。对容器不再具备可视性。保护容器环境的安全需要全新的理念、工具和措施。第二讲讨论容器安全的风险应对策略。

相关实践学习
通过workbench远程登录ECS,快速搭建Docker环境
本教程指导用户体验通过workbench远程登录ECS,完成搭建Docker环境的快速搭建,并使用Docker部署一个Nginx服务。
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
2月前
|
Docker 容器
Docker学习笔记三:如何运行一个容器?
Docker学习笔记三:如何运行一个容器?
Docker学习笔记三:如何运行一个容器?
|
3月前
|
Kubernetes 安全 Cloud Native
云原生|kubernetes|pod或容器的安全上下文配置解析
云原生|kubernetes|pod或容器的安全上下文配置解析
95 0
|
6月前
|
Kubernetes 安全 Linux
开源Chart包安全分析发布,阿里云视角容器安全基线的重要性
云原生环境下,容器成为了软件开发过程中打包与分发的标准。
197 0
开源Chart包安全分析发布,阿里云视角容器安全基线的重要性
|
20天前
|
存储 安全 测试技术
|
28天前
|
监控 安全 Linux
|
7月前
|
存储 PyTorch 算法框架/工具
Pytorch学习笔记(4):模型创建(Module)、模型容器(Containers)、AlexNet构建
Pytorch学习笔记(4):模型创建(Module)、模型容器(Containers)、AlexNet构建
72 0
Pytorch学习笔记(4):模型创建(Module)、模型容器(Containers)、AlexNet构建
|
3月前
|
监控 安全 持续交付
Docker与容器化安全:漏洞扫描和安全策略
容器化技术,特别是Docker,已经成为现代应用程序开发和部署的关键工具。然而,容器化环境也面临着安全挑战。为了保障容器环境的安全性,本文将介绍如何进行漏洞扫描、制定安全策略以及采取措施来保护Docker容器。我们将提供丰富的示例代码,以帮助大家更好地理解和应对容器安全的问题。
|
3月前
|
Kubernetes Docker 容器
Kubernetes学习笔记-Part.10 容器回退
Part.01 Kubernets与docker Part.02 Docker版本 Part.03 Kubernetes原理 Part.04 资源规划 Part.05 基础环境准备 Part.06 Docker安装 Part.07 Harbor搭建 Part.08 K8s环境安装 Part.09 K8s集群构建 Part.10 容器回退
41 0
|
8月前
|
C++ 容器
C++学习笔记_19 适配器容器-stack queue 2021-05-19
C++学习笔记_19 适配器容器-stack queue 2021-05-19
|
7月前
|
存储 Kubernetes 安全
Kubernetes 和容器安全的 7 个关键特性
Kubernetes 和容器安全的 7 个关键特性
89 0
Kubernetes 和容器安全的 7 个关键特性

相关产品

  • 容器镜像服务
  • 容器服务Kubernetes版