【vSphere 7/8】深入浅出 vSphere 证书 Ⅲ—— vSphere 证书的更新和替换概述

2024-08-31 11:20

本文主要是介绍【vSphere 7/8】深入浅出 vSphere 证书 Ⅲ—— vSphere 证书的更新和替换概述,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 摘要
  • 1. vSphere Certificate Architecture
  • 2. 证书更新和替换概述
    • 2.1更新 VMCA 签名的证书
      • (1)使用 vSphere Client UI
      • (2)使用 vSphere Certificate Manager 命令行工具(自动)
      • (3)使用 dir-cli、certool 和 vecs-cli 命令行工具(手动)
      • (4)使用 vSphere Automation API(自动化脚本)
    • 2.2 使 VMCA 成为中间 CA
      • (1)使用 vSphere Certificate Manager 命令行工具(自动)
      • (2)使用 dir-cli、certool 和 vecs-cli 命令行工具(手动)
    • 2.3 使用自定义证书替换 VMCA 签名证书
      • (1)使用 vSphere Client UI
      • (2)使用 vSphere Certificate Manager 命令行工具(自动)
      • (3)使用 dir-cli、certool 和 vecs-cli 命令行工具(手动)
    • 2.4 混合部署
    • 2.5 ESXi 证书替换
  • 参考文献
  • 关联博文

摘要

本系列博文会深入浅出的引导读者认识,了解,理解 vSphere 环境中的证书。
本篇博文主要介绍了 vSphere 证书(替换)关系示意图

1. vSphere Certificate Architecture

一个 vSphere 虚拟化环境中一般包括一台或以上的 vCenter Server,外加一台或以上的 ESXi 主机。那么这样一个虚拟化环境中,其证书架构图如下所示:
在这里插入图片描述VMCA CA 作为 vSphere 中的根证书,为各种服务和组件签发证书。vSphere 环境中主要的证书有 ESXi 证书,Machine SSL 证书,Solution User 证书,SMS 证书,data-encipherment 证书以及 STS Signing 证书。如上图所示。其中

  • ESXi 证书存储在 ESXi 主机中,
  • Machine SSL 证书,Solution User 证书,SMS 证书,data-encipherment 证书存储在 VECS 中,
  • STS Signing 证书存储在 SSO 中。

2. 证书更新和替换概述

vSphere 支持用户根据公司安全策略和系统需求来使用企业签名 CA 替换 vSphere 默认证书。用户可以根据喜好,自行选择替换证书的方式,包括

  • 通过 vSphere Client UI (Certificate Management)
  • 通过 vSphere Certificate Manager 实用程序(certificate-manager)
  • 通过安装时附带的 CLI 手动执行证书替换(dir-cli、certool 和 vecs-cli )

2.1更新 VMCA 签名的证书

如果 VMCA 证书过期或由于其他原因要对其进行替换,可以使用证书管理 CLI 执行此过程。默认情况下,VMCA 根证书有效期为十年,且 VMCA 签名的所有证书都会在根证书过期时过期,即有效期最长为十年。

由 VMCA 签发的证书有两大类,分别是

  • Machine SSL Certificate 计算机 SSL 证书
  • Solution User Certificate解决方案用户证书

由 VMCA 签名的证书存储在 VECS 中

在这里插入图片描述

(1)使用 vSphere Client UI

在 UI 上只能对 Machine SSL 证书进行更新。

在这里插入图片描述

关于 VMCA 根证书,包括 Trusted Root 证书和解决方案用户证书,需要使用 CLI 工具(certificate-manager 或 dir-cli、certool、vecs-cli)来进行更新和替换。

(2)使用 vSphere Certificate Manager 命令行工具(自动)

更新时可以使用以下 选项:

  • Replace Machine SSL Certificate with VMCA Certificate (将计算机 SSL 证书替换为 VMCA 证书)
  • Replace Solution User Certificate with VMCA Certificate(将解决方案用户证书替换为 VMCA 证书)
  • Reset all Certificates(重置所有证书,包括 Machine SSL 和 Solution User 证书)

(3)使用 dir-cli、certool 和 vecs-cli 命令行工具(手动)

  • 生成新的 VMCA 签名根证书(请关注后续章节)
  • 生成新的计算机 SSL 证书(请关注后续章节)
  • 生成新的解决方案用户证书(请关注后续章节)

(4)使用 vSphere Automation API(自动化脚本)

以 Python 为例,Python API 提供了 vcenter.certificate_management.vcenter.Tls.renew() 方法,用于刷新 Machine SSL 证书。具体步骤请参考博客:【vSphere | Python】vSphere Automation SDK for Python Ⅶ—— Certificate Management APIs(上)

[!NOTE]

这里说明的 VMCA 签名的证书可以分为两种情况:

  • 第一种是 vSphere 默认证书。
  • 第二种是 VMCA 已经是企业自签证书,由 VMCA 继续签名 Machine SSL 和 Solution User 两大类证书,此时这两大类证书也是企业自签名证书。详见1.2 小节

2.2 使 VMCA 成为中间 CA

vSphere 支持将 VMCA 根证书替换为由企业 CA 或第三方 CA 签名的证书。

每次置备 VMCA 证书时都会签署自定义根证书,从而使 VMCA 成为中间 CA。

由第三方或企业 CA 签名的证书使用 VMCA 作为中间 CA

在这里插入图片描述

(1)使用 vSphere Certificate Manager 命令行工具(自动)

更新时可以使用以下 选项:

  • 将 VMCA 根证书替换为自定义签名证书并替换所有证书。
  • Replace Machine SSL Certificate with VMCA Certificate (将计算机 SSL 证书替换为 VMCA 证书)多节点增强型链接模式部署。
  • Replace Solution User Certificate with VMCA Certificate(将解决方案用户证书替换为 VMCA 证书)多节点增强型链接模式部署。

(2)使用 dir-cli、certool 和 vecs-cli 命令行工具(手动)

  • 替换根证书(中间 CA)(请关注后续章节)
  • 替换计算机 SSL 证书(中间 CA)(请关注后续章节)
  • 替换解决方案用户证书(中间 CA)(请关注后续章节)

2.3 使用自定义证书替换 VMCA 签名证书

vSphere 支持将现有的 VMCA 签名证书替换为自定义证书。如果使用外部CA直签证书替换,用户必须负责置备和监控所有证书。

外部证书直接存储在 VECS 中

在这里插入图片描述

(1)使用 vSphere Client UI

在 UI 上只能对 Machine SSL 证书进行替换成自定义证书。

在这里插入图片描述

(2)使用 vSphere Certificate Manager 命令行工具(自动)

更新时可以使用以下 选项:

  • Replace Machine SSL Certificate with Custom Certificate(将计算机 SSL 证书替换为自定义证书)
  • Replace Solution User Certificates with Custom Certificates(将解决方案用户证书替换为自定义证书)

(3)使用 dir-cli、certool 和 vecs-cli 命令行工具(手动)

  • 自定义根证书
  • 自定义计算机 SSL 证书

2.4 混合部署

vSphere 支持让 VMCA 提供一些证书,同时对基础架构的其他部分使用自定义证书。

例如,由于解决方案用户证书仅用于验证 vCenter Single Sign-On 的身份,因此可以考虑让 VMCA 提供这些证书。使用自定义证书替换计算机 SSL 证书,以确保所有 SSL 流量的安全。

公司策略通常不允许使用中间 CA。在这些情况下,混合部署是一种有效的解决方案。它会最大程度地减少要替换的证书数量并确保所有流量的安全。混合部署只保留内部流量,即解决方案用户流量,以便使用默认的 VMCA 签名证书。

在这里插入图片描述

2.5 ESXi 证书替换

ESXi 证书替换的情况分为两种:

  • 被 vCenter Server 纳管的 ESXi 主机
  • 不被 vCenter Server 纳管的 ESXi 主机

对于被 vCenter Server 纳管的 ESXi主机,用户可以从 vSphere Client 更改证书置备行为。

选项描述
VMware Certificate Authority(默认值)默认情况下,VMware Certificate Authority (VMCA) 被用作 ESXi 主机证书的证书颁发机构 (CA) 。默认情况下,VMCA 为根 CA,但可将其设置为其他 CA 的中间 CA。在 vmca 模式下,您可以从 vSphere Client 中续订和刷新证书。如果 VMCA 是辅助证书,也将使用 VMCA。
自定义证书颁发机构模式如果希望仅使用第三方或企业 CA 签名的自定义证书,则使用此模式。在自定义模式下,您必须自行管理证书。从 vSphere 8.0 Update 3 开始,用户可以从 vSphere Client 中管理自定义证书。
**注:**除非将证书模式更改为“自定义证书颁发机构”( custom),否则在 vSphere Client 中选择 续订等情况下,VMCA 可能会替换自定义证书。
指纹模式vSphere 5.5 使用指纹模式,且此模式在 vSphere 6.x 中仍可用作后备选项。在此模式下,vCenter Server 会检查证书格式是否正确,但不会检查证书是否有效。甚至会接受已过期的证书。
除非使用其他两种模式之一时遇到无法解决的问题,否则不要使用此模式。某些 vCenter Server 6.x 及更高版本服务在指纹模式下可能无法正常运行。

对于不被 vCenter Server 纳管的 ESXi 主机,用户需要借助 ESXi 命令行工具来刷新证书。

参考文献

  • vSphere 7 :Certificate Replacement Overview
  • vSphere 8 :Replacing vSphere Certificates

关联博文

关于深入浅出 vSphere 证书,请查阅下面的博文:
1:初识和了解 vSphere证书
2:了解 vSphere 证书的类型,作用以及保存位置
3:vSphere 证书的更新和替换概述

这篇关于【vSphere 7/8】深入浅出 vSphere 证书 Ⅲ—— vSphere 证书的更新和替换概述的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1123757

相关文章

Python如何判断字符串中是否包含特殊字符并替换

《Python如何判断字符串中是否包含特殊字符并替换》这篇文章主要为大家详细介绍了如何使用Python实现判断字符串中是否包含特殊字符并使用空字符串替换掉,文中的示例代码讲解详细,感兴趣的小伙伴可以了... 目录python判断字符串中是否包含特殊字符方法一:使用正则表达式方法二:手动检查特定字符Pytho

C#继承之里氏替换原则分析

《C#继承之里氏替换原则分析》:本文主要介绍C#继承之里氏替换原则,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#里氏替换原则一.概念二.语法表现三.类型检查与转换总结C#里氏替换原则一.概念里氏替换原则是面向对象设计的基本原则之一:核心思想:所有引py

Oracle 通过 ROWID 批量更新表的方法

《Oracle通过ROWID批量更新表的方法》在Oracle数据库中,使用ROWID进行批量更新是一种高效的更新方法,因为它直接定位到物理行位置,避免了通过索引查找的开销,下面给大家介绍Orac... 目录oracle 通过 ROWID 批量更新表ROWID 基本概念性能优化建议性能UoTrFPH优化建议注

Python datetime 模块概述及应用场景

《Pythondatetime模块概述及应用场景》Python的datetime模块是标准库中用于处理日期和时间的核心模块,本文给大家介绍Pythondatetime模块概述及应用场景,感兴趣的朋... 目录一、python datetime 模块概述二、datetime 模块核心类解析三、日期时间格式化与

Redis中6种缓存更新策略详解

《Redis中6种缓存更新策略详解》Redis作为一款高性能的内存数据库,已经成为缓存层的首选解决方案,然而,使用缓存时最大的挑战在于保证缓存数据与底层数据源的一致性,本文将介绍Redis中6种缓存更... 目录引言策略一:Cache-Aside(旁路缓存)策略工作原理代码示例优缺点分析适用场景策略二:Re

慢sql提前分析预警和动态sql替换-Mybatis-SQL

《慢sql提前分析预警和动态sql替换-Mybatis-SQL》为防止慢SQL问题而开发的MyBatis组件,该组件能够在开发、测试阶段自动分析SQL语句,并在出现慢SQL问题时通过Ducc配置实现动... 目录背景解决思路开源方案调研设计方案详细设计使用方法1、引入依赖jar包2、配置组件XML3、核心配

Pandas利用主表更新子表指定列小技巧

《Pandas利用主表更新子表指定列小技巧》本文主要介绍了Pandas利用主表更新子表指定列小技巧,通过创建主表和子表的DataFrame对象,并使用映射字典进行数据关联和更新,实现了从主表到子表的同... 目录一、前言二、基本案例1. 创建主表数据2. 创建映射字典3. 创建子表数据4. 更新子表的 zb

MySQL更新某个字段拼接固定字符串的实现

《MySQL更新某个字段拼接固定字符串的实现》在MySQL中,我们经常需要对数据库中的某个字段进行更新操作,本文就来介绍一下MySQL更新某个字段拼接固定字符串的实现,感兴趣的可以了解一下... 目录1. 查看字段当前值2. 更新字段拼接固定字符串3. 验证更新结果mysql更新某个字段拼接固定字符串 -

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

如何将Tomcat容器替换为Jetty容器

《如何将Tomcat容器替换为Jetty容器》:本文主要介绍如何将Tomcat容器替换为Jetty容器问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat容器替换为Jetty容器修改Maven依赖配置文件调整(可选)重新构建和运行总结Tomcat容器替