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

信息搜集--敏感文件Banner

免责声明:本文仅做分享参考... 目录 git安装: git目录结构: 敏感目录泄露 1-git泄露 (1)常规git泄露 scrabble工具 (2)git回滚 (3)git分支 GitHacker工具 (4)git泄露的其他利用 .git重定向问题 2-SVN泄露 dvcs-ripper工具 3-小结 dirsearch目录扫描工具 敏感备…...

Qt 学习第六天:页面布局

如何设计页面&#xff1f; 有个类似沙盒模式的玩法&#xff0c;Qt Widget Designer可以更好的帮助我们设计页面 点击.ui文件进入 右上方可以看到四种常见的布局&#xff1a; 四种布局 &#xff08;一&#xff09;水平布局horizontalLayout&#xff1a;QHBoxLayout H 是 hori…...

利用队列收集单双击和长按按键

利用队列收集单双击和长按按键 引言 当我们仅仅通过在while循环里面进行判断按键类型的标志位, 然后进行操作的时候, 我们的最小例程很小, 所以能够实时的检测到按键,从而触发实验现象. 假如我们此时进入了一个事件处理函数呢 ? 并且这个这个函数的操作是不可被打断的, 如果此…...

AI工作流:低代码时代的革新者,重塑手机问答类应用生态

在这个数字化迅猛发展的时代&#xff0c;低代码技术正以惊人的速度改变着我们的生活方式。作为低代码人群的先锋&#xff0c;AI工作流技术正在以前所未有的方式&#xff0c;赋予非技术人群实现梦想的能力 &#x1f525;能用AI-低代码传送门&#xff1a;https://www.nyai.chat …...

配置MySQL主从,配置MySQL主主 +keeplive高可用

在大数据-Hadoop体系中 配置MySQL主主keeplive高可用 注意&#xff1a;这个是我两年前的word文档&#xff0c;可以当作参考文档有个思路参考一下&#xff0c;但是里面可能有些地方有误 另外 :关于一些企业级实战技术可以参考这篇mysql 物理备份 MySQL 全量备份 增量备份 差异…...

第5节:Elasticsearch核心概念

我的后端学习笔记大纲 我的ElasticSearch学习大纲 1.Lucene和Elasticsearch的关系: 1.Lucene&#xff1a;最先进、功能最强大的搜索库&#xff0c;直接基于lucene开发&#xff0c;非常复杂&#xff0c;api复杂2.Elasticsearch&#xff1a;基于lucene&#xff0c;封装了许多luc…...

存储实验:华为异构存储在线接管与在线数据迁移(Smart Virtualization Smart Migration 特性)

目录 目的实验环境实验步骤参考文档1. 主机安装存储多路径2. v2存储创建Lun&#xff0c;映射给主机&#xff1b;主机分区格式化&#xff0c;写数据3. 将v2存储映射该成映射到v3存储上(v3存储和v2之间链路搭建&#xff0c;测通&#xff0c;远端设备&#xff09;&#xff08;Smar…...

职业院校云计算实训室建设方案全景剖析

在信息化社会的今天&#xff0c;云计算作为一项关键技术&#xff0c;正在迅速改变着教育和培训的方式。本文旨在探讨如何通过"职业院校云计算实训室建设方案"&#xff0c;为学生提供一个现代化、高效的学习和研究环境&#xff0c;以适应云计算技术的发展和市场需求。…...

VS Code安装与vue项目新建

1、下载安装node.js、VS Code node.js官网下载 Visual Studio Code官网下载 # 查看node.js是否安装成功 node -v npm -v # 定义镜像路径 npm config set registry https://registry.npmmirror.com # 查看是否配置成功 npm config get# 安装webpack npm install webpack -g #…...

如何在Java中将数据库查询结果转换为枚举类型

前言 在开发过程中&#xff0c;我们经常需要将从数据库获取的字符串或数字转换为更具语义的枚举类型。这不仅可以提高代码的可读性&#xff0c;还可以确保类型安全。这时候我们从数据库查出来的值如何通过枚举转换返回&#xff1f; 1. 构建枚举类型 首先&#xff0c;我们需要…...