automation-suite
2023.10
true
Automation Suite unter Linux – Installationsanleitung
Last updated 4. Okt. 2024

Verwalten der Zertifikate

Wichtig:

Der Installationsprozess generiert selbstsignierte Zertifikate in Ihrem Namen. Diese Zertifikate sind FIPS-konform und laufen in 90 Tagen ab. Sie müssen sie durch Zertifikate ersetzen, die von einer vertrauenswürdigen Zertifizierungsstelle (CA) signiert wurden, sobald die Installation abgeschlossen ist. Wenn Sie die Zertifikate nicht aktualisieren, funktioniert die Installation nach 90 Tagen nicht mehr.

Wenn Sie die Automation Suite auf einem FIPS-fähigen Host installiert haben und die Zertifikate aktualisieren möchten, stellen Sie sicher, dass sie mit FIPS kompatibel sind.

Das Installationspaket bietet ein Clusterverwaltungstool, mit dem Sie Zertifikate nach der Installation aktualisieren können. Um auf das Tool zuzugreifen, navigieren Sie zum Speicherort des Installationspakets:

cd /opt/UiPathAutomationSuite/cd /opt/UiPathAutomationSuite/

Generieren einer Certificate Signing Request (CSR) und eines privaten Schlüssels

Führen Sie den folgenden Befehl aus, um die CSR und den privaten Schlüssel zu generieren:

# copy the machine openssl configuration locally
cp /etc/pki/tls/openssl.cnf ./openssl.tmp.cnf

# Replace the [AUTOMATION_SUITE_FQDN] value. For example, "automationsuite.corp.com"
AS_FQDN=[AUTOMATION_SUITE_FQDN]
cat >> ./openssl.tmp.cnf <<EOF
[SAN]
subjectAltName=DNS:$AS_FQDN,DNS:alm.$AS_FQDN,DNS:monitoring.$AS_FQDN,DNS:registry.$AS_FQDN,DNS:objectstore.$AS_FQDN,DNS:insights.$AS_FQDN
EOF

# create the certificate request
openssl req -new -sha256 -newkey rsa:2048 -nodes -keyout server.key -subj "/C=xx/ST=xx/O=xx/OU=xx/CN=$AS_FQDN" -reqexts SAN -config openssl.tmp.cnf -out ${AS_FQDN}.csr# copy the machine openssl configuration locally
cp /etc/pki/tls/openssl.cnf ./openssl.tmp.cnf

# Replace the [AUTOMATION_SUITE_FQDN] value. For example, "automationsuite.corp.com"
AS_FQDN=[AUTOMATION_SUITE_FQDN]
cat >> ./openssl.tmp.cnf <<EOF
[SAN]
subjectAltName=DNS:$AS_FQDN,DNS:alm.$AS_FQDN,DNS:monitoring.$AS_FQDN,DNS:registry.$AS_FQDN,DNS:objectstore.$AS_FQDN,DNS:insights.$AS_FQDN
EOF

# create the certificate request
openssl req -new -sha256 -newkey rsa:2048 -nodes -keyout server.key -subj "/C=xx/ST=xx/O=xx/OU=xx/CN=$AS_FQDN" -reqexts SAN -config openssl.tmp.cnf -out ${AS_FQDN}.csr

Ihr IT-Team verwendet die erhaltenen Werte, um ein signiertes Zertifikat zu generieren. Der generierte private Schlüssel bleibt lokal.

Verwalten von Serverzertifikaten

Um weitere Informationen zu Serverzertifikaten anzuzeigen, führen Sie den folgenden Befehl aus:

sudo ./configureUiPathAS.sh tls-cert --helpsudo ./configureUiPathAS.sh tls-cert --help

Ausgabe:

************************************************************************************

Manage cluster tls and server certificate

Usage:
  configureUiPathAS.sh tls-cert [command]
  configureUiPathAS.sh tls-cert [flags]

Available Commands:
  update                              Update the tls / server certificate

  get                                 Get the tls / server certificate

Flags:
  -h|--help                           Display help

************************************************************************************************************************************************************************

Manage cluster tls and server certificate

Usage:
  configureUiPathAS.sh tls-cert [command]
  configureUiPathAS.sh tls-cert [flags]

Available Commands:
  update                              Update the tls / server certificate

  get                                 Get the tls / server certificate

Flags:
  -h|--help                           Display help

************************************************************************************
In den folgenden Abschnitten werden die Vorgänge beschrieben, die Sie mit dem Befehl ./configureUiPathAS.sh tls-cert ausführen können.

Aktualisieren der Clusterzertifikate

Online-Installation: So finden Sie das Serverzertifikat

Zertifikate werden als Geheimnis auf Istio-Ebene gespeichert. Zertifikate finden Sie unter dem Namen istio-ingressgateway-certs im Namespace istio-system .

Sehen Sie sich die Zertifikatsdateien in der folgenden Liste an:

  • Das Server-TLS-Zertifikat wird als tls.crt gespeichert.
  • Privater Server-TLS-Schlüssel als tls.key
  • CA-Paket wird als ca.crt gespeichert.

Sie können die Geheimnisse mit dem folgenden Befehl überprüfen:

kubectl -n istio-system get secrets istio-ingressgateway-certs -o yamlkubectl -n istio-system get secrets istio-ingressgateway-certs -o yaml

Zertifikate werden auch im UiPath-Namespace gespeichert. Das gilt für jedes UiPath®-Produkt, das Zertifikatinformationen benötigt, um eingehenden Aufrufen zu vertrauen. Weitere Informationen finden Sie unter Grundlegendes zur Containerarchitektur bezüglich Zertifikaten.

Offlineinstallation: So finden Sie das Serverzertifikat

Zusätzlich zu den Zertifikaten, die für die Onlinebereitstellung erforderlich sind, gibt es bei einer Offlinebereitstellung zwei weitere Speicherorte, die die gleiche rootCA.crt und tls.crtverwenden: ArgoCD und Docker-Registrierung. Die Zertifikate werden dann sowohl im Docker- als auch im ArgoCD-Namespace gespeichert.

Sie können die Geheimnisse mit dem folgenden Befehl überprüfen:

# For docker registry
kubectl -n docker-registry get secrets docker-registry-tls -o yaml
# For Argocd
argocd cert list --cert-type https# For docker registry
kubectl -n docker-registry get secrets docker-registry-tls -o yaml
# For Argocd
argocd cert list --cert-type https

So aktualisieren Sie Serverzertifikate

Wichtig: Sie müssen den Zertifikatschlüssel entschlüsseln, bevor Sie das Serverzertifikat aktualisieren. Das Überspringen des Entschlüsselungsschritts würde zu einem Fehler führen.

Führen Sie den folgenden Befehl aus, um den Zertifikatschlüssel zu entschlüsseln:

# replace /path/to/encrypted/cert/key to absolute file path of key
# replace /path/to/decrypt/cert/key to store decrypt key
# Once prompted, please entry the passphrase or password to decrypt the key

openssl rsa -in /path/to/encrypted/cert/key -out /path/to/decrypt/cert/key# replace /path/to/encrypted/cert/key to absolute file path of key
# replace /path/to/decrypt/cert/key to store decrypt key
# Once prompted, please entry the passphrase or password to decrypt the key

openssl rsa -in /path/to/encrypted/cert/key -out /path/to/decrypt/cert/key
Führen Sie das configureUiPathAS.sh-Skript aus, um das Zertifikat wie unten gezeigt anzupassen. Sie benötigen den Pfad zu jeder der drei Zertifikatsdateien. Alle Zertifikatsdateien müssen das Format PEM haben.
  • Zertifizierungsstellenpaket – Dieses Paket sollte nur die Kettenzertifikate enthalten, die zum Signieren des TLS-Serverzertifikats verwendet werden. Das Kettenlimit beträgt bis zu neun Zertifikate.
  • Serverzertifikat – Öffentliches Serverzertifikat
  • Privater Schlüssel – Privater Schlüssel für das Serverzertifikat

    sudo ./configureUiPathAS.sh tls-cert update --ca-cert-file /path/to/cacert --tls-cert-file /path/to/tlscert --tls-key-file /path/to/tlskeysudo ./configureUiPathAS.sh tls-cert update --ca-cert-file /path/to/cacert --tls-cert-file /path/to/tlscert --tls-key-file /path/to/tlskey
Die folgenden Dateien werden unter /directory/path/to/store/certificate gespeichert.

Zugriff auf das TLS-Zertifikat

Zum Ausgeben der Zertifikatsdateien führen Sie den folgenden Befehl aus, wobei Sie das Verzeichnis angeben, in dem die Zertifikate gespeichert sind.

sudo ./configureUiPathAS.sh tls-cert get --outpath /directory/path/to/store/certificatesudo ./configureUiPathAS.sh tls-cert get --outpath /directory/path/to/store/certificate

Hinzufügen des Zertifizierungsstellenzertifikats zum Host-Truststore

Sie sind dafür verantwortlich, sicherzustellen, dass die generierten Zertifikate vertrauenswürdig sind.

Um das Zertifikat zum Host-VM-Truststore hinzuzufügen, führen Sie die folgenden Befehle auf allen Knoten im Cluster aus:

# 1. Copy the certificate file to the /usr/share/pki/ca-trust-source/anchors/ or the /etc/pki/ca-trust/source/anchors/ directory
cp /path/to/the/ca-cert /usr/share/pki/ca-trust-source/anchors/

# 2. Update the trust store configuration
update-ca-trust# 1. Copy the certificate file to the /usr/share/pki/ca-trust-source/anchors/ or the /etc/pki/ca-trust/source/anchors/ directory
cp /path/to/the/ca-cert /usr/share/pki/ca-trust-source/anchors/

# 2. Update the trust store configuration
update-ca-trust

Verwalten zusätzlicher Zertifikate von Zertifizierungsstellen

Um weitere Informationen über zusätzliche Zertifikate von Zertifizierungsstellen anzuzeigen, führen Sie den folgenden Befehl aus:

./configureUiPathAS.sh additional-ca-certs --help./configureUiPathAS.sh additional-ca-certs --help

Ausgabe:

***************************************************************************************

Manage additional CA certificates, this can be used to add sql server CA

Usage:
  configureUiPathAS.sh additional-ca-certs [command]
  configureUiPathAS.sh additional-ca-certs [flags]

Available Commands:
  update                              Update the additional trusted CA certificates.

  get                                 Get the additional trusted CA certificates

Flags:
  -h|--help                           Display help

******************************************************************************************************************************************************************************

Manage additional CA certificates, this can be used to add sql server CA

Usage:
  configureUiPathAS.sh additional-ca-certs [command]
  configureUiPathAS.sh additional-ca-certs [flags]

Available Commands:
  update                              Update the additional trusted CA certificates.

  get                                 Get the additional trusted CA certificates

Flags:
  -h|--help                           Display help

***************************************************************************************
In den folgenden Abschnitten werden die Vorgänge beschrieben, die Sie mit dem Befehl ./configureUiPathAS.sh additional-ca-certs ausführen können.

Aktualisieren der Zertifikate von Zertifizierungsstellen

Mit diesem Befehl können Sie die vorhandenen konfigurierten Zertifizierungsstellenzertifikate aktualisieren oder ersetzen.

./configureUiPathAS.sh additional-ca-certs update --ca-cert-file /path/to/ca/certs./configureUiPathAS.sh additional-ca-certs update --ca-cert-file /path/to/ca/certs
Hinweis:
Der obige Befehl fügt der Liste vorhandener Zertifikate ein neues Zertifikat hinzu. Wenn Sie alle zuvor konfigurierten Zertifikate ersetzen möchten, müssen Sie --replace am Ende anhängen.
Die Zertifikatspaketdatei von der Zertifizierungsstelle muss in einem gültigen .pem-Format sein und kann mehr als ein Zertifikat enthalten.

Zugriff auf das Zertifikat von einer Zertifizierungsstelle

Um die bereits konfigurierten Zertifikate von Zertifizierungsstellen herunterzuladen, führen Sie den folgenden Befehl aus:

./configureUiPathAS.sh additional-ca-certs get --outpath /path/to/download/certs./configureUiPathAS.sh additional-ca-certs get --outpath /path/to/download/certs

Hinzufügen des Zertifizierungsstellenzertifikats zum Host-Truststore

Sie sind dafür verantwortlich, sicherzustellen, dass die generierten Zertifikate vertrauenswürdig sind.

Um das Zertifikat zum Host-VM-Truststore hinzuzufügen, führen Sie die folgenden Befehle auf allen Knoten im Cluster aus:

# 1. Copy the certificate file to the /usr/share/pki/ca-trust-source/anchors/ or the /etc/pki/ca-trust/source/anchors/ directory
cp /path/to/the/ca-cert /usr/share/pki/ca-trust-source/anchors/

# 2. Update the trust store configuration
update-ca-trust# 1. Copy the certificate file to the /usr/share/pki/ca-trust-source/anchors/ or the /etc/pki/ca-trust/source/anchors/ directory
cp /path/to/the/ca-cert /usr/share/pki/ca-trust-source/anchors/

# 2. Update the trust store configuration
update-ca-trust

Verwalten von Identitätstoken-Signaturzertifikaten

Um weitere Informationen zu Identitätstoken-Signaturzertifikaten anzuzeigen, führen Sie den folgenden Befehl aus:

sudo ./configureUiPathAS.sh identity token-cert --helpsudo ./configureUiPathAS.sh identity token-cert --help

Ausgabe:

************************************************************************************

Manage Identity token signing certificate

Usage:
  configureUiPathAS.sh identity token-cert [command]
  configureUiPathAS.sh identity token-cert [flags]

Available Commands:
  update                              Update secondary certificate to signing
                                        the authentication token
  rotate                              Switch secondary certificate as a primary
                                        token signing certificate
  get                                 Get token signing certificate

Flags:
  -h|--help                           Display help

************************************************************************************************************************************************************************

Manage Identity token signing certificate

Usage:
  configureUiPathAS.sh identity token-cert [command]
  configureUiPathAS.sh identity token-cert [flags]

Available Commands:
  update                              Update secondary certificate to signing
                                        the authentication token
  rotate                              Switch secondary certificate as a primary
                                        token signing certificate
  get                                 Get token signing certificate

Flags:
  -h|--help                           Display help

************************************************************************************
Der folgende Abschnitt enthält Details zu den Vorgängen, die Sie mit dem Befehl./configureUiPathAS.sh identity token-cert ausführen können.

Aktualisieren des Zertifikats

Führen Sie den folgenden Befehl aus, um das neue Zertifikat zum Signieren des Tokens hochzuladen:

Hinweis:

Der folgende Befehl ersetzt nicht das vorhandene Tokensignaturzertifikat.

Stellen Sie sicher, dass das von Ihnen bereitgestellte Zertifikat das Format .pem hat.
sudo ./configureUiPathAS.sh identity token-cert update --cert-file-path /path/to/cert --cert-key-file-path /path/to/certkeysudo ./configureUiPathAS.sh identity token-cert update --cert-file-path /path/to/cert --cert-key-file-path /path/to/certkey

Rotieren des Zertifikats

Um das alte Zertifikat zu rotieren oder durch das neue zu ersetzen, führen Sie den folgenden Befehl aus:

sudo ./configureUiPathAS.sh identity token-cert rotatesudo ./configureUiPathAS.sh identity token-cert rotate
Hinweis:

Die Vorlaufzeit zwischen der Zertifikat-Aktualisierung und dem Rotieren sollte etwa 24 bis 48 Stunden betragen.

Wir benötigen diese Vorlaufzeit, um die Authentifizierung für zwischengespeicherte Token, die von einem alten Zertifikat signiert wurden, weiterhin unterstützen zu können.

Wenn Sie das Zertifikat zu früh vor dem Ablauf des Cache-Tokens rotieren, kann dies zu Ausfallzeiten führen. Möglicherweise müssen Sie dann auch alle Ihre Roboter neu starten.

Notfall-Zertifikatsrotation

Wichtig: Das folgende Verfahren gilt nur für Notfälle. Sie sollten Zertifikate vor ihrem Ablaufdatum rotieren

Führen Sie die folgenden Schritte aus, um eine Notfall-Zertifikatsaktualisierung durchzuführen:

  1. Rufen Sie ein neues Zertifikat ab oder erstellen Sie ein selbstsigniertes Zertifikat und kopieren Sie es auf den Clusterserverknoten, der zum Ausführen der nächsten Rotationsschritte verwendet wird. Führen Sie den folgenden Befehl aus, um ein neues selbstsigniertes Zertifikat zu erstellen:
    openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout identityserver.key -out identityserver.crt
    openssl pkcs12 -export -out identityserver.pfx -inkey identityserver.key -in identityserver.crtopenssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout identityserver.key -out identityserver.crt
    openssl pkcs12 -export -out identityserver.pfx -inkey identityserver.key -in identityserver.crt
  2. Wenn IdentityServer1.pfx abgelaufen ist, rotieren und aktualisieren Sie das Zertifikat. Anweisungen finden Sie unter Rotieren des Zertifikats.
  3. Wenn IdentityServer2.pfx abgelaufen ist, aktualisieren Sie das Zertifikat.
  4. Wenn beide Zertifikate abgelaufen sind, aktualisieren, rotieren und erneut aktualisieren.
  5. Starten Sie alle Bereitstellungen neu.
  6. Löschen Sie alle Browser-Caches. Wenn Sie im Inkognito- oder privaten Modus ausführen, können Sie diesen Schritt überspringen.
  7. Drücken Sie bei Firefox auf STRG+UMSCHALT+ENTF, wählen Sie Cache aus und klicken Sie auf OK.


  8. Drücken Sie in Chrome STRG+UMSCHALT+ENTF, wählen Sie Im Cache gespeicherte Bilder und Dateien aus und klicken Sie auf Daten löschen.


Zugreifen auf das Zertifikat

Führen Sie den folgenden Befehl aus, um das aktuelle Tokensignaturzertifikat herunterzuladen:

sudo ./configureUiPathAS.sh identity token-cert get --outpath /directory/path/to/store/certificatesudo ./configureUiPathAS.sh identity token-cert get --outpath /directory/path/to/store/certificate

Rancher-Zertifikate verwalten

Standardmäßig laufen RKE2-Zertifikate in 12 Monaten ab. In den 90 Tagen vor ihrem Ablaufdatum werden Zertifikate rotiert, wenn Sie RKE2 neu starten.

Weitere Informationen finden Sie unter RKE2 – Erweiterte Optionen – Zertifikatsrotation.

Überprüfen des Ablaufdatums des RKE2-Zertifikats

Um das Ablaufdatum des RKE2-Zertifikats zu überprüfen, führen Sie den folgenden Befehl auf einem der Knoten aus:
# Directory path to check
if [[ -d "/var/lib/rancher/rke2/server/tls" ]]; 
then
dir="/var/lib/rancher/rke2/server/tls"
else
dir="/var/lib/rancher/rke2/agent/tls"
fi
# Loop through each .crt file in the directory
for file in "$dir"/*.crt;
# Extract the expiry date from the certificate
 do
expiry=$(openssl x509 -enddate -noout -in "$file" | cut -d= -f 2-)
# Get the file name without the path
filename=$(basename "$file")
# Print the filename and expiry date in a pretty format
printf "%-30s %s\n" "$filename:" "$expiry"
done# Directory path to check
if [[ -d "/var/lib/rancher/rke2/server/tls" ]]; 
then
dir="/var/lib/rancher/rke2/server/tls"
else
dir="/var/lib/rancher/rke2/agent/tls"
fi
# Loop through each .crt file in the directory
for file in "$dir"/*.crt;
# Extract the expiry date from the certificate
 do
expiry=$(openssl x509 -enddate -noout -in "$file" | cut -d= -f 2-)
# Get the file name without the path
filename=$(basename "$file")
# Print the filename and expiry date in a pretty format
printf "%-30s %s\n" "$filename:" "$expiry"
done

Die Ausgabe, die Sie erhalten, sollte in etwa so aussehen wie im folgenden Bild:

docs image

Rotieren des RKE2-Zertifikats

Um die RKE2-Zertifikate zu rotieren, müssen Sie zuerst eine Reihe von Aktionen auf den Serverknoten ausführen und dann mit einigen Schritten für die Agent-Knoten fortfahren.

Führen Sie die folgenden Schritte auf den Serverknoten aus:
  1. Stoppen Sie den RKE2-Server:
    systemctl stop rke2-server.servicesystemctl stop rke2-server.service
  2. Löschen Sie alle verbleibenden RKE2-Prozesse:
    rke2-killall.shrke2-killall.sh
  3. Löschen Sie die Datei dynamic-cert.json unter /var/lib/rancher/rke2/server/tls/.
  4. Starten Sie den RKE2-Server neu:
    systemctl start rke2-server.servicesystemctl start rke2-server.service
    Hinweis: Wenn der Cluster über mehrere Serverknoten verfügt, werden die Schritte 1–4 möglicherweise nicht vollständig ausgeführt, da etcd den Ringalgorithmus eventuell nicht abschließen kann. Wiederholen Sie in diesem Fall die Schritte 1–4 auf anderen Serverknoten.
  5. Löschen Sie das Geheimnis rke2-serving aus dem Namespace kube-system:
    kubectl delete secret -n kube-system rke2-servingkubectl delete secret -n kube-system rke2-serving
    Hinweis:
    Bei einer Bereitstellung mit mehreren Knoten können Sie die kubectl-Befehle möglicherweise erst ausführen, wenn Sie die ersten vier Vorgänge auf der erforderlichen Anzahl von Serverknoten abgeschlossen haben. Damit wird die Quorum-Anforderung von etcd erfüllt. Sie können das Geheimnis rke2-serving sofort nach dem Start des RKE2-Servers entfernen.
Sobald etcd das Quorum erreicht hat, kann der RKE2-Server die restlichen Pods der Steuerungsebene starten. Der Befehl kubectl get nodes sollte dann erfolgreich ausgeführt werden. Wenn Ihre Serverknoten bereit sind, können Sie mit den Agent-Knoten fortfahren, um die Zertifikate neu zu generieren.

Führen Sie die folgenden Schritte auf den Agent-Knoten aus:

  1. Stoppen Sie den RKE2-Server:
    systemctl stop rke2-agent.servicesystemctl stop rke2-agent.service
  2. Löschen Sie alle verbleibenden RKE2-Prozesse:
    rke2-killall.shrke2-killall.sh
  3. Starten Sie den RKE2-Server neu:
    systemctl start rke2-agent.servicesystemctl start rke2-agent.service

Verwalten des externen OCI-konformen Registrierungszertifikats

Um das Zertifikat nach der Installation für die externe OCI-konforme Registrierung zu aktualisieren, führen Sie die folgenden Schritte aus:

  1. Aktualisieren Sie das Flag registry_ca_cert in der Datei cluster_config.json. Weitere Informationen finden Sie unter Konfiguration der externen OCI-konformen Registrierung.
  2. Aktualisieren Sie die Stammzertifizierungsstelle, die von der externen OCI-konformen Registrierung verwendet wird, indem Sie den folgenden Befehl auf allen Knoten ausführen:
    ./bin/uipathctl rke2 generate-registries cluster_config.json --current-config-path /etc/rancher/rke2/registries.yaml > /etc/rancher/rke2/registries.yaml.tmp
    mv -f /etc/rancher/rke2/registries.yaml.tmp /etc/rancher/rke2/registries.yaml
    systemctl restart rke2-server || systemctl restart rke2-agent./bin/uipathctl rke2 generate-registries cluster_config.json --current-config-path /etc/rancher/rke2/registries.yaml > /etc/rancher/rke2/registries.yaml.tmp
    mv -f /etc/rancher/rke2/registries.yaml.tmp /etc/rancher/rke2/registries.yaml
    systemctl restart rke2-server || systemctl restart rke2-agent
  3. Aktualisieren Sie das ArgoCD-Zertifikat der vertrauenswürdigen Zertifizierungsstelle für die externe OCI-konforme Registrierung:
    ./bin/uipathctl config argocd ca-certificates update --cacert [PATH]./bin/uipathctl config argocd ca-certificates update --cacert [PATH]

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
Uipath Logo White
Vertrauen und Sicherheit
© 2005–2024 UiPath. Alle Rechte vorbehalten