CIS Benchmarks
互联网安全中心 [74](Center for Internet Security,CIS)是一家利用全球 IT社区力量保护私人和公共组织免 受网络威胁的非利性机构。 CIS Benchmarks 被认为是保护 IT系统和数据免受常见攻击的全球标准和公认的最 佳实践。目前提供了包括操作系统、系统软件、云服务商、移动设备等众多类别的安全评测标准。
5.1.5.1 Docker CIS Benchmark
Docker 公司与 CIS合作制作了一份安全基准文档,用于审计容器环境的安全,当前包括五个版本 [^1] ,分别是
- CIS v1.0.0 for Docker 1.11.0 Benchmark;
- CIS v1.0.0 for Docker 1.12.0 Benchmark;
- CIS v1.0.0 for Docker 1.13.0 Benchmark;
- CIS v1.0.0 for Docker 1.6 Benchmark;
- CIS v1.1.0 for Docker Community Edition Benchmark
例如 CIS v1.0.0 for Docker 1.13.0 Benchmark,该基准文档发布于 2017 年 1 月 19 日,从主机配置(Host Configuration)、Docker 服务配置(Docker Daemon Configuration)、Docker 服务配置文件(Docker Daemon Configuration Files)、容器镜像和创建文件(Container Images and Build File)、运行时安全(Container Runtime)和 Docker 安全操作(Docker Security Operations)六个方面,提出了 100 多条安全配置与审计方法。
Docker 社区将该工具进行了开源实现 [75],当前的开源版本支持 CIS Docker Community Edition Benchmark v1.1.0。
Docker Hub 提供了该 Benchmark 的镜像,可以通过以下命令快速地实现部署应用,Docker 版本需要在 1.13.0
及以上。
docker run -it --net host --pid host --userns host --cap-add audit_control -e DOCKER_CONTENT_TRUST=$DOCKER_CONTENT_TRUST -v /var/lib:/var/lib
-v /var/run/docker.sock:/var/run/docker.sock
-v /usr/lib/systemd:/usr/lib/systemd
-v /etc:/etc --label docker_bench_security
docker/docker-bench-security
5.1.5.2 Kubernetes CIS Benchmark
CIS 同时还提供了 Kubernetes 的安全基准文档,用于对 Kubernetes 运行环境进行审计。当前包括两个版 本,分别是 CIS v1.0.0 for Kubernetes 1.6 Benchmark 和 CIS v1.2.0 for Kubernetes 1.8 Benchmark[^1] 。最新版本为 v1.2.0,支持 Kubernetes1.8。
CIS v1.2.0 for Kubernetes 1.8 Benchmark 发布于 2017 年 10 月,基准文档从 API Server 配置、Scheduler 配 置、Controller 配置、Etcd 等多个层面,提出了 100 多个安全审计的检测项目。
针对 Kubernetes 的合规和审计检查工具,也有众多组织对其进行了开源实现。其中包括 NeuVector 的 NeuVector kubernetes-cis-benchmark[76]、Aqua 的 kube-bench[77]等(均支持 Kubernetes 1.6 和 1.8)。
TUF & Notary
TUF[78](The Update Framework) 和 Notary[79] 是 云 原 生 计 算 基 金 会 [80](Cloud Native Computing Foundation,CNCF)增加的两个安全孵化项目。TUF是开源的安全和验证标准,Notary 是它的一个实现。TUF 框架最初由 Justin Cappos 教授及其在纽约大学 Tandon 工程学院的团队开发。Notary 原是 Docker1.8 版本发布 的一个镜像签名系统组件。
Notary 架构主要由 Server 和 Client 组成,Server 端主要运行并维护一个容器的受信集合,Client 端与 Server 交互,通过一种简单的方式,实现更安全的内容发布以及内容验证。
通常,我们可以通过 TLS安全传输层协议来保障通信双方的安全性,然而这种方法本质上存在缺陷,原因很 简单,Server 端的任何妥协,都将导致恶意内容替换合法内容。
在 Notary 的帮助下,容器镜像的发布者可以通过强安全的 Key 对容器镜像进行签名加密。一旦完成并准 备发布,镜像首先被推送至 Notary 受信的集合中。访问者只有通过安全隧道获取了发布者的公钥之后,才能和 Notary 中的 Server 建议通信,并访问到合适准确的镜像。
Spiffe
Spiffe[81]是 Google 积极推动的、开放的、社区驱动的服务安全框架,主要用于识别和保护基于 Web 的服务 间通信。
当前服务的实现,通常都是以 IP 为导向,一个 IP 下面可能有非常多的东西。比如一个 IP 下面跑了很多个容 器,每一个容器都做了不同的事情,怎么知道这个服务是合法的呢?又比如 A服务是为另一个服务 B提供服务, 怎么知道 A在真正的服务于 B而不是做其它的任务。
Spiffe 框架定义了服务之间如何识别自身的标准,并统一实现为 URI,为生产环境中的每个对象采用 X.509 证书提供安全身份标识。
Spire[82]是 Spiffe 的一个开源实现。Spire 是一个工具链,用于在各种托管平台之间建立软件系统之间的信任。 具体而言,Spire 公开了 Spiffe Workload API,它可以证明正在运行的软件系统并向它们发出 Spiffe ID 和 SVID。 这反过来允许两个工作负载在彼此之间建立信任,例如通过建立 mTLS 连接或通过签署和验证 JWT 令牌。
Spiffe 由 CNCF作为沙箱级项目托管。
Open Policy Agent(OPA)
开放策略框架 [83](OPA)是一个开源的通用策略引擎,OPA指出在云原生的环境下怎么样做策略执行(Policy Enforcement)。通过 OPA可实现统一的、有上下文感知功能的安全策略。当服务与 OPA集成后,用户将能够 制定和部署自定义的策略,以控制服务的基于策略的功能,如下图所示。OPA 由 CNCF作为沙箱级项目托管。
NeuVector
NeuVector[84]是最早开发 Docker/Kubernetes 安全产品的公司,致力于保障企业级容器平台安全,产品适用 于各种云环境、跨云或者本地部署等容器生产环境。
云原生容器部署
NeuVector 提供实时深入的容器网络可化、东西向容器网络监控、主动隔离和保护、容器主机安全以及容 器内部安全。和容器管理平台无缝集成并且实现了应用级容器安全的自动化。
NeuVector 以云原生容器方式发行,可以通过任何标准的容器管理平台来快速部署和管理升级,比如 Kubernetes、Docker、Open Shift、Rancher、Mesosphere。同时也完全支持各种公有云、私有云容器服务平台, 例如 AWS ECS、EKS、Google GKE、IBM Cloud、Docker Datacenter、Azure、Alibaba Cloud、VMware PKS 等。
容器环境可视化
NeuVector 能够灵活支持预先部署或者滞后部署的各种安装环境,自动发现并且即时保护已运行容器或是新 部署容器。NeuVector 部署后会自动学习所有容器的网络行为以及容器内部行为。综合分析后提供实时的容器网 络连接图,强大的容器可化可以用于安全监控、拓扑分析、即时调整、事件响应、容器网络抓包甚至应用容器 调试等。
安全审计
NeuVecor 支持各种安全审计功能。提供了包括 Docker Bench 扫描、Kubernetes CIS Benchmark 扫描、容 器漏洞扫描、容器主机扫描等全面安全审计报表。审计的结果可以用来制定主动响应的安全策略,保证容器主动 或者被动部署时安全系统能够全自动响应检测控制以及阻止。NeuVector 支持容器镜像库扫描,提供 Jenkins 插 件来帮助开发人员测试容器安全风险。
NeuVector 能够辅助客户进行各种标准合规检查以及行业合规检查。包括 PCI、GDPR、HIPPA等各行业合规
标准。
参考资料
CIS Benchmarks
互联网安全
中心 [74](Center for Internet Security,CIS)是一家利用全球 IT社区力量保护私人和公共组织免 受网络威胁的非利性机构。 CIS Benchmarks 被认为是保护 IT系统和数据免受常见攻击的全球标准和公认的最 佳实践。目前提供了包括操作系统、系统软件、云服务商、移动设备等众多类别的安全评测标准。5.1.5.1 Docker CIS Benchmark
Docker 公司与 CIS合作制作了一份安全基准文档,用于审计容器环境的安全,当前包括五个版本 [^1] ,分别是
- CIS v1.0.0 for
Docker 1.11.0 Benchmark;- CIS v1.0.0 for Docker 1.12.0 Benchmark; - CIS v1.0.0 for Docker 1.13.0 Benchmark;
- CIS v1.0.0 for Docker 1.6 Benchmark;
- CIS v1.1.0 for Docker Community Edition Benchmark
例如 CIS v1.0.0 for Docker 1.13.0 Benchmark,该基准文档发布于 2017 年 1 月 19 日,从主机配置(Host Configuration)、Docker 服务配置(Docker Daemon Configuration)、Docker 服务配置文件(Docker Daemon Configuration Files)、容器镜像和创建文件(Container Images and
Build File)、运行时安全(Container Runtime)和 Docker 安全操作(Docker Security Operations)六个方面,提出了 100 多条安全配置与审计方法。Docker 社区将该工具进行了开源实现 [75],当前的开源版本支持 CIS Docker Community Edition Benchmark v1.1.0。
Docker Hub 提供了该 Benchmark 的镜像,可以通过以下命令快速地实现部署应用,Docker 版本需要在 1.13.0
及以上。
docker run -it --net host --pid host --userns host --cap-add audit_control -e DOCKER_CONTENT_TRUST=$DOCKER_CONTENT_TRUST -v /var/lib:/var/lib
-v /var/run/docker.soc
k:/var/run/docker.sock -v /usr/lib/systemd:/usr/lib/systemd
-v /etc:/etc --label docker_bench_security
docker/docker-bench-security
5.1.5.2 Kubernetes CIS Benchmark
CIS 同时还提供了 Kubernetes 的安全基准文档,用于对 Kubernetes 运行环境进行审计。当前包括两个版 本,分别是 CIS v1.0.0 for Kubernetes 1.6 Benchmark 和 CIS v1.2.0 for Kubernetes 1.8 Benchmark[^1] 。最新版本为 v1.2.0,支持 Kubernetes1.8。
CIS v1.2.0 for Kubernetes 1.8 Benchmark 发布于 2017 年 10 月,基准文档从 API Server 配置、Scheduler 配 置、Controller 配置、Etcd 等多个层面,提出了 100 多个安全审计的检测项目。
针对 Kubernetes 的合规和审计检查工具,也有众多组织对其进行了开源实现。其中包括 NeuVector 的 NeuVector kubernetes-cis-benchmark[76]、Aqua 的 kube-bench[77]等(均支持 Kubernetes 1.6 和 1.8)。
TUF & Notary
TUF[78](The Update Framework) 和 Notary[79] 是 云 原 生 计 算 基 金 会 [80](Cloud Native Computing Foundation,CNCF)增加的两个安全孵化项目。TUF是开源的安全和验证标准,Notary 是它的一个实现。TUF 框架最初由 Justin Cappos 教授及其在纽约大学 Tandon 工程学院的团队开发。Notary 原是 Docker1.8 版本发布 的一个镜像签名系统组件。
Notary 架构主要由 Server 和 Client 组成,Server 端主要运行并维护一个容器的受信集合,Client 端与 Server 交互,通过一种简单的方式,实现更安全的内容发布以及内容验证。
通常,我们可以通过 TLS安全传输层协议来保障通信双方的安全性,然而这种方法本质上存在缺陷,原因很 简单,Server 端的任何妥协,都将导致恶意内容替换合法内容。
在 Notary 的帮助下,容器镜像的发布者可以通过强安全的 Key 对容器镜像进行签名加密。一旦完成并准 备发布,镜像首先被推送至 Notary 受信的集合中。访问者只有通过安全隧道获取了发布者的公钥之后,才能和 Notary 中的 Server 建议通信,并访问到合适准确的镜像。
Spiffe
Spiffe[81]是 Google 积极推动的、开放的、社区驱动的服务安全框架,主要用于识别和保护基于 Web 的服务 间通信。
当前服务的实现,通常都是以 IP 为导向,一个 IP 下面可能有非常多的东西。比如一个 IP 下面跑了很多个容 器,每一个容器都做了不同的事情,怎么知道这个服务是合法的呢?又比如 A服务是为另一个服务 B提供服务, 怎么知道 A在真正的服务于 B而不是做其它的任务。
Spiffe 框架定义了服务之间如何识别自身的标准,并统一实现为 URI,为生产环境中的每个对象采用 X.509 证书提供安全身份标识。
Spire[82]是 Spiffe 的一个开源实现。Spire 是一个工具链,用于在各种托管平台之间建立软件系统之间的信任。 具体而言,Spire 公开了 Spiffe Workload API,它可以证明正在运行的软件系统并向它们发出 Spiffe ID 和 SVID。 这反过来允许两个工作负载在彼此之间建立信任,例如通过建立 mTLS 连接或通过签署和验证 JWT 令牌。
Spiffe 由 CNCF作为沙箱级项目托管。
Open Policy Agent(OPA)
开放策略框架 [83](OPA)是一个开源的通用策略引擎,OPA指出在云原生的环境下怎么样做策略执行(Policy Enforcement)。通过 OPA可实现统一的、有上下文感知功能的安全策略。当服务与 OPA集成后,用户将能够 制定和部署自定义的策略,以控制服务的基于策略的功能,如下图所示。OPA 由 CNCF作为沙箱级项目托管。
NeuVector
NeuVector[84]是最早开发 Docker/Kubernetes 安全产品的公司,致力于保障企业级容器平台安全,产品适用 于各种云环境、跨云或者本地部署等容器生产环境。
云原生容器部署
NeuVector 提供实时深入的容器网络可化、东西向容器网络监控、主动隔离和保护、容器主机安全以及容 器内部安全。和容器管理平台无缝集成并且实现了应用级容器安全的自动化。
NeuVector 以云原生容器方式发行,可以通过任何标准的容器管理平台来快速部署和管理升级,比如 Kubernetes、Docker、Open Shift、Rancher、Mesosphere。同时也完全支持各种公有云、私有云容器服务平台, 例如 AWS ECS、EKS、Google GKE、IBM Cloud、Docker Datacenter、Azure、Alibaba Cloud、VMware PKS 等。
容器环境可视化
NeuVector 能够灵活支持预先部署或者滞后部署的各种安装环境,自动发现并且即时保护已运行容器或是新 部署容器。NeuVector 部署后会自动学习所有容器的网络行为以及容器内部行为。综合分析后提供实时的容器网 络连接图,强大的容器可化可以用于安全监控、拓扑分析、即时调整、事件响应、容器网络抓包甚至应用容器 调试等。
安全审计
NeuVecor 支持各种安全审计功能。提供了包括 Docker Bench 扫描、Kubernetes CIS Benchmark 扫描、容 器漏洞扫描、容器主机扫描等全面安全审计报表。审计的结果可以用来制定主动响应的安全策略,保证容器主动 或者被动部署时安全系统能够全自动响应检测控制以及阻止。NeuVector 支持容器镜像库扫描,提供 Jenkins 插 件来帮助开发人员测试容器安全风险。
NeuVector 能够辅助客户进行各种标准合规检查以及行业合规检查。包括 PCI、GDPR、HIPPA等各行业合规
标准。