Verbindungen zur AE sichern (TLS/SSL)

Die Kommunikation zwischen der Automation Engine, dem Automic Web Interface, der JAVA-API und dem Proxy-Client sowie zwischen der Automation Engine, den Java-, Windows- und UNIX-Agenten und dem TLS Gateway verwendet TLS/SSL über ein sicheres WebSocket (WSS). Diese Komponenten richten eine Verbindung mit dem Java-Kommunikationsprozess (JCP) und/oder dem REST-Prozess (REST) ein.

Wichtig! Besuchen Sie Enterprise Software Academy von Broadcom. Es gibt einen Kurs zu diesem Thema. Weitere Informationen finden Sie im Abschnitt Schulung am Ende dieses Themas.

Diese Seite beinhaltet Folgendes:

Übersicht

Die JCP- und REST-Prozesse verwenden vertrauenswürdige Zertifikate, um ihre Identität gegenüber anderen Kommunikationspartnern nachzuweisen, wie z. B. Java-, Windows- und UNIX-Agenten. Um mit diesen Zertifikaten zu arbeiten, benötigen die Prozesse einen Keystore, der zuvor im pkcs12-Format erstellt werden muss.

Es wird empfohlen, ordnungsgemäß signierte Zertifikate anstelle selbstsignierter Zertifikate zu verwenden, um die Installation von Agenten oder anderen Komponenten zu erleichtern. Außerdem müssen Sie die gesamte Vertrauenskette (Zwischen- und Stammzertifizierungsstelle) an das Zertifikat anhängen. Sie können Tools wie OpenSSL, KeyStore oder Keytool verwenden, um eine solche pkcs12-Datei zu erstellen.

Weitere Informationen zu den verschiedenen Zertifikattypen und ausführliche Anweisungen zur Erstellung und Verwendung finden Sie unter Welche Art von Zertifikaten sollte ich für Automic Automation v21 verwenden?

Anschließend müssen Sie in der Konfigurationsdatei (INI) jeder Komponente die relevanten Parameter definieren.

Für die Konfiguration der TLS/SSL-Verbindung wird die Java-Standard-Cipher-Suite des JCP verwendet. Sie können die unterstützten Cipher Suites in der Java-Sicherheitsrichtlinie ändern. Weitere Informationen finden Sie unter https://www.java.com/en/configure_crypto.html.

Parameter - Automation Engine

Definieren Sie für eine lokale Installation die unten aufgeführten Parameter im Abschnitt [TLS] der Konfigurationsdatei (UCSRV.INI) der Automation Engine. Weitere Informationen finden Sie unter Automation Engine INI-Datei.

  • keystore= Pfad und Datei, in der der Keystore für das TLS/SSL-Zertifikat gespeichert ist

    Standardwert: ./httpsKeyfile

    Dieser Parameter ist obligatorisch und muss auf das richtige Ziel zeigen; andernfalls wird der Prozess-Server beendet.

  • keystorePassword= Kennwort für die Keystore-Datei

    Standardwert: changeit

    Wenn der Wert nicht definiert ist oder leer bleibt, verwendet das System den Standardwert.

  • keyPassword=Kennwort für den Schlüssel

    Standardwert: changeit

    Wenn der Wert nicht definiert ist oder leer bleibt, verwendet das System den Standardwert.

  • keyAlias= Alias, der für den Schlüssel verwendet wird

    Standardwert: jetty

    Wenn der Wert nicht definiert ist oder leer bleibt, verwendet das System den Standardwert.

Das keystorePassword und das keyPassword können mit dem Dienstprogramm UCYBCRYP verschlüsselt werden. Weitere Informationen finden Sie unter Passwörter codieren.

In der Automic Automation Kubernetes Edition verwendet der JCP standardmäßig ein generiertes, selbstsigniertes Zertifikat im Kubernetes-Cluster. Aus diesem Grund müssen Sie diese Parameter für eine AAKE-Installation nicht definieren.

Wenn Sie Zertifikate über gegenseitiges TLS/SSL in einer lokalen Installation verwenden, z. B. zur Authentifizierung der Automation Engine beim CyberArk-Passworttresor (siehe Passworttresore), definieren Sie die folgenden Parameter im Abschnitt [TLS] der INI-Datei der AE:

(missing or bad snippet)

In der Automic Automation Kubernetes Edition müssen Sie den geheimen Schlüssel mutual-tls-cert Kubernetes vor der Installation erstellen. Der geheime Schlüssel enthält das Paar aus privatem Schlüssel/Zertifikat, das die Automation Engine gegenüber CyberArk identifiziert. Weitere Informationen finden Sie unter Einrichten von CyberArk für Automic Automation Kubernetes Edition.

Parameter – Agenten, Java-Komponenten, Proxy und TLS Gateway

Alle Java-Komponenten sowie der Proxy, die Windows-, UNIX- und Java-Agenten und das TLS Gateway können verschiedene Parameter in ihrer entsprechenden INI-Datei verwenden, um zu definieren, wie mit den Zertifikaten umgegangen wird.

TLS/SSL-Agenten (in Containern und lokal) und das TLS Gatewayrichten bei Verwendung für die Automic Automation Kubernetes Editioneine Verbindung zu einem Ingress-/HTTPS-Load Balancer ein, und nicht direkt zum JCP. Der Ingress-/HTTPS-Load Balancer muss erreichbar sein und benötigt ein Zertifikat zur Authentifizierung. Die Adresse des Load Balancers muss auf beiden Seiten definiert werden: Automation Engine und Agent/TLS Gateway.

Weitere Informationen finden Sie unter Eine Verbindung zum AWI, die JCP- und REST-Prozesse über einen Ingress herstellen.

Dies gilt für die folgenden Komponenten und Agenten:

Komponenten

Agenten

Hinweis: Die TLS/SSL-Implementierung gilt nicht für den HP-UX-Agenten, da er in dieser Version nicht mehr unterstützt wird.

Alle oben aufgeführten Komponenten und Agenten können den Parameter trustedCertFolder= in ihrer jeweiligen Konfigurationsdatei verwenden, um den Pfad zum Ordner zu definieren, in dem die vertrauenswürdigen Zertifikate gespeichert sind.

Wenn dieser Parameter nicht gesetzt ist, sollten die Zertifikate im jeweiligen Speicher installiert werden; das ist der Java-Truststore für Java-Komponenten und Java-Agenten, der Windows-Betriebssystemspeicher für Windows-Agenten oder der TLS/ SSL-Speicher für UNIX-Agenten.

Darüber hinaus können die Agenten die folgenden Parameter im Abschnitt [AUTHORIZATION] der jeweiligen INI-Datei verwenden:

  • agentSecurityFolder= Pfad zum Ordner, in dem der Agent sicherheitsbezogene Dateien wie private Schlüssel, signierte Zertifikate, Stammzertifikate usw. speichert

  • keyPassword= Passwort für den Schlüssel

    Standardwert: changeit

    Wenn der Wert nicht definiert ist oder leer bleibt, verwendet das System den Standardwert.

    Hinweis: Das keyPassword kann mit dem Dienstprogramm UCYBCRYP verschlüsselt werden. Weitere Informationen finden Sie unter Passwörter codieren.

Bei UNIX-Agenten ist es außerdem erforderlich, dass Sie die Parameter SSLCertDir= und SSLCertFile= im Abschnitt [AUTHORIZATION] der INI-Datei definieren, um die Zertifikate aus dem SSL-Speicher zu laden.

  • SSLCerDir= Speicherort der vertrauenswürdigen CA-Zertifikate mit jedem Zertifikat in einer separaten Datei, zum Beispiel /etc/ssl/certs/

  • SSLCertFile= Speicherort der .pem-Datei mit allen vertrauenswürdigen CA-Zertifikaten, z. B. /etc/pki/tls/certs/ca-bundle.crt

Wenn Sie diese Parameter nicht in der INI-Datei definieren, sucht der Agent in den gängigen SSL-Stores nach Zertifikaten.

Beispiele – SSLCertDir

  • /etc/ssl/certs

    Plattformen: Debian/Ubuntu

  • /etc/pki/tls/certs

    Plattformen: Fedora/RHEL/CentOS

Beispiele – SSLCertFile

  • /etc/ssl/certs/ca-certificates.crt

    Plattformen: Debian/Ubuntu

  • /etc/pki/tls/certs/ca-bundle.crt

    Plattformen: Fedora/RHEL/CentOS

Wenn der Agent keine Zertifikate findet oder die Pfade nicht in Ihrem System existieren, dann kann der Agent keine Verbindung zur Automation Engine herstellen.

Sie können verschiedene Befehle verwenden, um nach den Zertifikaten in Ihrem System zu suchen. Nur ein privilegierter Benutzer, wie beispielsweise Root, kann diese Ordner durchsuchen.

Beispiele – SSL_CERT_DIR

sudo find /etc/ssl/ -name '*DigiCert*'

sudo find /etc/ -name 'DigiCert_Global_Root_CA.pem'

Beispiele – SSL_CERT_FILE

sudo grep -R "DigiCert" /etc/ssl/

sudo grep -R "DigiCert Global Root CA" /etc/

Mehr Informationen:

Zertifikate hinzufügen

Die JCP- und REST-Prozesse verwenden den keystore, wie in der Automation Engine-Konfigurationsdatei definiert.

Alle Verbindungskomponenten (Agenten, AWI usw.) müssen die Identität des JCP überprüfen. Dies erfolgt während des Verbindungs-Handshakes im TLS/SSL-Protokoll. Wenn das Zertifikat nicht die Sicherheitsanforderungen erfüllt, kann die Komponente keine Verbindung zur Automation Engineherstellen. Ein gültiges Zertifikat muss die folgenden Eigenschaften erfüllen:

  • Der allgemeine Name des Zertifikats muss mit der konfigurierten Endpunktadresse übereinstimmen. Wird eine andere Adresse verwendet, wenn auch für denselben Rechner, wird das Zertifikat vom Mandanten abgelehnt. Wenn Sie mehrere Domänen, Hostnamen oder IP-Adressen haben, die durch das Zertifikat gesichert sind, können Sie einen SAN (Subject Alternative Name) verwenden, um alle einzuschließen, oder ein Platzhalter-Zertifikat verwenden, das allen Ihren Domänen entspricht.

  • Das Zertifikat ist nicht abgelaufen, außer wenn es direkt im Truststore vertrauenswürdig ist.

  • Das Zertifikat wird entweder direkt vom Client als vertrauenswürdig eingestuft oder wurde von einer vertrauenswürdigen Zertifizierungsstelle signiert. Es wird empfohlen, ein Zertifikat zu verwenden, das von der Zertifizierungsstelle des Unternehmens signiert ist, da diese auf dem Computer vermutlich bereits vertrauenswürdig sind. Sie müssen sicherstellen, dass die Signatur-Zertifizierungsstelle oder das Zertifikat selbst Teil des Truststores sind. Abhängig von der Komponente kann dies ein Java-Truststore oder ein Ordner im Agentenverzeichnis sein.

Weitere Informationen zu den verschiedenen Zertifikattypen und ausführliche Anweisungen zur Erstellung und Verwendung finden Sie unter Welche Art von Zertifikaten sollte ich für Automic Automation v21 verwenden?

Das System prüft das Zertifikatablaufdatum alle 24 Stunden (um Mitternacht UTC). Wenn das Ablaufdatum eines oder mehrerer Zertifikate innerhalb von 30 Tagen liegt, zeigt AWI die folgende Benachrichtigung an: "Die folgenden JCP-Zertifikate laufen innerhalb der nächsten 30 Tage ab: <Zertifikatname (Ablaufdatum)>". Das Ablaufdatum des Zertifikats wird auch beim Start sowie um Mitternacht (UTC) in die JCP-Logdatei geschrieben.

Die Benachrichtigung wird in allen Mandanten aber nur für Benutzer mit dem Recht Zugriff auf Verwaltung angezeigt. Weitere Informationen finden Sie unter Berechtigungen Automation Enginegewähren. Die Benachrichtigung bleibt sichtbar, bis das Zertifikat verlängert wird.

Hinweise:

  • AWI zeigt nur eine Benachrichtigung an, selbst wenn mehr als ein Zertifikat abläuft. Alle relevanten Zertifikate werden nacheinander durch ein Komma getrennt nach Ablaufdatum aufgelistet; das Zertifikat, das dem Ablaufdatum am nächsten ist, wird zuerst aufgelistet.

  • Nach der Erneuerung des Zertifikats muss der JCP nicht neu gestartet werden.

  • Stellen Sie sicher, dass das neue Zertifikat richtig eingestellt ist und dieselbe Definition wie der TLS-Abschnitt der INI-Datei von Automation Engine verwendet, siehe Automation Engine. Andernfalls wird die alte KeyStore-Definition verwendet und der JCP wird nicht gestartet.

Optional können Sie auch die Variable UC_SERVER_TLS_SETTINGS verwenden, um eine benutzerdefinierte Aktion auszulösen, wenn eines dieser Zertifikate kurz vor dem Ablauf steht. Weitere Informationen finden Sie unter UC_SERVER_TLS_SETTINGS – Serverzertifikatsverwaltung.

Schulung

Die Enterprise Software Academy bietet zahlreiche kostenlose Online-Schulungen. Falls noch nicht geschehen, registrieren Sie sich bei der Enterprise Software Academy, um von unserem Schulungsangebot zu profitieren.

Die Liste der Kurse für Produkte von Automic finden Sie hier: Automic Kurskatalog.

Diesem Thema sind die folgenden Kurse zugeordnet:

  • Automic Automation TLS und Zertifikate

  • Automic Automation TLS Gateway

Weitere Informationen finden Sie unter Kostenlose Online-Kurse

Siehe auch: