Activation et renouvellement de SSL pour les certificats auto-signés

Un certificat auto-signé est créé, signé et émis par le sujet du certificat. Dans les clusters Big Data Service avec la version 3.0.7 ou ultérieure, vous pouvez utiliser l'outil utilitaire de certificat Big Data Service afin de générer des certificats SSL auto-signés pour les clusters ODH.

Remarque

L'activation/le renouvellement SSL sont identiques dans Big Data Service ODH. Si les certificats ont expiré, l'ensemble complet des certificats doit être régénéré à l'aide du processus d'activation SSL standard. Nous vous recommandons de créer une notification en fonction du délai d'expiration du certificat. Pour plus d'informations, reportez-vous à Création d'une alarme.
  1. Connectez-vous via SSH au premier noeud maître (mn0) du noeud de cluster ODH en tant qu'utilisateur opc.
  2. Modifiez /home/opc/cloud/flask-microservice/cert_util/conf/bds-certs.conf.

    Exemple :

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

    Exemple de fichier:

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

    Le certificat racine/émetteur d'un certificat auto-signé se trouve dans le chemin CERT_PATH avec le nom ORACLE_OWNED_ROOT_CERTIFICATE_NAME in all the nodes of the cluster.
  3. Mettez à jour la propriété ADDITIONAL_SSL_SERVICES avec les services pour lesquels activer SSL. La valeur par défaut de cette propriété est NONE. Les valeurs autorisées sont AMS, HDFS, YARN, MAPREDUCE, OOZIE, HBASE, SPARK, ZOOKEEPER, HIVE, KAFKA, FLINK et REGISTRY. Nous vous recommandons d'activer SSL pour tous les services requis en une seule fois via une liste des services séparés par des virgules.
  4. Mettez à jour LDAP_URL pour qu'il pointe vers l'URL du serveur LDAP (applicable pour LDAP sécurisé uniquement), si le cluster ODH est intégré à LDAP/AD.

    Exemple :

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

    Cette opération extrait automatiquement les certificats requis vers le truststore ODH.

  5. Mettez à jour la valeur de propriété RESTART_REQUIRED_SERVICES vers true si vous voulez que cet utilitaire redémarre les services. La valeur par défaut de cette propriété est false. Si vous conservez la valeur par défaut, vous devez redémarrer manuellement tous les services concernés à partir d'Apache Ambari afin de terminer l'activation de SSL pour le cluster.
    Quelle que soit la valeur de cette propriété, peu de services, tels qu'Apache Ambari et Data Studio, sont immédiatement redémarrés lorsque vous activez les certificats à l'aide de cet utilitaire.
  6. Conservez la valeur par défaut true pour la propriété KEEP_OLD_CERTS afin de maintenir une sauvegarde des anciens certificats. Les sauvegardes des certificats sont stockées dans /etc/security/serverKeys-backup-<dateofbackup>.
  7. Si la version du cluster est 3.0.6 ou inférieure, définissez la valeur de propriété LEGACY_CLUSTER sur true pour mettre à jour les propriétés SSL dans le cluster. Ignorez cette étape si la version du cluster est 3.0.7 ou ultérieure.
  8. Enregistrez les modifications apportées au fichier de configuration.
  9. Exécutez l'utilitaire pour activer les certificats SSL. Si vous n'utilisez pas le paramètre ambariPass, vous êtes invité à entrer le mot de passe Ambari.
    sudo bds_cert_util --enable --ambariPass ambari-password
    Remarque

    Si le mot de passe Ambari contient un caractère spécial, placez-le entre apostrophes.

    Exemple :

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

    Une fois le certificat renouvelé, assurez-vous que les certificats renouvelés sont mis à jour sur le système. Par exemple, si des certificats Big Data Service sont ajoutés dans un équilibreur de charge, après le renouvellement, le nouveau certificat racine doit être mis à jour dans l'équilibreur de charge.
  10. Attendez la fin de l'utilitaire.
  11. Consultez les journaux de l'utilitaire dans /home/opc/cloud/flask-microservice/logs/bds_cert_util*.log.
  12. Une fois que l'utilitaire a terminé, tous les services configurés sont exécutés sur SSL. Pour vérifier si les services sont activés pour SSL, connectez- vous à Apache Ambari et sélectionnez les liaisons rapides sous chacun des services configurés.
    Remarque

    Après avoir renouvelé les certificats SSL pour le cluster Big Data Service, si le service JupyterHub n'utilise pas les derniers certificats, redémarrez le service JupyterHub.
    1. Connectez-vous au noeud JupyterHub (utilisez un1 pour les clusters haute disponibilité ou un0 pour les clusters non haute disponibilité).
    2. Redémarrez le service JupyterHub :
      systemctl restart jupyterhub.service
    3. Vérifiez le statut du service JupyterHub :
      systemctl status jupyterhub.service

      Cela garantit que le service JupyterHub utilise les certificats SSL mis à jour.