当前位置: 首页 > 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…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

Cursor实现用excel数据填充word模版的方法

cursor主页&#xff1a;https://www.cursor.com/ 任务目标&#xff1a;把excel格式的数据里的单元格&#xff0c;按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例&#xff0c;…...

树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频

使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效&#xff0c;它能挖掘数据中的时序信息以及语义信息&#xff0c;但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN&#xff0c;但是…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持&#xff0c;都是在为未来积攒底气。 案例&#xff1a;OLED显示一个A 这边观察到一个点&#xff0c;怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 &#xff1a; 如果代码里信号切换太快&#xff08;比如 SDA 刚变&#xff0c;SCL 立刻变&#…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

从面试角度回答Android中ContentProvider启动原理

Android中ContentProvider原理的面试角度解析&#xff0c;分为​​已启动​​和​​未启动​​两种场景&#xff1a; 一、ContentProvider已启动的情况 1. ​​核心流程​​ ​​触发条件​​&#xff1a;当其他组件&#xff08;如Activity、Service&#xff09;通过ContentR…...

Python训练营-Day26-函数专题1:函数定义与参数

题目1&#xff1a;计算圆的面积 任务&#xff1a; 编写一个名为 calculate_circle_area 的函数&#xff0c;该函数接收圆的半径 radius 作为参数&#xff0c;并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求&#xff1a;函数接收一个位置参数 radi…...