Ativando/Renovando SSL para Certificados Autoassinados

Um certificado autoassinado é criado, assinado e emitido pelo assunto do certificado. Nos clusters do Big Data Service com a versão 3.0.7 e posterior, você pode usar a ferramenta de utilitário de certificado do Big Data Service para gerar certificados SSL autoassinados para clusters ODH.

Observação

Ativar/Renovar SSL são os mesmos no Big Data Service ODH e, se os certificados tiverem expirado, todo o conjunto de certificados deverá ser gerado novamente usando o processo de ativação SSL regular. Recomendamos criar uma notificação com base no tempo de expiração do certificado. Para obter mais informações, consulte Criando um Alarme.
  1. Estabeleça SSH no primeiro nó principal (mn0) do nó do cluster ODH como usuário opc.
  2. Edite /home/opc/cloud/flask-microservice/cert_util/conf/bds-certs.conf.

    Por exemplo:

    vi /home/opc/cloud/flask-microservice/cert_util/conf/bds-certs.conf

    Amostra de arquivo:

    # Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved.
    #
    [BDS_CERT_CONFIGS]
    #This files defines all the SSL certificate related configurations used in BDS cluster
    #Whether custom certificate or not
    CUSTOM_CERTIFICATE=false
    #Recommended SSL services, Mostly all the customer facing UI services
    #Allowed values AMBARI,RANGER,HUE,DATASTUDIO,LIVY
    DEFAULT_SSL_SERVICES=AMBARI
    #Comma separated service names for enabling SSL, These are the additional components from ambari UI to enable/disable SSL.
    #Allowed values ZOOKEEPER,AMS,HDFS,YARN,MAPREDUCE,OOZIE,HBASE,SPARK,HIVE,KAFKA,FLINK,REGISTRY
    ADDITIONAL_SSL_SERVICES=NONE
    #Whether to restart all the required services after certificate deployment
    RESTART_REQUIRED_SERVICES=false
    #Certificate validity in days. Mostly used for self signed certificates
    CERTIFICATE_VALIDITY=180
    #Bits to be used for certificate generation. Mostly used for self signed certificates
    CERTIFICATE_BITS=3072
    #Algorithm to be used for generating self signed certificate
    CERTIFICATE_ALGORITHM=sha256
    #Default path to store all the certificate, keys and keystore. Same path will be used for hadoop credential store
    CERT_PATH=/etc/security/serverKeys
    #Temporary certificate directory. Will be used before applying the certificate
    TEMP_CERT_PATH=/etc/security/serverKeys_new
    #Initital certificate generation path. Used only when generating self signed certificates
    CERT_GEN_FOLDER=/etc/security/serverKeys_cert_gen
    #Secure password location. This location will be used only during transaction
    CERT_PASS_PATH=/etc/security/certPass
    #Whether to take backup when doing certificate renewal. Mostly used for self signed certificates
    KEEP_OLD_CERTS=true
    #Set this flag incase utility used for older cluster. It will update the keystore path along with other properties
    LEGACY_CLUSTER=false
    #Set Keystore type
    KEYSTORE_TYPE=jks
     
    #This is completely owned by oracle. Leave this field unchanged
    ORACLE_OWNED_ROOT_CERTIFICATE_NAME=bdsOracleCA.crt
    ORACLE_OWNED_ROOT_CERTIFICATE_KEY_NAME=bdsOracleCA.key
     
    #Final trust bundle that contains all the trust certificates.
    #Including all public ca root certs, oracle owned root certs and customer specified root certs.
    #This will be saved in CERT_PATH. Leave this field untouched
    TRUST_CERTS_BUNDLE_NAME=oraclerootCA.crt
     
    #Root Certificate related details
    ROOT_CERT_PATH=/etc/security/serverKeys/bdsOracleCA.crt
     
    #Server certificate details
    SERVER_CERT_PATH="NONE"
    SERVER_CERT_KEY_PATH="NONE"
     
    #Support for LDAPS
    LDAP_URL=NONE
    Observação

    O certificado raiz/Emissor de um certificado autoassinado pode ser encontrado no caminho CERT_PATH com o nome ORACLE_OWNED_ROOT_CERTIFICATE_NAME in all the nodes of the cluster.
  3. Atualize a propriedade ADDITIONAL_SSL_SERVICES com os serviços para os quais você deseja ativar o SSL. O valor padrão dessa propriedade é NONE. Os valores permitidos são AMS, HDFS, YARN, MAPREDUCE, OOZIE, HBASE, SPARK, ZOOKEEPER, HIVE, KAFKA, FLINK e REGISTRY. Recomendamos que você ative o SSL para todos os serviços obrigatórios de uma só vez usando uma lista dos serviços separados por vírgulas.
  4. Atualize LDAP_URL para apontar para o URL do servidor LDAP (aplicável somente para LDAP seguro), se o cluster ODH estiver integrado com LDAP/AD.

    Exemplo:

    LDAP_URL=ldaps://<myldap.com:636>

    Isso extrai automaticamente os certificados necessários para o armazenamento confiável ODH.

  5. Atualize o valor da propriedade RESTART_REQUIRED_SERVICES para true, se quiser que esse utilitário reinicie os serviços. O valor padrão dessa propriedade é false. Se você mantiver o valor padrão, reinicie manualmente todos os serviços afetados do Apache Ambari para concluir a ativação do SSL no cluster.
    Independentemente do valor dessa propriedade, alguns serviços, como Apache Ambari e Datastudio, são imediatamente reiniciados quando você ativa os certificados usando esse utilitário.
  6. Mantenha o valor padrão true da propriedade KEEP_OLD_CERTS para manter um backup dos certificados antigos. Os backups de certificados são armazenados em /etc/security/serverKeys-backup-<dateofbackup>.
  7. Se a versão do cluster for 3.0.6 ou anterior, defina o valor da propriedade LEGACY_CLUSTER como true para atualizar as propriedades de SSL no cluster. Ignore esta etapa se a versão do cluster for 3.0.7 ou posterior.
  8. Salve as alterações feitas no arquivo de configuração.
  9. Execute o utilitário para ativar os certificados SSL. Se você não usar o parâmetro ambariPass, será solicitado que digite a senha do Ambari.
    sudo bds_cert_util --enable --ambariPass ambari-password
    Observação

    Se a senha do Ambari contiver caractere especial, coloque-a entre aspas simples.

    Exemplo:

    sudo bds_cert_util --enable --ambariPass '<ambari-password>'
    Example:- 
    ## sudo bds_cert_util --enable --ambariPass 'Welcome@879'
    Observação

    Depois que o certificado for renovado, certifique-se de que os certificados renovados sejam atualizados no sistema. Por exemplo, se os certificados do Big Data Service forem adicionados a qualquer Balanceador de Carga, após a renovação, o novo certificado raiz deverá ser atualizado no Balanceador de Carga.
  10. Aguarde a conclusão do utilitário.
  11. Revise os logs do utilitário em /home/opc/cloud/flask-microservice/logs/bds_cert_util*.log.
  12. Depois que o utilitário for executado com sucesso, todos os serviços configurados serão executados no SSL. Para verificar se os serviços estão ativados para SSL, faça sign-in no Apache Ambari e selecione os links rápidos de cada um dos serviços configurados.
    Observação

    Depois de renovar os certificados SSL do cluster do Big Data Service, se o serviço JupyterHub não estiver usando os certificados mais recentes, reinicie o serviço JupyterHub.
    1. Acesse o nó JupyterHub (use un1 para clusters HA ou un0 para clusters não HA).
    2. Reinicie o serviço JupyterHub:
      systemctl restart jupyterhub.service
    3. Verifique o status do serviço JupyterHub:
      systemctl status jupyterhub.service

      Isso garante que o serviço JupyterHub esteja usando os certificados SSL atualizados.