【Docker】Docker的工具实践及root概念,时间戳的概念和Docker容器安全性设置的详细讲解

作者简介: 辭七七,目前大二,正在学习C/C++,Java,Python等
作者主页: 七七的个人主页
文章收录专栏: 七七的闲谈
欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖


在这里插入图片描述

前言

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

Docker的工具实践及root概念和Docker容器安全性设置

  • 1. 工具实践
  • 2. root概念
    • 2.1 背景介绍
    • 2.2 权限设置
    • 2.3 安全性
  • 3. 时间戳的概念
  • 4. Docker容器
    • 4.1 安全性设置
    • 4.2 迁移步骤
    • 4.3 特性

1. 工具实践

在这里插入图片描述

  Docker推出的一个名为Docker Content Trust(DCT)的新功能,它可帮助IT专业人士确保Docker的安全性。DCT使用了一个公共密钥基础设施(PKI)的方法,它提供了两个不同的密钥:一个离线(root)密钥和一个标记(每次入库)密钥,当第一次发布者推出镜像时它可创建和存储客户端。
  此举有助于弥补正在使用恶意容器这一最大的漏洞。DCT还生成了一个时间戳密钥,它可保护系统免受重放攻击,即运行过期的标记内容。这解决了上面提及容器具有不同安全补丁等级的问题。
为了解决针对容器安全性的问题,包括Docker在内的众多公司都为Docker发布了安全基准。这套标准为确保Docker容器的安全性提供了指导。全篇118页的文档囊括了部署Docker容器的84个最佳实践以及一个涉及所有内容的检查清单。
  如果用户决定自行负责确保Docker容器的安全性,但又不知道从何入手,这里提供了一些建议:
  阅读上面提及的Docker安全基准文件。重点关注与如何部署基于容器的应用程序相关的建议和最佳实践。这真的是有助于缓解财务压力,认真考虑大部分因糟糕设计而导致的Docker安全性问题。
考虑特定安全性需求。这将促使选择正确的工具和方法。很多使用容器技术的企业对于他们基于容器的应用程序要么安全措施不足,要么安全措施过足。
  尽可能多地进行测试。容器技术是新技术,因此需要搞清楚哪些是能够发挥作用,哪些是无用的,而要做到这一点的方法就是进行安全性方面的测试,例如渗透测试
  容器安全性的发展趋势可能会与虚拟化安全性一样。虽然安全性从第一台虚拟机部署开始就是一个问题,但是多年以来积累下来的良好安全性实践、架构和工具都证明了其有效性。鉴于此,Docker容器安全性的问题也同样能够得到较好解决

下面讲解一下工具实践内所介绍的内容

2. root概念

在这里插入图片描述

root,也称为根用户,是Unix(如Solaris、AIX、BSD)和类UNIX系统(如Linux、QNX等),及Android和iOS移动设备系统中的唯一的超级用户,因其可对根目录执行读写和执行操作而得名。其相当于Windows系统中的SYSTEM(XP及以下)/TrustedInstaller(Vista及以上)用户。其具有系统中的最高权限,如启动或停止一个进程,删除或增加用户,增加或者禁用硬件,新建文件、修改文件或删除所有文件等等。

2.1 背景介绍

  现代操作系统一般属于多用户的操作系统,也就是说,同一台机器可以为多个用户建立账户,一般这些用户都是为普通用户,这些普通用户能同时登录这台计算机,计算机对这些用户分配一定的资源,普通用户在所分配到的资源内进行各自的操作,相互之间不受影响。但是这些普通用户的权限是有限制的,且用户太多的话,管理就不便,从而引入root用户,此用户是唯一的,且拥有系统的所有权限。root用户所在的组称为root组。“组”是具有相似权限的多个用户的集合。

2.2 权限设置

在这里插入图片描述

  root用户是系统中唯一的超级管理员,它具有等同于操作系统的权限。一些需要root权限的应用,譬如广告阻挡,是需要root权限的。可问题在于root比windows的系统管理员的能力更大,足以把整个系统的大部分文件删掉,导致系统完全毁坏,不能再次使用。所以,用root进行不当的操作是相当危险的,轻微的可以死机,严重的甚至不能开机。所以,在Unix、Linux及Android中,除非确实需要,一般情况下都不推荐使用root。最好单独建立一个普通的用户,作为日常之用。

2.3 安全性

在这里插入图片描述

  不推荐使用root的一个原因则是出于安全的考虑。root具有系统所有的权限,root密码如果泄漏,足以导致整台计算机完全被窃取root密码的人所控制,拥有root密码就意味着拥有了这台计算机上所有用户的所有数据。
  有些任务必须由root才能执行,例如删除系统内置应用程序。但在Unix或Linux系统中又不推荐使用root,这构成了一个矛盾。于是产生了一个sudo的做法,就是在必要时使用su提权,即把系统管理的一部分权限授予普通用户,并且只有在这些用户需要更高权限的时候,才允许这些用户暂时性的使用root命令来管理系统
  在默认情况下root的根目录(/root)是其他用户无权访问的,这在一定程度上增强了整个系统的安全性,但不完全是。Unix、Linux及Android的安全性更在于它的高度可配置性,也就是说,Unix或者Linux的安全性更取决于系统管理员而不是Unix或Linux系统本身。一般的模式是:Unix、Linux和Android提供一种健全的安全机制,由系统管理员根据实际需要制定相应的安全策略,并且部署这些安全策略。“机制”是能做什么不能做什么,“策略”是要做什么不要做什么。而Windows的安全策略和安全机制则比较混乱,windows本身过于依赖安全策略,导致系统管理员在很多时候束手束脚,反而得不偿失。

3. 时间戳的概念

  时间戳是使用数字签名技术产生的数据,签名的对象包括了原始文件信息、签名参数、签名时间等信息。时间戳系统用来产生和管理时间戳,对签名对象进行数字签名产生时间戳,以证明原始文件在签名时间之前已经存在。
  可信时间戳是由联合信任时间戳服务中心签发的一个电子凭证,用于证明电子数据文件自申请可信时间戳后内容保持完整、未被更改。可信时间戳接入核准书的颁发,标志着可信时间戳在档案领域规范化应用已经开始,并将起到电子档案和档案数字化副本内容防篡改、保障档案的法律凭证的作用。根据《电子签名法》有关数据电文原件形式的要求,申请了可信时间戳认证的电子文件、电子档案或纸质档案的数字化副本等可视为法规规定的原件形式。

4. Docker容器

在这里插入图片描述

Docker 容器是一个开源的应用容器引擎,让开发者可以以统一的方式打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何安装了docker引擎的服务器上(包括流行的Linux机器、windows机器),也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。

4.1 安全性设置

  1. 定期渗透测试,安全审计;
  2. 尽量采用image的正规镜像来源,相对于传统安全,容器安全受质疑很大程度上是在于镜像的维护及升级,因此在镜像源头保证安全和及时更新;
  3. 及时升级容器服务,比如采用rollingupdate的方式对跑服务的容器进行升级等方式

4.2 迁移步骤

在这里插入图片描述

步骤1:分解
  一般来说,应用程序都是复杂的,它们都有很多的组件。例如,大多数应用程序都需要数据库或中间件服务的支持以实现对数据的存储、检索和集成。所以,需要通过设计和部署把这些服务拆分成为它们自己的容器。如果一个应用程序能够被拆分成为越多的分布式组件,那么应用程序扩展的选择则越多。但是,分布式组件越多也意味着管理的复杂性越高。
步骤2:选择一个基础映像
  当执行应用程序迁移时,应尽量避免推倒重来的做法。搜索Docker注册库找到一个基本的Docker映像并将其作为应用程序的基础来使用
随着时间的推移,企业将会发现这些Docker注册库中基本映像的价值所在。
步骤3:解决安全性和管理问题
  安全性和管理应当是一个高优先级的考虑因素;企业用户不应再把它们当作应用程序迁移至容器的最后一步。反之,企业必须从一开始就做好安全性和管理的规划,把它们的功能纳入应用程序的开发过程中,并在应用程序运行过程中积极主动地关注这些方面。这就是企业应当花大功夫的地方。
步骤4:增加代码
  为了创建映像,企业用户需要使用一个Dockerfile来定义映像开发的必要步骤。一旦创建了映像,企业用户就应将其添加至Docker Hub。
步骤5:配置、测试、部署
  应对在容器中运行的应用程序进行配置,以便于让应用程序知道可以在哪里连接外部资源或者应用程序集群中的其他容器。企业用户可以把这些配置部署在容器中或使用环境变量。
  最后,把容器部署到实际生产环境中。为了积极主动地关注基于容器的应用程序的运行状况,可考虑实施必要的监控和管理机制 。确保打开日志记录功能。

4.3 特性

  Docker容器与其他的容器技术都是大致类似的。但是,Docker在一个单一的容器内捆绑了关键的应用程序组件,这也就让这容器可以在不同平台和云计算之间实现便携性。其结果就是,Docker就成为了需要实现跨多个不同环境运行的应用程序的理想容器技术选择。
  Docker还可以让使用微服务的应用程序得益,所谓微服务就是把应用程序分解成为专门开发的更小服务。 这些服务使用通用的RESTAPI来进行交互。使用完全封装Docker容器的开发人员可以针对采用微服务的应用程序开发出一个更为高效的分发模式。


关于【Docker】Docker的工具实践及root概念,时间戳的概念和Docker容器安全性设置的详解,七七就先分享到这里了,如果你认为这篇文章对你有帮助,请给七七点个赞吧,如果发现什么问题,欢迎评论区留言!!💕💕

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/98829.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

运行软件提示丢失msvcr120.dll文件怎么办?msvcr120.dll丢失的5个最新解决方法

找不到msvcr120.dll是一个常见的错误信息,通常会在用户尝试运行某些程序或游戏时出现。msvcr120.dll是 Windows 操作系统中的一个动态链接库文件,它包含了 C 运行时库的一些函数和类,对于许多程序和游戏的正常运行至关重要。 当用户遇到找不到…

POI 和 EasyExcel 操作 Excel

一、概述 目前操作 Excel 比较流行的就是 Apache POI 和阿里巴巴的 easyExcel。 1.1 POI 简介 Apache POI 是用 Java 编写的免费开源的跨平台的 Java API,Apache POI 提供 API 给 Java 程序对 Microsoft Office 格式文档读和写的常用功能。POI 为 “Poor Obfuscati…

一般香港服务器带宽选多大够用?(带宽计算方法)

​  在海外IDC市场份额中,香港服务器依托自身优越的服务器资源条件,在各个行业中发挥的重要作用。但是,不同业务对网络带宽的要求各不相同,弄清楚如何计算带宽需求对于确保业务平稳运行至关重要,最好从一开始就使用正…

039:mapboxGL更换地图上的鼠标样式

第039个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+mapbox中更换地图上的鼠标的样式。 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共74行)相关API参考:专栏目标示例效果 配置方式 1)查看基础设置:htt…

012-第二代硬件选型

第二代硬件选型 文章目录 第二代硬件选型项目介绍重新换平台缘由X86 && Arm 架构切换 ARM Linux 硬件选型系统确定Qt 版本确定总结一下 关键字: Qt、 Qml、 Arm、 X86、 linux 项目介绍 欢迎来到我们的 QML & C 项目!这个项目结合了 QM…

【jvm--方法区】

文章目录 1. 栈、堆、方法区的交互关系2. 方法区的内部结构3. 运行时常量池4. 方法区的演进细节5. 方法区的垃圾回收 1. 栈、堆、方法区的交互关系 方法区的基本理解: 方法区(Method Area)与 Java 堆一样,是各个线程共享的内存区…

4.MySql安装配置(更新版)

MySql安装配置 无论计算机是否有安装其他mysql,都不要卸载。 只要确定大版本是8即可,8.0.33 8.0.34 差别不大即可。 MySql下载安装适合电脑配置属性有关,一次性安装成功当然是非常好的,因为卸载步骤是非常麻烦的 如果第一次安装…

医疗器械标准目录汇编2022版共178页(文中附下载链接!)

为便于更好地应用医疗器械标准,国家药监局医疗器械标准管理中心组织对现行1851项医疗器械国家和行业标准按技术领域,编排形成《医疗器械标准目录汇编(2022版)》 该目录汇编分为通用技术领域和专业技术领域两大类,通用…

NoSQL Redis

NoSQL Redis 1、数据库1.1关系型数据库1.2非关系型数据库1.3关系型和非关系型区别 2、非关系型数据库应用场景3、存储结构4、redis4.1redis概述4.2Redis 优点4.3Redis为什么这么快? 5、部署redis6、redis基础操作 1、数据库 1.1关系型数据库 关系型数据库是一个结…

机械臂抓取的产业落地进展与思考

工业机械臂是一种能够模拟人类手臂动作的机械装置,具有高精度、高速度和高灵活性的特点。近年来,随着人工智能和机器人技术的快速发展,机械臂在工业生产、物流仓储、医疗护理等领域得到了广泛应用。机械臂抓取技术作为机械臂的核心功能之一&a…

UniAD 论文学习

一、解决了什么问题? 当前的自动驾驶方案大致由感知(检测、跟踪、建图)、预测(motion、occupancy)和规划三个模块构成。 为了实现各种功能,智驾方案大致包括两种路线。一种是针对每个任务都部署一个模型&a…

Python Parser 因子计算性能简单测试

一直以来,Python 都在量化金融领域扮演着至关重要的角色。得益于 Python 强大的库和工具,用户在处理金融数据、进行数学建模和机器学习时变得更加便捷。但作为一种解释性语言,相对较慢的执行速度也限制了 Python 在一些需要即时响应的场景中的…

知识图谱系列3:读论文-《中国鸟类领域知识图谱构建与应用研究》-面向知识图谱的智能服务研究(需求、管理、查询、推理)

5.1鸟类领域知识服务需求研究 本部分根据不同人群,对其需求进行了研究。 并总结需求类型如下。 知识型服务需求指用户学习鸟类相关知识,包括知识内容、知识学习等。知识内容 需求为构建鸟类领域知识库作为知识的来源;知识学习需求为用户通过…

gici-open示例数据运行(ground_truth坐标的转换)

1. 坐标系转换说明 涉及的两个坐标转换: nmea_pose_to_pose :激光IMU中心到数据集IMU中心,主要是杆臂误差,转换关系为: //坐标转换的主要步骤(若发现有错误的地方,请评论指出) //定义激光IMU和数据集IMU之…

好看的机制示意图绘制教程汇总

好看的机制示意图绘制教程汇总 蛋白翻译过程示意图,特别是其中的核糖体,需要很多绘制技巧。主要使用椭圆工具绘制两个椭圆,二者组合后使外形接近核糖体。接着通过路径查找器的合并功能(并集)将两个椭圆合并在一起。使…

使用HHDBCS管理MongoDB

1 连接MongoDB 打开HHDBCS,在数据库类型中选择mongodb,填入相关信息,点击“登陆”即可。 也可以使用SSH通道进行登陆。 2 命令窗口 点击命令窗口,可以对数据库发出指令。 可以根据个人习惯,对命令窗口进行设置…

矩阵的相似性度量的常用方法

矩阵的相似性度量的常用方法 1,欧氏距离 欧式距离是最易于理解的一种距离计算方法,源自欧式空间中两点间的距离公式。 (1)二维平面上的点 a ( x 1 , y 1 ) a(x_1,y_1) a(x1​,y1​)和点 b ( x 2 , y 2 ) b(x_2,y_2) b(x2​,y2​)的欧式距离为 d ( x …

uni-app:引入echarts(使用renderjs)

效果 代码 <template><view click"echarts.onClick" :prop"option" :change:prop"echarts.updateEcharts" id"echarts" class"echarts"></view> </template><script>export default {data()…

旅游网站HTML

代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>旅游网</title> </head> <body><!--采用table编辑--> <!--最晚曾table,用于整个页面那布局--><table width&q…

Linux Ftrace介绍

文章目录 一、简介二、内核函数调用跟踪参考链接&#xff1a; 一、简介 Ftrace 是 Linux 官方提供的跟踪工具&#xff0c;在 Linux 2.6.27 版本中引入。Ftrace 可在不引入任何前端工具的情况下使用&#xff0c;让其可以适合在任何系统环境中使用。 Ftrace 可用来快速排查以下相…