更新时间:2023-11-21 GMT+08:00

更换CA证书

操作场景

MRS CA证书用于组件客户端与服务端在通信过程中加密数据,实现安全通信。该任务指导集群用户通过FusionInsight Manager完成CA证书替换工作,以确保产品安全使用。适用于以下场景:

  • 首次安装好集群以后,需要更换企业证书。
  • 企业证书有效时间已过期或安全性加强,需要更换为新的证书。

更换CA证书以后,MRS中HDFS、Yarn、MapReduce、HBase、Loader、Hue、Flink(MRS 3.2.0及以后版本)、Oozie、Hive、Tomcat、CAS、httpd和LDAP使用的证书将自动更新。

证书文件和密钥文件可向企业证书中心申请或由集群用户生成。

  • 当前FusionInsight仅支持x.509格式证书导入,且必须是具有签发能力的CA证书。
  • 当前FusionInsight要求OS的编码格式必须为“en_US.UTF-8”或“POSIX”,否则会造成证书功能异常。
  • 若当前集群中有隔离的故障节点,则更换CA证书会跳过该节点。后续隔离节点取消隔离后,需要重装主机,以保证隔离节点和集群使用相同的CA证书。

对系统的影响

更换过程中MRS系统需要重启,此时系统无法访问且无法提供服务。

前提条件

  • 获取需要导入到MRS集群的CA证书文件(*.crt)、密钥文件(*.key)以及保存访问密钥文件密码的文件(password.property)。证书名称和密钥名称支持大小写字母和数字。
  • 准备一个访问密钥文件的密码例如“Userpwd@123”用于访问密钥文件。

    密码复杂度要求如下,如果密码复杂度不满足如下要求,可能存在安全风险:

    • 密码字符长度最小为8位。
    • 至少需要包含大写字母、小写字母、数字、特殊字符~`!?,.;-_'(){}[]/<>@#$%^&*+|\=中的4种类型字符。
  • 向证书中心申请证书时,请提供访问密钥文件的密码并申请crt、cer、cert和pem格式证书文件,以及key和pem格式密钥文件。申请的证书需要有签发功能。

操作步骤

  1. omm用户登录集群任意管理节点。
  2. 选择证书和密钥文件的生成方式:

    • 若由证书中心生成,请在管理节点omm用户目录保存申请的证书文件与密钥文件。

      若获取的证书文件格式不是“.crt”,密钥文件格式不是“.key”,执行以下命令修改:

      mv 证书名称.证书格式 证书名称.crt

      mv 密钥名称.密钥格式 密钥名称.key

      例如,将证书文件命名为“ca.crt”,密钥文件命名为“ca.key”:

      mv server.cer ca.crt

      mv server_key.pem ca.key

    • 若由集群用户生成,执行以下命令在管理节点omm用户目录生成证书文件和密钥文件:
      1. 生成密钥文件:

        执行以下命令,查看OpenSSL的版本是否为1.1.1及之后版本。

        /usr/bin/openssl version

        • 是,执行以下命令:

          openssl genrsa -out 密钥名称.key -aes256 3072

        • 否,执行以下命令:

          openssl genrsa -out 密钥名称.key -aes256 3072 -sha256

        例如,生成密钥文件“ca.key”:

        openssl genrsa -out ca.key -aes256 3072 -sha256

        根据提示信息连续输入两次password,并按回车键确认。

        Enter pass phrase for ca.key:
        Verifying - Enter pass phrase for ca.key:
      2. 生成证书文件:

        openssl req -new -x509 -days 1825 -key 密钥名称.key -out 证书名称.crt -subj "/C=cn/ST=guangdong/L=shenzhen/O=huawei/OU=huawei/CN=huawei" -sha256

        例如,生成证书文件“ca.crt”:

        openssl req -new -x509 -days 1825 -key ca.key -out ca.crt -subj "/C=cn/ST=guangdong/L=shenzhen/O=huawei/OU=huawei/CN=huawei" -sha256

        根据提示信息输入密钥文件的密码password,并按回车键确认。

        Enter pass phrase for ca.key:

  3. 执行以下命令在管理节点omm用户目录保存访问密钥文件的密码。

    sh ${BIGDATA_HOME}/om-server/om/sbin/genPwFile.sh

    根据提示信息连续输入两次password,并按回车键确认。password加密后保存在“password.property”。

    Please input key password: 
    Please Confirm password:
    • 在登录节点生成的“password.property”文件只适用于当前节点所属的集群,不能用于其他集群,且该文件包含安全信息,请妥善保存并控制访问权限。
    • 主备容灾场景下,genPwFile.sh脚本需要在主集群和容灾集群节点上分别执行,且两个集群需要输入相同的密码。

  4. 执行以下命令打包三个文件为tar压缩包,并保存在本地。

    tar -cvf 压缩包名 证书名称.crt 密钥名称.key password.property

    例如,tar -cvf test.tar ca.crt ca.key password.property

    主备容灾场景下,在各自集群节点上分别执行此命令。

  5. 登录FusionInsight Manager系统,选择“系统 > 证书”。
  6. 在“上传证书”区域单击文件选择按钮,在文件窗口中浏览已获取的证书文件tar压缩包并打开压缩包文件,单击“上传文件”,系统将自动完成导入。
  7. 导入完成后提示同步集群配置并重启WEB服务使新证书生效,单击“确定”。
  8. 在弹出的确认窗口输入密码,单击“确定”自动同步集群配置并重启WEB服务。
  9. 重启完成后在浏览器地址栏中,输入并访问FusionInsight Manager的网络地址,验证能否正常打开页面。

    企业证书有效时间已过期或安全性加强,MRS更换为新的证书后,请同步更换本地证书。

  10. 在“集群”下拉列表中单击需要操作的集群名称。
  11. 选择“更多 > 重启”,在弹出窗口中输入当前登录的用户密码确认身份,然后单击“确定”。

    更换CA证书后,需离线重启集群使证书生效,不支持滚动重启。

  12. 在确认重启集群的对话框中单击“确定”。