Konfiguration der HTTPS-Sicherheit für OpenStack-Clouds

Wenn Ihr OpenStack-Server die Verbindung über HTTPS herstellt, müssen Sie den OpenStack-Serverschlüssel in den Keystore des Blueprint-Design-Servers importieren.

Informationen zu diesem Vorgang

Mit dem folgenden Script wird der OpenStack-Serverschlüssel in den Keystore des Blueprint-Design-Servers importiert. Sie können dieses Script so anpassen, dass der Schlüssel für jedes ferne System in den Keystore des Blueprint-Design-Servers importiert wird.

Vorgehensweise

  1. Erstellen Sie im Blueprint-Design-Server ein Script anhand der folgenden Vorlage:
    #!/bin/bash
    
    while getopts "s:p:l:h" opt; do
      case $opt in
        s)
          DOMAIN_NAME=$OPTARG
          ;;
        p)
          PORT=$OPTARG
          ;;
        l)
          UCD_P_HOME=$OPTARG
          ;;
        h)
          echo "Usage: ./import_os_cert.sh -s <OpenStack_HOSTNAME> -p <PORT> -l <UCDP_INSTALLED_PATH>"
          exit 0
          ;;
        \?)
          echo "Invalid option: -$OPTARG" >&2
          exit 1
          ;;
        :)
          echo "Option -$OPTARG requires an argument." >&2
          exit 1
          ;;
      esac
    done
    
    if [ -z "$DOMAIN_NAME" ]; then
        echo "Please set the OpenStack hostanme"
        exit 1
    fi
    
    if [ -z "$PORT" ]; then
        echo "Please set the OpenStack port"
        exit 1
    fi
    
    if [ -z "$UCD_P_HOME" ]; then
        echo "Please set the UCDP Installed Directory"
        exit 1
    fi
    
    
    # Retrieve the certificate from the remote service
    openssl s_client -connect $DOMAIN_NAME:$PORT-showcerts </dev/null\
     2>/dev/null | openssl x509 -outform PEM | tee ~/$DOMAIN_NAME.crt
    
    # Import the certificate into the JRE trust store.
    cd $UCD_P_HOME/java/jre
    ./bin/keytool -import -trustcacerts -keystore ./lib/security/cacerts -storepass changeit\
     -noprompt -alias $DOMAIN_NAME -file ~/$DOMAIN_NAME.crt
    
    # Verify that the certificate was imported correctly.
    ./bin/keytool -list -trustcacerts -keystore ./lib/security/cacerts\
     -storepass changeit | grep $DOMAIN_NAME
    
    # Restart the service.
    # $UCD_P_HOME/bin/server stop
    # $UCD_P_HOME/bin/server start
  2. Führen Sie das Script aus. Verwenden Sie den folgenden Befehl:
    ./script_name.sh -s OpenStack_host -p port_number -l blueprint_desiger_directory
    script_name
    Der Name des Scripts, das Sie erstellt haben.
    port_number
    Die OpenStack-Kommunikationsportnummer.
    OpenStack_host
    Der Hostname des OpenStack-Servers, der den Schlüssel enthält.
    blueprint_desiger_directory
    Der Name des Ordners, in dem der Blueprint Designer installiert ist. Standardmäßig ist der Wert für blueprint_desiger_directory /opt/ibm-ucd-patterns.
  3. Starten Sie den Blueprint Designer erneut. (Siehe Stopping the blueprint designer, cloud discovery service, and engine und Starting the blueprint designer, cloud discovery service, and engine).

Feedback