当前位置: 首页 > news >正文

【vSphere 7/8】深入浅出 vSphere 证书 Ⅰ—— 初识和了解 vSphere证书

目录

  • 摘要
  • 1. vSphere 安全证书
    • 1.1 vSphere 安全证书的类型和有效期
  • 2. 在 vSphere Client 中初识 vSphere 证书
    • 2.1 vCenter 8.0.3 的 vSphere Client 界面
    • 2.2 vCenter Server 7.0 Update2 到 vCenter Server 8.0 Update 2 的 vSphere Client 界面
    • 2.3 vCenter Server 7.0 到 vCenter Server 7.0 Update1 的 vSphere Client 界面
  • 3. 为什么证书对 vSphere 环境至关重要
  • 4. 管理证书
    • 4.1 使用 vSphere Client
    • 4.2 使用 vSphere Automation API
    • 4.3 使用 vSphere Certificate Manager 命令行工具
    • 4.4 使用 CLI 命令执行手动证书替换
  • 参考文献

摘要

  • 本系列博文会深入浅出的引导读者认识,了解,理解 vSphere 环境中的证书。
  • 本篇博文主要引导大家初识 vSphere 证书,描述如何快速查看 vSphere 证书

这里的 vSphere 证书包括 vCenter Server 和 ESXi 的证书。除了 ESXi 证书,其他证书均在 vCenter Server 中。

1. vSphere 安全证书

vSphere 通过使用证书来加密通信,对服务进行身份验证,以及对令牌进行签名来提供安全性。

vSphere 证书的作用:

  • 对两个节点(例如 vCenter Server 和 ESXi 主机)之间的通信进行加密。
  • 对 vSphere 服务进行身份验证。
  • 执行内部操作,如对令牌进行签名。

vSphere 的内部证书颁发机构 VMware Certificate Authority (VMCA) 提供 vCenter Server 和 ESXi 所需的所有证书。每一个 vCenter Server 主机上均安装了 VMCA,其可立即确保解决方案的安全,而不进行任何其他修改。保留此默认配置可为证书管理提供最低操作开销。vSphere 提供了一种证书更新机制,用于在这些证书过期时进行续订。

vSphere 还提供了一种证书替换机制,用于将某些证书替换为用户自己的证书。但是,仅替换在节点之间提供加密的 SSL 证书,以保持较低的证书管理开销。

模式描述优势
VMCA 默认证书VMCA 为 vCenter Server 和 ESXi 主机提供所有证书。最简单和最低开销。VMCA 可以管理 vCenter Server 和 ESXi 主机的证书生命周期。
使用外部 SSL 证书的 VMCA 默认证书(混合模式)替换 vCenter Server 的 SSL 证书,并允许 VMCA 管理解决方案用户ESXi 主机的证书。(可选)对于安全性很重要的部署,还可以替换 ESXi主机的 SSL 证书。简单且安全。VMCA 会管理内部证书,但允许用户使用企业批准的 SSL 证书,并让浏览器信任

VMware 官方建议,既不要替换解决方案用户证书或 STS 证书,也不要使用辅助 CA 取代 VMCA。如果选择任意一种选项,都可能会遇到很大复杂性和对安全产生负面影响的可能性,以及不必要地提高操作风险。有关管理 vSphere 环境内的证书的更多信息,请参见标题为 New Product Walkthrough - Hybrid vSphere SSL Certificate Replacement 的博客。

1.1 vSphere 安全证书的类型和有效期

在 vSphere ( vCenter 和 ESXi )环境中主要的证书有5个类型。

Certificate Type / 证书类型Valid 有效期刷新后的有效期
Root certificate / 根证书10 年10 年
VMCA Root certificate / VMCA根证书10 年10 年
Machine SSL certificate / 计算机 SSL 证书2 年2 年
Solution user certificate / 解决方案用户证书10 年2 年
ESXi certificate / ESXi 证书5年5年

其中

  • Root certificate(根证书),它是所有 VMware vSphere 安全证书的 CA,该证书无法替换。

  • VMCA Root certificate(VMCA根证书),可用于中间CA,用户可以替换该根证书(建议不替换),

    它可以为 Machine SSL certificate(计算机 SSL 证书)和 Solution user certificate(解决方案用户证书签名),即 Machine SSL certificate 和 Solution user certificate是其子证书。

  • Machine SSL certificate(计算机 SSL 证书) 是经过 VMCA Root certificate 证书签名的证书。如果使用企业CA直接自定该证书也是可以的。即绕开 VMCA 根证书。

  • Solution user certificate(解决方案用户证书签名)也是经过 VMCA Root certificate 证书签名的证书。如果使用企业 CA 直接自定该证书也是可以的。即绕开 VMCA 根证书。

  • ESXi certificate ( ESXi 证书),刚创建且未加入 vCenter 的 ESXi 在安装时会自签发证书。在加入 vCenter 时,vCenter 的 VMCA 会自动对 ESXi 签发并替换 ESXi 证书。

2. 在 vSphere Client 中初识 vSphere 证书

绝大多数用户刚开始都是在 vSphere Client UI 中接触到 vSphere 证书。那么 vSphere 证书在 vSphere Client UI 中哪个位置?

我们通过 administrator@vsphere.local 账户登录 vSphere Client UI 后,转到 菜单 > Administration > Certificates > Certificate Management

在这个界面中我们可以观察到上面小节中提到的部分证书

根据 vCenter Server 版本的不同,该界面会有一些差异,具体差异如下:

2.1 vCenter 8.0.3 的 vSphere Client 界面

最新的 vCenter 8.0.3 将 Machine SSL,STS Signing 和 VMCA Root,Trusted Root 证书分别分为一个标签页。

在这里插入图片描述

2.2 vCenter Server 7.0 Update2 到 vCenter Server 8.0 Update 2 的 vSphere Client 界面

Machine SSL,STS Signing 和 VMCA Root,Trusted Root 证书在同一页面显示。
在这里插入图片描述

2.3 vCenter Server 7.0 到 vCenter Server 7.0 Update1 的 vSphere Client 界面

Machine SSL,VMCA Root 和 Trusted Root 证书在同一页面显示,不显示 STS Signing 证书。

在这里插入图片描述

在 Certificate Management 界面我们可以对部分证书进行管理,包括

  • 查看证书具体信息(VIEW DETAILS)
  • 更新证书(Renew)
  • 导入和替换自定义证书(Import and Replace Certificate)
  • 生成证书签名请求(Generate Certificate Signing Request (CSR))

在 vSphere Client UI 上用户是看不到 Solution user certificate / 解决方案用户证书,因此对于该类型证书的管理,我们需要借助 VCSA 的 CLI 工具,该部分内容本系列博客后续博文会详细说明。

3. 为什么证书对 vSphere 环境至关重要

在 vSphere 环境中证书的至关重要,它直接影响 vCenter 的服务是否能正常启动和运行,如果证书过期,那么 vCenter 的服务会相应进入停止(stopped)状态,从而导致 vSphere Client UI 无法访问,进而导致用户不能正常管理 vSphere 虚拟化环境。

后续博文会对证书失效后,出现的报错和如何更新证书进行详细说明。

4. 管理证书

用户可以使用不同界面管理证书。包括通过 vSphere Client 管理证书,也可以使用 API、脚本或 CLI 管理证书。

vSphere 提供4种方式管理证书:

  • 使用 vSphere Client
  • 使用 vSphere Automation API
  • vSphere Certificate Manager 命令行工具
  • 使用 CLI 命令执行手动证书替换:使用 dir-cli、certool 和 vecs-cli 执行所有证书管理任务。关于 STS 证书管理,需要使用 sso-config 实用程序。

4.1 使用 vSphere Client

一般的,我们较熟悉的方式是 vSphere Client UI管理证书,包括的证书的查看,更新和自定义证书替换。

实际使用起来,建议使用 vSphere Client 查看 STS 证书信息,关于证书更新和使用自定义证书替换默认 vSphere 证书,建议通过 CLI 的形式来操作。

使用 UI 操作可能会造成报错或更新失败。

4.2 使用 vSphere Automation API

vSphere Automation API 一般用于 vSphere 自动化工作中,关于这个知识点我们有另外的专栏进行说明: vSphere Python 自动化

VMware 官方也给出了《VMware vSphere Automation SDK 编程指南》。这部分涉及到编程,可选择的编程语言有 Java,Python等。

4.3 使用 vSphere Certificate Manager 命令行工具

vSphere Certificate Manager 工具是处理 vSphere 证书问题的利器,基本上主要的证书更新,它都能可以实现,除了 STS 证书。

该工具的执行文件位于:/usr/lib/vmware-vmca/bin/certificate-manager

certificate-manager 给出了8个选项,可以单独更新 Machine SSL certificate,也可以单独更新 Solution user certificates 亦可以 替换所有证书。此外它还支持使用企业 CA 签名的证书来替换原有证书。

4.4 使用 CLI 命令执行手动证书替换

除了上述三种半自动/自动化工具外,我们也可以通过 vSphere 提供的三个命令行工具( dir-cli、certool 和 vecs-cli ),手动的管理每一个证书。前面提到在 vSphere Client UI 上看不到 Solution user certificate / 解决方案用户证书,我们需要使用 dir-cli 和 vecs-cli 工具进行查看其详细信息和有效期。

几乎所有证书管理任务均能使用 dir-cli、certool 和 vecs-cli 三个 CLI 工具进行操作。

关于 STS 证书,首先我们需要了解 vCenter Server Security Token Service (STS) ,它是一项发布、验证和续订安全令牌的 Web 服务。其证书并不保存在 VECS 中,而是在 STS 服务中。同时也可以使用 certool 工具和 sso-config 实用程序 对 STS 证书进行更新。

参考文献

  • vSphere 7 :vSphere Security Certificates
  • vSphere 8 :vSphere Security Certificates

相关文章:

【vSphere 7/8】深入浅出 vSphere 证书 Ⅰ—— 初识和了解 vSphere证书

目录 摘要1. vSphere 安全证书1.1 vSphere 安全证书的类型和有效期 2. 在 vSphere Client 中初识 vSphere 证书2.1 vCenter 8.0.3 的 vSphere Client 界面2.2 vCenter Server 7.0 Update2 到 vCenter Server 8.0 Update 2 的 vSphere Client 界面2.3 vCenter Server 7.0 到 vCe…...

【云备份】服务端模块-热点管理

文章目录 0.回顾extern1.介绍2.实现思想3.代码测试代码 热点管理总结 0.回顾extern extern cloudBackup::DataManager *_dataManager extern 关键字用于声明一个全局变量或对象,而不定义它。这意味着 _dataManager 是一个指向 cloudBackup::DataManager 类型的指针…...

call apply bind特性及手动实现

call // 原生的call var foo { value: 1 };function bar(...args) {console.log("this", this.value, args); }bar.call(foo)// call 改变了bar的this指向 // bar函数执行了 // 等价于 // var foo { // name: "tengzhu", // sex: "man", …...

pygame开发课程系列(5): 游戏逻辑

第五章 游戏逻辑 在本章中,我们将探讨游戏开发中的核心逻辑,包括碰撞检测、分数系统和游戏状态管理。这些元素不仅是游戏功能的关键,还能显著提升游戏的趣味性和挑战性。 5.1 碰撞检测 碰撞检测是游戏开发中的一个重要方面,它用…...

嵌入式系统实时任务调度算法优化与实现

嵌入式系统实时任务调度算法优化与实现 目录 嵌入式系统实时任务调度算法优化与实现 引言 1.1 嵌入式系统的重要性 1.2 实时任务调度的重要性 实时任务的定义与分类 2.1 实时任务的定义 2.2 实时任务的分类 2.3 实时任务的其他分类方法 硬实时与软实时系统 3.1 硬实…...

Java:枚举转换

在Java中,你可以使用Enum.valueOf()方法将字符串转换为枚举常量。但是,如果你想要将枚举转换为其他类型,你需要自定义转换方法。以下是一个简单的例子,演示如何将枚举转换为整数: public enum Color {RED(1), GREEN(2…...

Vue、react父子组件生命周期

Vue 的父子组件生命周期 以下分为三部分,加载渲染阶段——更新阶段——销毁阶段,我们来一一介绍: 1、加载渲染阶段 在加载渲染阶段,一定得等子组件挂载完毕后,父组件才能挂载完毕,所以父组件的 mounted 在…...

HTML 基础要素解析

目录 HTML 初步认识 纯文本文件介绍 纯文本文件与其它文件的区别 Html介绍 HTML 骨架 文档类型(!DOCTYPE)声明 介绍 常用的 DOCTYPE 声明 meta标签 字符集 关键字和页面描述 HTML 初步认识 纯文本文件介绍 纯文本文件指的是仅包含文本内容&am…...

开源的向量数据库Milvus

Milvus是一款开源的向量数据库,专为处理向量搜索任务而设计,尤其擅长处理大规模向量数据的相似度检索。 官网地址:https://milvus.io/ 以下是关于Milvus的详细介绍: 一、基本概念 向量数据库:Milvus是一款云原生向量…...

设计模式-工厂方法

“对象创建”模式 通过“对象创建”模式绕开new,来避免对象创建(new)过程中所导致的紧耦合(依赖具体类),从而支持对象创建的稳定。它是接口抽象之后的第一步工作。典型模式 Factory MethodAbstract Factory…...

Flask SQLALchemy 的使用

Flask SQLALchemy 的使用 安装 Flask-SQLAlchemy配置 Flask-SQLAlchemy定义模型创建数据库和表插入和查询数据更新和删除数据迁移数据库总结Flask-SQLAlchemy 是一个 Flask 扩展,它简化了 Flask 应用中 SQLAlchemy 的使用。SQLAlchemy 是一个强大的 SQL 工具包和对象关系映射(…...

Metasploit漏洞利用系列(一):MSF完美升级及目录结构深度解读

在信息安全领域,MetasploitFramework(MSF)是一个无处不在的工具,它集合了大量的渗透测试和漏洞利用模块,帮助安全专家识别和利用系统中的弱点。本文将深入探讨如何对Metasploit进行完美升级,以及对其核心目…...

C/C++|经典代码题(动态资源的双重释放与「按值传递、按引用传递、智能指针的使用」)

以下代码中你能看出其存在什么问题&#xff1f;如何修复&#xff0c;能给出几种方法&#xff1f;分别在什么场景下用哪种方法。 #include <iostream>class Buffer {public:Buffer() { std::cout << "Buffer created" << std::endl; }~Buffer() { s…...

西北乱跑娃 -- linux使用笔记

1.后台运行每天一个日志文件 nohup python3.8 manage.py >> $(date %Y-%m-%d).log 2>&1 &2.目录操作&#xff1a; ls&#xff1a;列出目录内容。cd&#xff1a;改变当前工作目录。pwd&#xff1a;显示当前工作目录的路径。mkdir&#xff1a;创建新目录。rmd…...

Kubectl基础命令使用

一.Kubectl 基础命令 格式&#xff1a; kubectl [command] [TYPE] [NAME] [FLAGS] kubectl 是 Kubernetes 的命令行工具&#xff0c;用于管理 Kubernetes 集群。以下是一些常用的 kubectl 命令及其选项&#xff1a; 常用命令 获取资源 列出所有资源类型&#xff08;Pods、De…...

推荐编译器插件:Fitten Code 更快更好的AI助手

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…...

ArcGIS Pro基础:状态栏显示栏的比例尺设置和经纬度位置

上图所示&#xff0c;界面下方最左侧是显示的比例尺&#xff0c;可以进行选择设置&#xff0c;也可以进行自定义设置 上图所示&#xff0c;可以手动录入比例尺&#xff0c;同时也可以对比例尺设置别名&#xff0c;比如【实验1】作为特定比例尺的标记 如上图所示&#xff0c;可以…...

微前端架构入门

什么是微前端? 定义 微前端是一种多个团队通过独立发布功能的方式来共同构建现代化 web 应用的技术手段及方法策略。 微前端是一种架构风格,它允许将一个复杂的大前端应用拆分成多个可以独立开发、部署的小型前端应用。这些小型前端应用通常被称为“子应用”或者“微前端应用…...

[LitCTF 2023]导弹迷踪

页面源码底部有多个js,查看浏览 查看ksrc/game.js发现flag...

win10安装wsl2(ubuntu20.04)并安装 TensorRT-8.6.1.6、cuda_11.6、cudnn

参考博客&#xff1a; 1. CUDA】如何在 windows 上安装 Ollama 3 open webui &#xff08;docker WSL 2 ubuntu nvidia-container&#xff09;&#xff1a;https://blog.csdn.net/smileyan9/article/details/140391667 2. 在 Windows 10 上 安装 W…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢

随着互联网技术的飞速发展&#xff0c;消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁&#xff0c;不仅优化了客户体验&#xff0c;还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用&#xff0c;并…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

C++ 基础特性深度解析

目录 引言 一、命名空间&#xff08;namespace&#xff09; C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用&#xff08;reference&#xff09;​ C 中的引用​ 与 C 语言的对比​ 四、inline&#xff08;内联函数…...

Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理

引言 Bitmap&#xff08;位图&#xff09;是Android应用内存占用的“头号杀手”。一张1080P&#xff08;1920x1080&#xff09;的图片以ARGB_8888格式加载时&#xff0c;内存占用高达8MB&#xff08;192010804字节&#xff09;。据统计&#xff0c;超过60%的应用OOM崩溃与Bitm…...

云原生玩法三问:构建自定义开发环境

云原生玩法三问&#xff1a;构建自定义开发环境 引言 临时运维一个古董项目&#xff0c;无文档&#xff0c;无环境&#xff0c;无交接人&#xff0c;俗称三无。 运行设备的环境老&#xff0c;本地环境版本高&#xff0c;ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣&#xff08;LeetCode&#xff09; 思路 右视图是指从树的右侧看&#xff0c;对于每一层&#xff0c;只能看到该层最右边的节点。实现思路是&#xff1a; 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

算法打卡第18天

从中序与后序遍历序列构造二叉树 (力扣106题) 给定两个整数数组 inorder 和 postorder &#xff0c;其中 inorder 是二叉树的中序遍历&#xff0c; postorder 是同一棵树的后序遍历&#xff0c;请你构造并返回这颗 二叉树 。 示例 1: 输入&#xff1a;inorder [9,3,15,20,7…...

LangChain 中的文档加载器(Loader)与文本切分器(Splitter)详解《二》

&#x1f9e0; LangChain 中 TextSplitter 的使用详解&#xff1a;从基础到进阶&#xff08;附代码&#xff09; 一、前言 在处理大规模文本数据时&#xff0c;特别是在构建知识库或进行大模型训练与推理时&#xff0c;文本切分&#xff08;Text Splitting&#xff09; 是一个…...

车载诊断架构 --- ZEVonUDS(J1979-3)简介第一篇

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…...