当前位置: 首页 > 虚拟化 > [企业CA系列五]替换Horizon View证书

[企业CA系列五]替换Horizon View证书

虚拟化 0条评论 2020-6-6 1,228 views

Horizon view是VMware桌面云解决方案,是当前移动办公/远程办公最流程的平台,同时也是我远程连接实验环境的安全接入工具。

Horizon View涉及到证书的组件包含如下三个:

  • Horizon Connetion Server(连接服务器)
  • Horizon Composer(链接克隆服务器)
  • Horizon Security Server(安全服务器)/VMware Unified Access Gateway(统一访问网关,简称UAG)

其中Connection Server和Composer在企业内部使用,可以使用自签名或者企业CA签发证书,Security Server和UAG用于外网接入,可是使用自签名或者企业CA签发证书,但更推荐企业从CA办法机构购买证书,以提高安全性和用户体验(无证书警告、可以使用指纹登录等功能)。

企业根CA和中间CA的搭建,请参考 [企业CA系列一]搭建企业根CA和中间CA

警告:一定要预先在测试环境进行验证,并考虑好相关联的系统证书信任问题!

前提条件和操作步骤概述

因为Horizon Connection Server和Composer使用Windows证书,所以替换Horizon View证书和vCenter、NSX-T有所不同,大致流程如下:

  1. 搭建企业CA;
  2. 使用企业中间CA签发Connection Server、Composer、UAG服务证书;
  3. 转转证书为 .pfx格式,并配置私钥导出密码;
  4. 登录Composer所在的服务器,通过证书管理器,导入企业根CA和企业中间CA到“企业受信任根证书颁发机构”;导入Composer的 .pfx证书到“个人”证书存储中;
  5. 使用sviconfig命令替换Composer证书,重启Composer服务;
  6. 登录Composer所在的服务器,通过证书管理器,导入企业根CA和企业中间CA到“企业受信任根证书颁发机构”;
  7. 修改旧的Connection证书的"有好名称"为"vdm-old";
  8. 导入Connection的 .pfx证书到"个人"证书存储中,并添加"vdm"为有好名称,重启Connection Server服务;
  9. 登录Horizon管理控制台,重新配置Composer连接,信任新证书;
  10. 登录到UAG管理控制台,进入TLS服务器证书设置;
  11. 导入UAG证书链和UAG私钥;
  12. 重新配置UAG中Connection Server的证书指纹(sha1=);
  13. 验证桌面连接,完成证书替换。

通过中间CA为Connection Server签发证书

先准备Connection Server证书所需的配置文件和证书签名文件,需要修改以下内容:

  • CN": "hz-cs.corp.local"(修改为Horizon View连接服务器域名)
  • "hosts": ["127.0.0.1","hz-cs","hz-cs.corp.local","192.168.100.30"] (修改为连接服务器的域名和IP地址)
  • "expiry": "87600h" (证书有效期为10年)
mkdir -p /root/certs/hz-cs
cd /root/certs/hz-cs
cat <<EOF > /root/certs/hz-cs/config.json
{
"signing": {
  "default": {
  "usages": ["digital signature","key encipherment","signing","server auth"],
  "expiry": "87600h"
   }
}
}
EOF

cat <<EOF > /root/certs/hz-cs/hz-cs-csr.json
{
  "CN": "hz-cs.corp.local",
  "hosts": [
      "127.0.0.1",
      "hz-cs",
      "hz-cs.corp.local",
      "192.168.100.30"
  ],
  "key": {
    "algo": "rsa",
    "size": 2048
  },
  "names": [
    {
      "C":  "CN",
      "L":  "Changchun",
      "O":  "VMware",
      "OU": "DevOps",
      "ST": "Jilin"
    }
  ]
}

cfssl gencert -ca=/root/intermediate/corp/corp-intermediate-ca.pem  -ca-key=/root/intermediate/corp/corp-intermediate-ca-key.pem -config=config.json hz-cs-csr.json | cfssljson -bare hz-cs

# Transform .pfx format,need input password for key.
openssl pkcs12 -export -in hz-cs.pem -inkey hz-cs-key.pem -out hz-cs.pfx

通过中间CA为Composer Server签发证书

先准备Composer证书所需的配置文件和证书签名文件,需要修改以下内容:

  • CN": "hz-composer.corp.local"(修改为Horizon View Composer服务器域名)
  • "hosts": ["127.0.0.1","hz-composer","hz-composer.corp.local","192.168.100.31"] (修改为连接服务器的域名和IP地址)
  • "expiry": "87600h" (证书有效期为10年)
mkdir -p /root/certs/hz-composer
cd /root/certs/hz-composer
cat <<EOF > /root/certs/hz-composer/config.json
{
"signing": {
  "default": {
  "usages": ["digital signature","key encipherment","signing","server auth"],
  "expiry": "87600h"
   }
}
}
EOF

cat <<EOF > /root/certs/hz-cs/hz-composer-csr.json
{
  "CN": "hz-cs.corp.local",
  "hosts": [
      "127.0.0.1",
      "hz-composer",
      "hz-composer.corp.local",
      "192.168.100.31"
  ],
  "key": {
    "algo": "rsa",
    "size": 2048
  },
  "names": [
    {
      "C":  "CN",
      "L":  "Changchun",
      "O":  "VMware",
      "OU": "DevOps",
      "ST": "Jilin"
    }
  ]
}

cfssl gencert -ca=/root/intermediate/corp/corp-intermediate-ca.pem  -ca-key=/root/intermediate/corp/corp-intermediate-ca-key.pem -config=config.json hz-composer-csr.json | cfssljson -bare hz-composer

# Transform .pfx format,need input password for key.
openssl pkcs12 -export -in hz-composer.pem -inkey hz-composer-key.pem -out hz-composer.pfx

通过中间CA为UAG签发证书

先准备UAG证书所需的配置文件和证书签名文件,需要修改以下内容:

  • CN": "hz-uag.corp.local"(修改为VMware UAG连接服务器域名)
  • "hosts": ["127.0.0.1","hz-uag","hz-uag.corp.local","192.168.100.32"] (修改为连接服务器的域名和IP地址)
  • "expiry": "87600h" (证书有效期为10年)
mkdir -p /root/certs/hz-uag
cd /root/certs/hz-uag
cat <<EOF > /root/certs/hz-uag/config.json
{
"signing": {
  "default": {
  "usages": ["digital signature","key encipherment","signing","server auth"],
  "expiry": "87600h"
   }
}
}
EOF

cat <<EOF > /root/certs/hz-uag/hz-uag-csr.json
{
  "CN": "hz-uag.corp.local",
  "hosts": [
      "127.0.0.1",
      "hz-uag",
      "hz-uag.corp.local",
      "192.168.100.32"
  ],
  "key": {
    "algo": "rsa",
    "size": 2048
  },
  "names": [
    {
      "C":  "CN",
      "L":  "Changchun",
      "O":  "VMware",
      "OU": "DevOps",
      "ST": "Jilin"
    }
  ]
}

cfssl gencert -ca=/root/intermediate/corp/corp-intermediate-ca.pem  -ca-key=/root/intermediate/corp/corp-intermediate-ca-key.pem -config=config.json hz-uag-csr.json | cfssljson -bare hz-uag

cat hz-uag.pem ../../intermediate/corp/corp-intermediate-ca.pem ../../ca/root-ca.pem >> hz-uag-cert-chain.pem

替换Composer Server证书

  1. 开始->运行->mmc->文件->添加/删除管理单元->证书->添加->计算机账户->本地计算机->确定,进入本地计算机证书管理页面
  2. 证书(本地计算机)->受信任的根证书颁发机构->证书->右键->导入
    • root-ca.pem
    • corp-intermediate-ca.pem
  3. 证书(本地计算机)->个人->证书->导入
    • hz-composer.pfx
  4. 打开命令行工具,进入到C:\Program Files (x86)\VMware\VMware View Composer目录,执行"SviConfig.exe -operation=replacecertificate -delete=false"命命令后,选择证书列表中的Composer证书
  5. 通过服务重启"VMware Horizon 7 Composer"服务,完成Composer证书替换。

替换Connection Server证书

  1. 开始->运行->mmc->文件->添加/删除管理单元->证书->添加->计算机账户->本地计算机->确定,进入本地计算机证书管理页面
  2. 证书(本地计算机)->受信任的根证书颁发机构->证书->右键->导入
    • root-ca.pem
    • corp-intermediate-ca.pem
  3. 修改友好名为"vdm"的旧证书的有好名为"vdm-old"
  4. 证书(本地计算机)->个人->证书->导入
    • hz-cs.pfx
  5. 为新证书添加"vdm"为友好名称
  6. 通过服务重启"VMware Horizon 7 Connection Server"服务,完成Connection证书替换。

重新配置Horizon连接服务器中的Composer连接

  1. 登录Horizon管理控制台
  2. 设置->服务器->vCenter Server->编辑
  3. 重新输入一次View Composer密码->确定,如果弹出证书信任,接受
  4. 如果vCenter Server替换证书,您可以按照步骤3重新信任vCenter的证书
  5. 现在Horizon连接服务器已经重新信任了Composer的新证书,桌面的链接克隆功能恢复正常

替换UAG证书

  1. 登录VMware UAG管理控制台 https://:9443
  2. 选择->手动配置,进入配置页面
  3. 高级设置->TLS服务器证书设置
    • 根据需求选中管理接口和Internet接口;
    • 证书类型:PEM
    • 专用密钥:hz-uag.key
    • 证书链:hz-uag-cert-chain.pem
  4. 保存后,等待服务器重启完毕

重新配置UAG中Connection Server证书指纹

  1. 先获取Horiozn Connection Server的证书指纹,通过浏览器打开Horizon链接服务器控制台,通过地址栏查看证书
  2. 复制证书详细信息中的"指纹"
  3. 进入到VMware UAG的Horizon设置页面,修改连接服务器URL指纹为"sha1=<form step 2>"
  4. 点击保存,完成VMware UAG与Horizon的连接

登录Horzion View控制台和UAG控制台验证证书替换结果

可以通过下面的图片看到,HorizonView控制台和UAG控制台的证书都是信任状态,并且Horizon中没有了证书警告。

完成

至此,我们完成了Horizon产品相关证书替换工作。还要提醒大家,这里的证书是企业CA签名的,客户端计算机必须导入企业CA证书信任,才能不提示警告。最后,针对外网使用的客户,建议购买公共受信任的证书。


发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注