0

0

docker安全特性有哪些

青灯夜游

青灯夜游

发布时间:2022-01-28 15:21:42

|

3365人浏览过

|

来源于php中文网

原创

docker安全特性有:1、加密节点ID;2、基于TLS的认证机制;3、安全准入令牌;4、支持周期性证书自动更新的CA配置;5、加密集群存储;6、加密网络;7、Docker安全扫描;8、Docker内容信任;9、Docker密钥等等。

docker安全特性有哪些

本教程操作环境:linux5.9.8系统、docker-1.13.1版、Dell G3电脑。

Docker 平台还引入了大量自有安全技术。Swarm 模式基于 TLS 构建,并且配置上极其简单灵活。安全扫描对镜像进行二进制源码级别扫描,并提供已知缺陷的详细报告。

Docker 内容信任允许用户对内容进行签名和认证,密钥目前也是 Docker 中的一等公民。Docker 为这些安全技术设定了合理的默认值,但是用户也可以自行修改配置,或者禁用这些安全技术。

Swarm 模式

Swarm 模式是 Docker 未来的趋势。Swarm 模式支持用户集群化管理多个 Docker 主机,同时还能通过声明式的方式部署应用。

每个 Swarm 都由管理者和工作者节点构成,节点可以是 Linux 或者 Windows。管理者节点构成了集群中的控制层,并负责集群配置以及工作负载的分配。工作者节点就是运行应用代码的容器。

正如所预期的,Swarm 模式包括很多开箱即用的安全特性,同时还设置了合理的默认值。这些安全特性包括以下几点。

  • 加密节点 ID。

  • 基于 TLS 的认证机制。

  • 安全准入令牌。

  • 支持周期性证书自动更新的 CA 配置。

  • 加密集群存储(配置 DB)。

  • 加密网络。

Docker 安全扫描

快速发现代码缺陷的能力至关重要。Docker 安全扫描功能使得对 Docker 镜像中已知缺陷的检测工作变得简单。

Docker 安全扫描已经可以用于 Docker Hub 上私有仓库的镜像了。同时该技术还可以作为 Docker 可信服务本地化部署解决方案的一部分。最后,所有官方 Docker 镜像都经过了安全扫描,扫描报告在其仓库中可以查阅。

Docker 安全扫描对 Docker 镜像进行二进制代码级别的扫描,对其中的软件根据已知缺陷数据库(CVE 数据库)进行检查。在扫描执行完成后,会生成一份详细报告。

打开浏览器访问 Docker Hub,并搜索 Alpine 仓库。下图展示了官方 Alpine 仓库的 Tags 标签页。

1.gif

Alpine 仓库是官方仓库,这意味着该仓库会自动扫描并生成对应报告。可以看到,镜像标签为 edge、lates 以及 3.6 的镜像都通过了已知缺陷的检查。但是 alpine:3.5 镜像存在已知缺陷(标红)。

如果打开 alpine:3.5 镜像,可以发现如下图所示的详细信息。

2.gif

这是发现自己软件中已知缺陷详情的一种简单方式。

Docker 可信镜像仓库服务(Docker Trusted Registry, DTR),属于 Docker 企业版中本地化镜像仓库服务的一部分内容,提供了相同的 Capability,同时还允许用户自行控制其镜像扫描时机以及扫描方式。

例如,DTR 允许用户选择镜像是在推送时自动触发扫描,还是只能手工触发。同时 DTR 还允许用户手动更新 CVE 数据库,这对于 DTL 无法进行联网来自动更新 CVE 数据的场景来说,是一种理想的解决方案。

这就是 Docker 安全扫描,一种深入检测 Docker 镜像是否存在已知安全缺陷的好方式。当然,能力越大责任越大,当用户发现缺陷后,就需要承担解决相应缺陷的责任了。

Docker 内容信任

Dockr 内容信任(Docker Content Trust,DCT)使得用户很容易就能确认所下载镜像的完整性以及其发布者。在不可信任的网络环境中下载镜像时,这一点很重要。

从更高层面来看,DCT 允许开发者对发布到 Docker Hub 或者 Docker 可信服务的镜像进行签名。当这些镜像被拉取的时候,会自动确认签名状态。下图展示了这一过程。

3.gif

DCT 还可以提供关键上下文,如镜像是否已被签名从而可用于生产环境,镜像是否被新版本取代而过时等。

极限网络办公Office Automation
极限网络办公Office Automation

专为中小型企业定制的网络办公软件,富有竞争力的十大特性: 1、独创 web服务器、数据库和应用程序全部自动傻瓜安装,建立企业信息中枢 只需3分钟。 2、客户机无需安装专用软件,使用浏览器即可实现全球办公。 3、集成Internet邮件管理组件,提供web方式的远程邮件服务。 4、集成语音会议组件,节省长途话费开支。 5、集成手机短信组件,重要信息可直接发送到员工手机。 6、集成网络硬

下载

DTC 提供的上下文还在初期,配置起来相当复杂。在 Docker 主机上启用 DCT 功能,所要做的只是在环境中将 DOCKER_CONTENT_TRUST 变量设置为 1。

$ export DOCKER_CONTENT_TRUST=1

在实际环境中,用户可能希望在系统中默认开启该特性。

如果使用 Docker 统一配置层(Docker 企业版的一部分),需要勾选下图所示 Run Only Signed Images 复选项。这样会强制所有在 UCP 集群中的节点只运行已签名镜像。

4.gif

由上图中可知,UCP 在 DCT 的基础上进行进一步封装,提供了已签名镜像的安全首选项信息。例如,用户可能有这样的需求:在生产环境中只能使用由 secops 签名的镜像。

一旦 DCT 功能开启,就不能获取并使用未签名镜像了。下图展示了开启 DCT 之后,如果再次尝试通过 Docker CLI 或者 UCP Web UI 界面拉取未签名镜像时所报的错误(两个示例都尝试拉取标签为“unsigned”的镜像)。

5.gif

下图展示了 DCT 是如何阻止 Docker 客户端拉取一个被篡改的镜像的。

6.gif

下图展示了 DCT 如何阻止客户端拉取旧镜像。

7.gif

Docker 内容信任是一种很重要的技术,能帮助用户检查从 Docker 服务中拉取的镜像。该技术的基础模式配置起来非常简单,但是类似上下文等一些高级特性,现阶段配置起来还是非常复杂的。

Docker 密钥

很多应用都需要密钥。比如密码、TLS 证书、SSH key 等。

在 Docker1.13 版本之前,没有一种标准且安全的方式能让密钥在应用间实现共享。常见的方式是开发人员将密钥以文本的方式写入环境变量。这与理想状态差距甚远。

Docker1.13 引入了 Docker 密钥,将密钥变成 Docker 生态系统中的一等公民。例如,增加了一个新的子命令 docker secret 来管理密钥。在 Docker 的 UCP 界面中,也有专门的地方来创建和管理密钥。

在后台,密钥在创建后以及传输中都是加密的,使用时被挂载到内存文件系统,并且只对那些已经被授权了的服务开放访问。这确实是一种综合性的端到端解决方案。

下图展示了其总体流程。

8.gif

下面依次介绍上图中所示工作流的每一步。

1) 密钥被创建,并且发送到 Swarm。

2) 密钥存放在集群存储当中,并且是加密的(每个管理者节点都能访问集群存储)。

3) B 服务被创建,并且使用了该密钥。

4) 密钥传输到 B 服务的任务节点(容器)的过程是加密的。

5) B 服务的容器将密钥解密并挂载到路径 /run/secrets 下。这是一个临时的内存文件系统(在 Windows Docker 中该步骤有所不同,因为 Windows 中没有内存文件系统这个概念)。

6) 一旦容器(服务任务)完成,内存文件系统关闭,密钥也随之删除。

7) A 服务中的容器不能访问该密钥。

用户可以通过 docker secret 子命令来管理密钥,可以通过在运行 docker service create 命令时附加 --secret,从而为某个服务指定密钥。

推荐学习:《docker视频教程

相关专题

更多
edge是什么浏览器
edge是什么浏览器

Edge是一款由Microsoft开发的网页浏览器,是Windows 10操作系统中默认的浏览器,其目标是提供更快、更安全、更现代化的浏览器体验。本专题为大家提供edge浏览器相关的文章、下载、课程内容,供大家免费下载体验。

1366

2023.08.21

IE浏览器自动跳转EDGE如何恢复
IE浏览器自动跳转EDGE如何恢复

ie浏览器自动跳转edge的解决办法:1、更改默认浏览器设置;2、阻止edge浏览器的自动跳转;3、更改超链接的默认打开方式;4、禁用“快速网页查看器”;5、卸载edge浏览器;6、检查第三方插件或应用程序等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

377

2024.03.05

如何解决Edge打开但没有标题的问题
如何解决Edge打开但没有标题的问题

若 Microsoft Edge 浏览器打开后无标题(窗口空白或标题栏缺失),可尝试以下方法解决: 重启 Edge:关闭所有窗口,重新启动浏览器。 重置窗口布局:右击任务栏 Edge 图标 → 选择「最大化」或「还原」。 禁用扩展:进入 edge://extensions 临时关闭插件测试。 重置浏览器设置:前往 edge://settings/reset 恢复默认配置。 更新或重装 Edge:检查最新版本,或通过控制面板修复

902

2025.04.24

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

641

2023.07.26

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1124

2023.07.27

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

796

2023.08.01

windows查看端口被占用的情况
windows查看端口被占用的情况

windows查看端口被占用的情况的方法:1、使用Windows自带的资源监视器;2、使用命令提示符查看端口信息;3、使用任务管理器查看占用端口的进程。本专题为大家提供windows查看端口被占用的情况的相关的文章、下载、课程内容,供大家免费下载体验。

452

2023.08.02

windows无法访问共享电脑
windows无法访问共享电脑

在现代社会中,共享电脑是办公室和家庭的重要组成部分。然而,有时我们可能会遇到Windows无法访问共享电脑的问题。这个问题可能会导致数据无法共享,影响工作和生活的正常进行。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2349

2023.08.08

html编辑相关教程合集
html编辑相关教程合集

本专题整合了html编辑相关教程合集,阅读专题下面的文章了解更多详细内容。

16

2026.01.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
光速学会docker容器
光速学会docker容器

共33课时 | 1.9万人学习

Docker 17 中文开发手册
Docker 17 中文开发手册

共0课时 | 0人学习

极客学院Docker视频教程
极客学院Docker视频教程

共33课时 | 17.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号