简介
本文档介绍如何用第三方证书替换Hyperflex集群中的自签名SSL证书。
先决条件
要求
Cisco 建议您了解以下主题:
- 基本了解SSL证书。
- 基本了解Linux命令行。
- Hyperflex集群操作。
使用的组件
本文档中的信息基于:
Hyperflex Data Platform
(HXDP)5.0.(2a)及更高版本
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
在思科HyperFlex部署中,组件之间会生成一组本地证书,以允许进行受信任通信。
如果您的组织已经拥有证书颁发机构,建议您使用自己的证书替换默认SSL证书。
E在尝试此配置之前,请确保您具有这些要求 :
配置
步骤1:创建openssl.cnf的副本
使用SSH作为管理用户连接到Hyperflex集群管理IP(CMIP),然后切换到拨号用户。
HyperFlex StorageController 5.0(2a)
admin @ X.X.X.X's password:
This is a Restricted shell.
Type '?' or 'help' to get the list of allowed commands.
hxshell:~$ su diag
Password:
_____ _ _____ _ ___ ____
| ___(_)_ _____ _ |_ _| |__ _ __ ___ ___ _ / _ \ _ __ ___ / ___| _____ _____ _ __
| |_ | \ \ / / _ \ _| |_ | | | '_ \| '__/ _ \/ _ \ _| |_ | | | | '_ \ / _ \ _____ \___ \ / _ \ \ / / _ \ '_ \
| _| | |\ V / __/ |_ _| | | | | | | | | __/ __/ |_ _| | |_| | | | | __/ |_____| ___) | __/\ V / __/ | | |
|_| |_| \_/ \___| |_| |_| |_| |_|_| \___|\___| |_| \___/|_| |_|\___| |____/ \___| \_/ \___|_| |_|
Enter the output of above expression: 2
Valid captcha
diag#
注意:在5.0(2a)版本中,diag用户可用于允许用户拥有更多权限,如果您的集群在4.5版本中,请与Cisco TAC联系完成此过程。
在/tmp文件夹中创建一个目录
在本示例中,它命名为ssl。
diag# mkdir /tmp/ssl
修改目录权限。
diag# chmod 777 /tmp/ssl
创建openssl.cnf的副本
在本示例中,openssl.cnf的副本命名为openssl-san.cnf。
diag# cp /etc/ssl/openssl.cnf /tmp/ssl/openssl-san.cnf
diag# ls -l /tmp/ssl/
total 12
-rwxr-xr-x 1 diag diag 10835 Aug 3 21:39 openssl-san.cnf
第二步:编辑openssl-san.cnf文件
在本地Linux计算机上创建一个目录,以从CMIP复制openssl-san.cnf内容。
在Linux计算机上编辑文件的内容。
注意:openssl-san.cnf可以在SCVM下使用vi进行编辑。
在[ req ]部分取消对req-extensions行的注释。
从行中删除#符号。
在[ v3_req ]部分添加主题备用名称(SAN)。
在[ v3_req ]部分添加SAN行。确保添加所有存储控制器虚拟机(SCVM)和Hyperflex群集完全限定域名(FQDN)。
注意:Chrome不再支持使用公用名称,现在要求证书中必须存在主题备用名称(SAN)。
第三步:创建证书
第 3a 步:创建CSR
在Linux计算机上运行命令:
openssl req -nodes -newkey rsa:2048 -keyout /
/
.key -out /
/
.csr -config /
/openssl-san.cnf
user$ openssl req -nodes -newkey rsa:2048 -keyout /Users/user/Documents/SpringpathController5NQ1FDLLEH.key -out /Users/user/Documents/SpringpathController5NQ1FDLLEH.csr -config /Users/user/Documents/openssl-san.cnf
Generating a 2048 bit RSA private key
..........................+++++
.....................................................................................................+++++
writing new private key to '/tmp/ssl/SpringpathControllerM7L9J9RO04.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:MX
State or Province Name (full name) [Some-State]:CDMX
Locality Name (eg, city) []:Benito Juarez
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Cisco Systems
Organizational Unit Name (eg, section) []:TAC
Common Name (e.g. server FQDN or YOUR name) []:Monterrey.mxsvlab.com
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:Cisco Systems
运行该命令后生成两个文件:.key和.csr。
user$ ls -l
total 54
-rw-r--r--@ 1 user staff 1549 Aug 3 14:24 SpringpathControllerM7L9J9RO04.csr
-rw-r--r-- 1 user staff 1704 Aug 3 14:24 SpringpathControllerM7L9J9RO04.key
-rw-r--r-- 1 user staff 11193 Aug 3 14:19 openssl-san.cnf
第 3b 步:从证书颁发机构(CA)创建证书
导航到http://<CA-IP>/certsrv/certrqxt.asp
复制<CVM>.csr文件的主机名的内容并将其粘贴到您的证书颁发机构(CA)。
在证书模板下选择Web服务器。
在“属性”(Attributes)中按下一个格式键入ALT名称。
san:dns=
&dns=
&dns=
&dns=
点击submit以生成证书as.cer文件
注意:确保证书类型为Web服务器,且“属性”字段具有ALT名称。
注意:X.509 CSR的内容由用户输入。对条目的内容不进行后端检查。如果将节点的[多个]主机名或IP指定为主题备用名称,或者使用通配符指定公用名的主机名,则一个证书可用于所有节点
第四步:将证书从.cer转换为.crt
将.cer证书复制到本地Linux计算机
在本地Linux计算机中,运行以下命令:
openssl x509 -inform PEM -in certnew.cer -out certnew.crt
user$ openssl x509 -inform PEM -in certnew.cer -out certnew.crt
user$ ls -l
total 56
-rw-r--r--@ 1 user staff 1549 Aug 3 14:24 SpringpathControllerM7L9J9RO04.csr
-rw-r--r-- 1 user staff 1704 Aug 3 14:24 SpringpathControllerM7L9J9RO04.key
-rw-r--r--@ 1 user staff 2380 Aug 3 15:03 certnew.cer
-rw-r--r-- 1 user staff 2342 Aug 3 15:04 certnew.crt
-rw-r--r-- 1 user staff 11193 Aug 3 14:19 openssl-san.cnf
第五步:导入证书.
将.key和。crt文件从本地Linux虚拟机上传到CMIP上的/tmp/ssl。
diag# ls -l
total 20
-rw-r--r-- 1 admin springpath 1704 Aug 3 22:46 SpringpathControllerM7L9J9RO04.key
-rw-r--r-- 1 admin springpath 2342 Aug 3 22:46 certnew.crt
-rwxr-xr-x 1 diag diag 10835 Aug 3 21:39 openssl-san.cnf
运行此命令
diag# /usr/share/springpath/storfs-misc/hx-scripts/certificate_import_input.sh
Enter the path for the key: /tmp/ssl/SpringpathControllerM7L9J9RO04.key
Enter the path for the certificate in crt format: /tmp/ssl/certnew.crt
Successfully installed certificate
The cluster needs to be re-registered with vCenter for the certificate import to be completed.
Do you want to continue with re-registration? (y/n): y
Enter vCenter username (user@domain): administrator @ vsphere.local
Enter vCenter Password:
Trying to retrieve vCenter information ....
Cluster re-registration in progress ....
Cluster re-registered successfully with vCenter !!
验证
导入证书后,请确认您具有安全连接。
故障排除
使用IP的证书无效。
SCVM IP的使用没有安全连接,因为证书是通过FQDN生成的。
使用FQDN时,您有一个安全连接。
相关信息