Activación/Renovación de SSL para Certificados Autofirmados

El sujeto del certificado crea, firma y emite un certificado autofirmado. En los clusters de Big Data Service con la versión 3.0.7 y versiones posteriores, puede utilizar la herramienta de utilidad de certificado de Big Data Service para generar certificados SSL autofirmados para clusters de ODH.

Nota

La activación/renovación de SSL es la misma en Big Data Service ODH y, si los certificados caducan, se debe volver a generar todo el juego de certificados mediante el proceso de activación de SSL normal. Recomendamos crear una notificación basada en el tiempo de caducidad del certificado. Para obtener más información, consulte Crear una alarma.
  1. Utilice SSH para acceder al primer nodo maestro (mn0) del nodo de cluster de ODH como usuario opc.
  2. Edite /home/opc/cloud/flask-microservice/cert_util/conf/bds-certs.conf.

    Ejemplo:

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

    Archivo de ejemplo:

    # 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
    Nota

    El certificado raíz/emisor de un certificado autofirmado se puede encontrar en la ruta CERT_PATH con el nombre ORACLE_OWNED_ROOT_CERTIFICATE_NAME in all the nodes of the cluster.
  3. Actualice la propiedad ADDITIONAL_SSL_SERVICES con los servicios para los que desea activar SSL. El valor por defecto de esta propiedad es NONE. Los valores permitidos son AMS, HDFS, YARN, MAPREDUCE, OOZIE, HBASE, SPARK, ZOOKEEPER, HIVE, KAFKA, FLINK y REGISTRY. Se recomienda activar SSL para todos los servicios necesarios de una vez mediante una lista separada por comas de los servicios.
  4. Actualice LDAP_URL para que apunte a la URL del servidor LDAP (aplicable solo para LDAP seguro), si el cluster de ODH está integrado con LDAP/AD.

    Ejemplo:

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

    Esto extrae automáticamente los certificados necesarios al almacén de confianza de ODH.

  5. Actualice el valor de la propiedad RESTART_REQUIRED_SERVICES a true si desea que esta utilidad reinicie los servicios. El valor por defecto de esta propiedad es false. Si conserva el valor por defecto, debe reiniciar manualmente todos los servicios afectados desde Apache Ambari para completar la activación de SSL para el cluster.
    Independientemente del valor de esta propiedad, pocos servicios como Apache Ambari y Datastudio se reinician inmediatamente cuando se activan certificados mediante esta utilidad.
  6. Conserve el valor por defecto true para la propiedad KEEP_OLD_CERTS a fina de guardar una copia de seguridad de los certificados antiguos. Las copias de seguridad de certificados se almacenan en /etc/security/serverKeys-backup-<dateofbackup>.
  7. Si la versión del cluster es 3.0.6 o inferior, defina el valor de la propiedad LEGACY_CLUSTER en true para actualizar las propiedades SSL en el cluster. Omita este paso si la versión del cluster es 3.0.7 o posterior.
  8. Guarde los cambios realizados en el archivo de configuración.
  9. Ejecute la utilidad para activar los certificados SSL. Si no utiliza el parámetro ambariPass, se le solicitará que introduzca la contraseña de Ambari.
    sudo bds_cert_util --enable --ambariPass ambari-password
    Nota

    Si la contraseña de Ambari contiene un carácter especial, coloque la contraseña entre comillas simples.

    Ejemplo:

    sudo bds_cert_util --enable --ambariPass '<ambari-password>'
    Example:- 
    ## sudo bds_cert_util --enable --ambariPass 'Welcome@879'
    Nota

    Después de renovar el certificado, asegúrese de que los certificados renovados se actualicen en el sistema. Por ejemplo, si se agregan certificados de Big Data Service a cualquier equilibrador de carga, después de la renovación, el nuevo certificado raíz se debe actualizar en el equilibrador de carga.
  10. Espere a que complete la utilidad.
  11. Revise los logs de la utilidad desde /bdslogs/bds_cert_util*.log.
  12. Una vez que la utilidad se ejecuta correctamente, todos los servicios configurados se ejecutan en SSL. Para verificar si los servicios están activados para SSL, conéctese a Apache Ambari y seleccione los enlaces rápidos de cada Uno de los servicios configurados.
    Nota

    Después de renovar los certificados SSL para el cluster de Big Data Service, si el servicio JupyterHub no utiliza los últimos certificados, reinicie el servicio JupyterHub.
    1. Inicie sesión en el nodo JupyterHub (utilice un1 para clusters de HA o un0 para clusters sin HA).
    2. Reinicie el servicio JupyterHub:
      systemctl restart jupyterhub.service
    3. Verifique el estado del servicio JupyterHub:
      systemctl status jupyterhub.service

      Esto garantiza que el servicio JupyterHub esté utilizando los certificados SSL actualizados.