TLS证书更新

为保证安全,建议定期进行证书更新。
若TLS证书到期,需要对每个节点的证书进行更新。证书更新的步骤与生成证书的步骤一致。
- 进入证书生成脚本目录。
cd /opt/certtool/certificate
- 销毁旧密钥
为了确保旧密钥完全被销毁,请使用“0”、“1”、“安全随机数”三种方式序列覆盖所有密钥文件3次以上。
例:
全0覆盖:dd if=/dev/zero of=/opt/gcache/secure/Certs/agent.private.key.pem bs=1 count=3326 (count以实际文件大小为准)
全1覆盖:tr '\000' '\377' < /dev/zero | dd of=/opt/gcache/secure/Certs/agent.private.key.pem bs=1 count=3326
(count以实际文件大小为准)
随机数覆盖:dd if=/dev/random of=/opt/gcache/secure/Certs/agent.private.key.pem bs=1 count=3326
(count以实际文件大小为准)
rm -rf /opt/gcache/secure/Certs
- 运行cert_manager.sh。
sh cert_manager.sh [ops_type] [ops_user] [run_user] [agent_node_list] [CA_node_list] [make_req/fetch_cert]
命令参数说明如下。
参数
说明
ops_type
create_cert表示创建证书;update_key表示不创建证书,仅更新kmc密钥。
ops_user
操作账号。
run_user
运行账号。
agent_node_list
创建证书节点列表文件。
CA_node_list
创建根证书节点文件。
step
make_req表示节点生成证书请求,且把证书请求传输到CA服务器指定目录;fetch_cert表示从CA服务器获取设备证书和根证书。
为设备节点生成证书请求(此步骤请客户在所选服务器上完成)。sh cert_manager.sh create_cert globalcacheop globalcacheop agent_node_list CA_node_list make_req
分别输入OPS user,Agent和CA账号的密码,以及加密口令(最小长度为6,包含字母、数字、特殊字符)。
Enter OPS user password:#账户密码 Enter Agent password:#agent节点账户密码 Enter CA password:#CA节点账户密码 Enter Password:#加密口令(第一次) ****** Verifying - Enter Password:#加密口令(第二次) ******
- 在CA节点根据设备节点的CSR文件签发设备节点证书(此步骤请客户在自己根证书服务器上完成)。
如果按照数字证书认证机构配置进行测试,可在CA服务器上执行如下命令生成证书。
openssl ca -in /opt/gcache/secure/CACerts/csr/${agentip}.agent.csr -out /opt/gcache/secure/CACerts/certs/${agentip}.agent.cert.pem -days 3650 -config /opt/gcache/secure/CACerts/openssl.cnf #注意${agentip}替换为实际agent ip
- 从根证书节点获取设备证书和根证书,分别输入OPS user,Agent和CA运维账号的密码。
sh cert_manager.sh create_cert globalcacheop globalcacheop agent_node_list CA_node_list fetch_cert
分别输入OPS user,Agent和CA运维账号的密码,以及加密口令,与步骤1保持一致,执行完成后生成安全所需要的文件。