Abilitazione/rinnovo di SSL per certificati autofirmati

Un certificato con firma automatica viene creato, firmato ed emesso dall'oggetto del certificato. Nei cluster di Big Data Service con versione 3.0.7 e successive, è possibile utilizzare lo strumento di utility dei certificati di Big Data Service per generare certificati SSL autofirmati per i cluster ODH.

Nota

L'abilitazione/rinnovo di SSL è la stessa in ODH di Big Data Service e, se i certificati sono scaduti, l'intero set di certificati deve essere rigenerato utilizzando il normale processo di abilitazione SSL. Si consiglia di creare una notifica in base all'ora di scadenza del certificato. Per ulteriori informazioni, vedere Creazione di un allarme.
  1. SSH al primo nodo principale (mn0) del nodo cluster ODH come utente opc.
  2. Modificare /home/opc/cloud/flask-microservice/cert_util/conf/bds-certs.conf.

    esempio:

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

    File di esempio:

    # 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

    Il certificato root/emittente di un certificato con firma automatica è disponibile nel percorso CERT_PATH con nome ORACLE_OWNED_ROOT_CERTIFICATE_NAME in all the nodes of the cluster.
  3. Aggiornare la proprietà ADDITIONAL_SSL_SERVICES con i servizi per i quali si desidera abilitare SSL. Il valore predefinito di questa proprietà è NONE. I valori consentiti sono AMS, HDFS, YARN, MAPREDUCE, OOZIE, HBASE, SPARK, ZOOKEEPER, HIVE, KAFKA, FLINK e REGISTRY. Si consiglia di abilitare il protocollo SSL per tutti i servizi richiesti in un'unica operazione utilizzando un elenco separato da virgole dei servizi.
  4. Aggiornare LDAP_URL in modo che punti all'URL del server LDAP (applicabile solo per LDAP sicuro), se il cluster ODH è integrato con LDAP/AD.

    Esempio:

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

    In questo modo i certificati richiesti vengono automaticamente estratti nel truststore ODH.

  5. Aggiornare il valore della proprietà RESTART_REQUIRED_SERVICES in true se si desidera che questa utility riavvii i servizi. Il valore predefinito per questa proprietà è false. Se si conserva il valore predefinito, è necessario riavviare manualmente tutti i servizi interessati da Apache Ambari per completare l'abilitazione di SSL per il cluster.
    Indipendentemente dal valore di questa proprietà, alcuni servizi come Apache Ambari e Datastudio vengono riavviati immediatamente quando si abilitano i certificati utilizzando questa utility.
  6. Conservare il valore predefinito true per la proprietà KEEP_OLD_CERTS per mantenere un backup dei vecchi certificati. I backup dei certificati vengono memorizzati in /etc/security/serverKeys-backup-<dateofbackup>.
  7. Se la versione del cluster è 3.0.6 o successiva, impostare il valore della proprietà LEGACY_CLUSTER su true per aggiornare le proprietà SSL nel cluster. Saltare questo passo se la versione del cluster è la 3.0.7 o successiva.
  8. Salvare le modifiche apportate al file di configurazione.
  9. Eseguire la utility per abilitare i certificati SSL. Se non si utilizza il parametro ambariPass, viene richiesto di immettere la password Ambari.
    sudo bds_cert_util --enable --ambariPass ambari-password
    Nota

    Se la password Ambari contiene un carattere speciale, inserire la password tra apici.

    Esempio:

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

    Dopo il rinnovo del certificato, assicurarsi che i certificati rinnovati vengano aggiornati nel sistema. Ad esempio, se i certificati del servizio Big Data vengono aggiunti in qualsiasi load balancer, dopo il rinnovo, il nuovo certificato radice deve essere aggiornato nel load balancer.
  10. Attendere il completamento della utility.
  11. Esaminare i log della utility da /home/opc/cloud/flask-microservice/logs/bds_cert_util*.log.
  12. Una volta completata l'esecuzione della utility, tutti i servizi configurati vengono eseguiti su SSL. Per verificare se i servizi sono abilitati per SSL, accedere ad Apache Ambari e selezionare i collegamenti rapidi sotto ciascuno dei servizi configurati.
    Nota

    Dopo aver rinnovato i certificati SSL per il cluster Big Data Service, se il servizio JupyterHub non utilizza i certificati più recenti, riavviare il servizio JupyterHub.
    1. Collegarsi al nodo JupyterHub (utilizzare un1 per i cluster HA o un0 per i cluster non HA).
    2. Riavviare il servizio JupyterHub:
      systemctl restart jupyterhub.service
    3. Verificare lo stato del servizio JupyterHub:
      systemctl status jupyterhub.service

      Ciò garantisce che il servizio JupyterHub utilizzi i certificati SSL aggiornati.