docker-swarm教程之安全保护加密数据的方法详解

 更新时间:2023年08月17日 08:20:59   作者:demo007x  
默认情况下,集群管理器使用的raft 算法的日志在磁盘上加密,这种静态加密可保护服务配置和数据免受访问加密Raft日志的攻击者的攻击,因此引入了Docker secret功能,来保证加密文件的安全,本文将给大家详细的介绍一下如何安全的保护加密数据

如何安全的保护加密数据

什么是“自动锁定”

默认情况下,集群管理器使用的raft 算法的日志在磁盘上加密。这种静态加密可保护服务配置和数据免受访问加密Raft日志的攻击者的攻击。因此引入了Docker secret 功能,来保证加密文件的安全。

当Docker重新启动时,用于加密群节点之间通信的TLS密钥和用于加密和解密磁盘上的Raft日志的密钥都加载到每个管理器节点的内存中。Docker能够保护相互TLS加密密钥以及用于加密和解密静态Raft日志的密钥,允许我们拥有这些密钥,并要求在 manager手动解锁。此功能称为自动锁定。

当Docker重新启动时,必须首先使用Docker在集群锁定时生成的密钥加密密钥来解锁集群。并且我们也可以随时修改此密钥加密密钥。

注意:当新节点加入集群时,是不不需要解锁蜂群,因为密钥通过相互TLS传播给它。

在启用自动锁定的情况下初始化蜂群

当我们初始化新的集群时,使用--autolock标志在Docker重新启动时启用群管理器节点的自动锁定。

 docker swarm init --autolock

将密钥存储在安全的地方,例如密码管理器中。

当Docker重新启动服务时,锁定的集群会导致以下错误:

 sudo service docker restart
 docker service ls

在现有集群上启用或禁用自动锁定

要在现有蜂群上启用自动锁定,请将autolock标志设置为true

 docker swarm update --autolock=true

要禁用自动锁定,请将--autolock设置为false。用于读取和写入Raft日志的相互TLS密钥和加密密钥未加密存储在磁盘上。在静态存储未加密的加密密钥的风险和无需解锁每个manager即可重新启动蜂群的便利性之间存在权衡。

docker swarm update --autolock=false

禁用自动锁定后,请将解锁密钥保留一段时间,以防manager在仍配置为使用旧密钥锁定时出现服务停止。

解锁集群

要解锁锁定的集群,请使用docker swarm unlock

 docker swarm unlock

当锁定集群或修改密钥时,输入生成并在命令输出中显示的加密密钥,集群解锁。

查看正在运行的集群当前解锁密钥

考虑我们的集群按预期运行的情况,然后管理器节点变得不可用。对问题进行故障排除,并使物理节点重新联机,但需要通过提供解锁密钥来读取加密的凭据和 Raft日志来解锁管理器。

如果自节点离开集群后,密钥尚未被修改,并且在集群中有一个功能管理器节点的法定人数,可以使用docker swarm unlock-key查看当前解锁密钥,而无需任何参数。

 docker swarm unlock-key

如果密钥在群节点不可用后修改,并且没有上一个密钥的记录,我们可能需要强制 manager离开蜂群,并将其作为新manager重新加入集群。

修改解锁键

我们应该定期修改锁定的集群的解锁密钥。

 docker swarm unlock-key --rotate

Note:当在修改解锁密钥时,请将旧密钥记录几分钟,这样如果manager在获得新密钥之前停止,它仍然可能被旧密钥解锁。

到此这篇关于docker-swarm教程之安全保护加密数据的方法详解的文章就介绍到这了,更多相关docker-swarm保护加密数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker 容器操作退出后进入解决办法

    Docker 容器操作退出后进入解决办法

    这篇文章主要介绍了Docker 容器操作退出后进入解决办法的相关资料,需要的朋友可以参考下
    2016-10-10
  • Spring Boot Docker打包工具小结

    Spring Boot Docker打包工具小结

    本文对几种常见的Spring Boot Docker打包工具进行了简单总结,感兴趣的朋友跟随小编一起看看吧
    2021-05-05
  • Docker compose启动服务遇到的问题小结

    Docker compose启动服务遇到的问题小结

    这篇文章主要介绍了Docker compose启动服务遇到的问题小结,这个是检验我们的docker compose掌握程度,因此里面的镜像没有提前拉取,挂载数据卷的目录也没有提前创建,本文给大家介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • Docker使用镜像仓库的方法

    Docker使用镜像仓库的方法

    这篇文章介绍了Docker使用镜像仓库的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-01-01
  • 使用Docker容器部署Vue程序

    使用Docker容器部署Vue程序

    这篇文章介绍了使用Docker容器部署Vue程序的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-03-03
  • docker如何动态查看日志最后100行

    docker如何动态查看日志最后100行

    这篇文章主要介绍了docker如何动态查看日志最后100行问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教<BR>
    2024-01-01
  • CentOS7环境下使用Docker搭建PHP运行环境的过程详解

    CentOS7环境下使用Docker搭建PHP运行环境的过程详解

    这篇文章主要介绍了CentOS7环境下使用Docker搭建PHP运行环境,文中给大家提到创建私有网络及安装nginx的方法,本文给大家介绍的非常详细,需要的朋友可以参考下
    2021-08-08
  • docker 清理缓存脚本解析

    docker 清理缓存脚本解析

    这篇文章主要介绍了docker 清理缓存脚本解析,文章围绕主题展开详细的内容介绍,具有一定的参考价价值,需要的小伙伴可以参考一下
    2022-07-07
  • Centos7安装docker compse踩过的坑及解决方法

    Centos7安装docker compse踩过的坑及解决方法

    本文,我们介绍如何在centos7环境下安装docker-compose, 记录下安装过程步骤以及遇到的问题还有解决办法,感兴趣的朋友参考下吧
    2018-01-01
  • Next.js Docker镜像私有部署从零实现

    Next.js Docker镜像私有部署从零实现

    这篇文章主要为大家介绍了Next.js Docker镜像私有部署从零实现,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12

最新评论