提醒:本文中的命令 仅 用于 Isilon 群集。它不适用于外部 Linux 服务器。
提醒:Isilon 不会自动续订证书。必须在 Isilon 群集中按照本文中的步骤手动续订它。
简介
本文介绍如何更换或续订 Isilon Web 管理界面的安全套接字层 (SSL) 证书。以下过程包括用于完成自签名证书更换或续订,或从证书颁发机构 (CA) 请求更换或续订 SSL 的选项。
必要的工具或技能
要完成此任务,您必须具有用于访问 Isilon Web 管理界面的 URL。(本文中的示例使用
https://isilon.example.com:8080/
。)您还应能够熟练地从命令行运行命令。
前提条件
参考信息
以下列表包括 的默认位置
server.crt
和
server.key
OneFS 7.0.x 和 OneFS 8.0.0 中的文件。
十。在随后的过程中,更新步骤以匹配所安装 OneFS 版本的此信息。
OneFS 7.0.x 及更高版本
/usr/local/apache24/conf/ssl.crt/server.crt
/usr/local/apache24/conf/ssl.key/server.key
OneFS 8.0.1.x 及更高版本
- 通过运行以下命令获取证书列表:
isi certificate server list
- 保存原始证书和密钥的备份(仅适用于 OneFS 7.0.x 至 8.0.0.x)。
- 在群集中的任意节点上打开 SSH 连接,并使用“root”帐户登录。
- 运行以下命令以创建备份位置并保存原始密钥和证书:
mkdir -p /ifs/data/Isilon_Support/original_ssl_backup
cp /usr/local/apache24/conf/ssl.crt/server.crt /ifs/data/Isilon_Support/original_ssl_backup
cp /usr/local/apache24/conf/ssl.key/server.key /ifs/data/Isilon_Support/original_ssl_backup
流程
创建本地工作目录。
mkdir /ifs/local
cd /ifs/local
验证是要续订现有证书,还是要从头开始创建证书。
这将创建基于现有(库存)的续订证书 ssl.key
的属性的形式向用户提供此功能。运行以下命令以创建两年证书。增加或减小 -days 的值以生成具有不同到期日期的证书:
cp /usr/local/apache2/conf/ssl.key/server.key ./ ; openssl req -new -days 730 -nodes -x509 -key server.key -out server.crt
回答系统提示完成生成自签名 SSL 证书的过程,输入符合您组织情况的信息。
例如:
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:Washington
Locality Name (eg, city) []:Seattle
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Isilon
Organizational Unit Name (eg, section) []:Support
Common Name (e.g. server FQDN or YOUR name) []:isilon.example.com
Email Address []:support@example.com
输入完信息后,将会 server.csr
和 server.key
文件显示在 /ifs/local directory
的属性的形式向用户提供此功能。
openssl x509 -text -noout -in server.crt
在此步骤之后,转到本文的 将证书添加到群集 部分。
此过程显示如何创建新的私钥和 SSL 证书。运行以下命令以创建 RSA 2048-bit
私钥:
openssl genrsa -out server.key 2048
创建证书签名请求:
openssl req -new -nodes -key server.key -out server.csr
为您的组织输入适当的信息。
Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
openssl req -new -nodes -key server.key -out server.csr -reqexts SAN -config <(cat /etc/ssl/openssl.cnf <(printf "[SAN]\nsubjectAltName=DNS:example.com"))
出现提示时,键入要在证书请求中包含的信息。输入完信息后,将会 server.csr
和 server.key
文件显示在 /ifs/local directory
的属性的形式向用户提供此功能。
验证您是要对证书进行自签名还是让证书颁发机构 (CA) 签名。
要使用密钥对证书进行自签名,请运行以下命令,该命令将创建一个有效期为 2 年的新自签名证书:
openssl x509 -req -days 730 -in server.csr -signkey server.key -out server.crt
验证密钥与证书匹配,这两个命令应返回相同的 md5 值:
openssl x509 -noout -modulus -in server.crt | openssl md5
openssl rsa -noout -modulus -in server.key | openssl md5
在此步骤之后,转到本文的 将证书添加到群集 部分。
如果 CA 正在签署证书,请确保新的 SSL 证书采用 x509 格式,并且包含整个证书信任链。
CA 通常会在单独的文件中返回新的 SSL 证书、中间证书和根证书。
如果 CA 已执行此操作, 则必须 手动创建 PEM 格式的证书。
创建 PEM 格式证书时,顺序很重要。证书必须位于文件的顶部,后跟中间证书,根证书必须位于底部。
下面是 PEM 格式的文件的示例:
-----BEGIN CERTIFICATE-----
<The contents of your new TLS certificate>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<The contents of the intermediate certificate>
<Repeat as necessary for every intermediate certificate provided by your CA>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<The contents of the root certificate file>
-----END CERTIFICATE-----
从 CLI 创建 PEM 格式文件的一种简单方法是为文件设置猫(请记住,文件的顺序很重要):
cat CA_signed.crt intermediate.crt root.crt > onefs_pem_formatted.crt
复制 onefs_pem_formatted.crt
文件复制到 /ifs/local directory
并将其重命名为 server.crt
的属性的形式向用户提供此功能。
提醒:如果收到.cer文件,请将其重命名为扩展名为 .crt。
openssl x509 -text -noout -in server.crt
将证书添加到群集:
对于 OneFS 7.0.x 到 8.0.1.x:
- 在每个节点上安装新证书和密钥:
isi services -a isi_webui disable
chmod 640 server.key
chmod 640 server.crt
isi_for_array -s 'cp /ifs/local/server.key /usr/local/apache2/conf/ssl.key/server.key'
isi_for_array -s 'cp /ifs/local/server.crt /usr/local/apache2/conf/ssl.crt/server.crt'
isi services -a isi_webui enable
- 如果存在过时或未使用的证书,请在升级到 8.0 完成后将其删除。按照 OneFS 8.0.1.x 及更高版本中的步骤 5 中的说明进行操作。
对于 OneFS 8.0.1.x 及更高版本:
- 将新证书和密钥导入系统:
isi certificate server import /ifs/local/server.crt /ifs/local/server.key
- 验证证书是否已成功导入:
isi certificate server list -v
- 将导入的证书设置为默认值:
isi certificate server modify --id=<id_of_cert_to_set_as_default> --default
isi certificate settings modify --default-https-certificate=<id_of_cert_to_set_as_default>
- 使用以下命令,通过验证“默认 HTTPS 证书”的状态确认导入的证书被用作默认证书:
isi certificate settings view
- 如果存在未使用或过时的证书,请使用以下命令将其删除:
isi certificate server delete --id=<id_of_cert_to_delete>
- 使用以下命令查看新导入的证书:
isi certificate server view --id=<id_of_cert>
提醒:端口 8081 和 8083 仍使用来自 SSL 本地目录的证书。如果要对端口 8081 和 8083 使用新证书,请按照以下步骤操作。
isi services -a isi_webui disable
chmod 640 server.key
chmod 640 server.crt
isi_for_array -s 'cp /ifs/local/server.key /usr/local/apache2/conf/ssl.key/server.key'
isi_for_array -s 'cp /ifs/local/server.crt /usr/local/apache2/conf/ssl.crt/server.crt'
isi services -a isi_webui enable
验证
可通过两种方法验证更新的 SSL 证书。
- 浏览至
https://<common name>:8080
,其中 <common name> 是用于访问 Isilon Web 管理界面的主机名。例如, isilon.example.com
- 查看网页的安全详细信息。完成此操作的步骤因浏览器而异。在某些浏览器中,单击地址栏中的挂锁图标可查看网页的安全详细信息。
- 在网页的安全详细信息中,确认主题行和其他详细信息正确无误。将显示类似于以下内容的输出,其中 <yourstate<>、yourcity> 和 <your company> 是组织的州、城市和名称:
Subject: C=US, ST=<yourstate>, L=<yourcity>, O=<yourcompany>, CN=isilon.example.com/emailAddress=support@example.com
- 在群集中的任意节点上打开 SSH 连接,并使用“root”帐户登录。
- 运行以下命令:
echo QUIT | openssl s_client -connect localhost:8080
- 将显示类似于以下内容的输出,其中 <yourstate<>、yourcity> 和 <your company> 是组织的州、城市和名称:
Subject: C=US, ST=<yourstate>, L=<yourcity>, O=<yourcompany>, CN=isilon.example.com/emailAddress=support@example.com