安全设计

手动替换证书步骤

  • 创建自认证证书

    自认证证书生成请参考(证书生成)。

    对私钥密码的保护,使用cm encrypt工具,请参考cm_ctl工具介绍

    1. cm_ctl encrypt [-M MODE] -D DATADIR
    1. 生成服务器端密钥因子server.key.cipher、server.key.rand。

      1. cm_ctl encrypt -M server -D DATADIR
      2. please enter the password:(使用密码需要与服务器私钥的保护密码相同)
    2. 生成客户端密钥因子client.key.cipher、client.key.rand。

      1. cm_ctl encrypt -M client -D DATADIR
      2. please enter the password:(使用密码需要与客户端私钥的保护密码相同)

证书使用指南

  1. 使用证书需配置cm_server参数为on (默认开启),cm_agent有同名参数,配置相同,这里以cm_server为例

    1. cm_ctl set --param --server -k enable_ssl="on"
  2. 证书文件需要存在于所有节点的$GAUSSHOME/share/sslcert/cm中,证书替换后重启集群生效。

    所需证书文件:server.crt、server.key、client.crt、client.key、cacert.pem、server.key.cipher、server.key.rand、client.key.cipher、client.key.rand

    根证书、密钥、证书以及密钥密码加密文件的权限,需保证权限为400。如果权限不满足要求,则无法使用ssl。

    • chmod 400 cacert.pem
    • chmod 400 server.crt
    • chmod 400 server.key
    • chmod 400 server.key.cipher
    • chmod 400 server.key.rand
    • chmod 400 client.crt
    • chmod 400 client.key
    • chmod 400 client.key.cipher
    • chmod 400 client.key.rand
  3. 证书有效期的检测周期为1天,可通过ssl_cert_expire_check_interval设置。证书有效期剩余90天时会开始产生告警,可通过ssl_cert_expire_alert_threshold设置。(配置参数详见ssl_cert_expire_alert_threshold)。

4.客户端和服务端的证书吊销列表分别为client.crl、server.crl。