SSL für selbstsignierte Zertifikate aktivieren/erneuern

Ein selbstsigniertes Zertifikat wird vom Subject des Zertifikats erstellt, signiert und ausgestellt. In Big Data Service-Clustern mit Version 3.0.7 und höher können Sie mit dem Big Data Service-Zertifikatutility selbstsignierte SSL-Zertifikate für ODH-Cluster generieren.

Hinweis

SSL für Aktivierung/Verlängerung ist in Big Data Service ODH identisch. Wenn Zertifikate abgelaufen sind, muss das gesamte Set von Zertifikaten mit dem regulären SSL-Aktivierungsprozess neu generiert werden. Es wird empfohlen, eine Benachrichtigung basierend auf der Ablaufzeit des Zertifikats zu erstellen. Weitere Informationen finden Sie unter Alarm erstellen.
  1. Stellen Sie als Benutzer opc eine SSH-Verbindung zum ersten Masterknoten (mn0) des ODH-Clusters her.
  2. Bearbeiten Sie /home/opc/cloud/flask-microservice/cert_util/conf/bds-certs.conf.

    Beispiel:

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

    Beispieldatei:

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

    Das Root-/Ausstellerzertifikat eines selbstsignierten Zertifikats finden Sie im Pfad CERT_PATH mit dem Namen ORACLE_OWNED_ROOT_CERTIFICATE_NAME in all the nodes of the cluster.
  3. Aktualisieren Sie die Eigenschaft ADDITIONAL_SSL_SERVICES mit den Services, für die Sie SSL aktivieren möchten. Der Standardwert für diese Eigenschaft ist NONE. Die zulässigen Werte sind AMS, HDFS, YARN, MAPREDUCE, OOZIE, HBASE, SPARK, ZOOKEEPER, HIVE, KAFKA, FLINK und REGISTRY. Es wird empfohlen, SSL für alle erforderlichen Services auf einmal zu aktivieren. Verwenden Sie dazu eine durch Komma getrennte Liste der Services.
  4. Aktualisieren Sie LDAP_URL so, dass es auf die LDAP-Server-URL verweist (nur für sicheres LDAP anwendbar), wenn das ODH-Cluster mit LDAP/AD integriert ist.

    Beispiel:

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

    Dadurch werden die erforderlichen Zertifikate automatisch in den ODH-Truststore abgerufen.

  5. Aktualisieren Sie den Wert der Eigenschaft RESTART_REQUIRED_SERVICES in true, wenn dieses Utility die Services neu starten soll. Der Standardwert für diese Eigenschaft ist false. Wenn Sie den Standardwert beibehalten, müssen Sie alle betroffenen Services über Apache Ambari manuell neu starten, um die SSL-Aktivierung für das Cluster abzuschließen.
    Unabhängig vom Wert dieser Eigenschaft werden nur wenige Services wie Apache Ambari und Datastudio sofort neu gestartet, wenn Sie Zertifikate mit diesem Utility aktivieren.
  6. Behalten Sie den Standardwert true für die Eigenschaft KEEP_OLD_CERTS bei, um ein Backup der alten Zertifikate beizubehalten. Zertifikatsbackups werden unter /etc/security/serverKeys-backup-<dateofbackup> gespeichert.
  7. Wenn die Clusterversion 3.0.6 oder niedriger ist, setzen Sie den Wert der Eigenschaft LEGACY_CLUSTER auf true, um die SSL-Eigenschaften im Cluster zu aktualisieren. Überspringen Sie diesen Schritt, wenn die Clusterversion 3.0.7 oder höher ist.
  8. Speichern Sie die an der Konfigurationsdatei vorgenommenen Änderungen.
  9. Führen Sie das Utility aus, um die SSL-Zertifikate zu aktivieren. Wenn Sie den Parameter ambariPass nicht verwenden, werden Sie aufgefordert, das Ambari-Kennwort einzugeben.
    sudo bds_cert_util --enable --ambariPass ambari-password
    Hinweis

    Wenn das Ambari-Kennwort ein Sonderzeichen enthält, setzen Sie das Kennwort in einfache Anführungszeichen.

    Beispiel:

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

    Nachdem das Zertifikat erneuert wurde, müssen Sie sicherstellen, dass die erneuerten Zertifikate im System aktualisiert werden. Beispiel: Wenn Big Data Service-Zertifikate in einem Load Balancer hinzugefügt werden, muss das neue Root-Zertifikat nach der Verlängerung in den Load Balancer aktualisiert werden.
  10. Warten Sie, bis das Utility abgeschlossen ist.
  11. Prüfen Sie die Utilitylogs unter /home/opc/cloud/flask-microservice/logs/bds_cert_util*.log.
  12. Nach erfolgreicher Ausführung des Utilitys werden alle konfigurierten Services über SSL ausgeführt. Um zu überprüfen, ob die Services für SSL aktiviert sind, melden Sie sich bei "Apache Ambari" an, und wählen Sie unter den einzelnen konfigurierten Services die Quicklinks aus.
    Hinweis

    Wenn der JupyterHub-Service nicht die neuesten Zertifikate verwendet, starten Sie nach der Erneuerung der SSL-Zertifikate für das Big Data Service-Cluster den JupyterHub-Service neu.
    1. Melden Sie sich beim Knoten JupyterHub an (verwenden Sie un1 für HA-Cluster oder un0 für Nicht-HA-Cluster).
    2. Starten Sie den JupyterHub-Service neu:
      systemctl restart jupyterhub.service
    3. Prüfen Sie den Status des JupyterHub-Service:
      systemctl status jupyterhub.service

      Dadurch wird sichergestellt, dass der JupyterHub-Service die aktualisierten SSL-Zertifikate verwendet.