CAPKI - Sicherung des ServiceManagers
Die CAPKI-Bibliotheken stellen Funktionen bereit, die für Informationssicherheitsdienste wie die TLS/SSL-Implementierung und für die sichere Kommunikation des ServiceManagers erforderlich sind. CAPKI ist für Windows- und all Unix-Plattformen verfügbar, die von der Automation Engine unterstützt werden, und kann von https://downloads.automic.com/heruntergeladen werden.
Wichtig! CAPKI wird in der Automic Automation Kubernetes Edition nicht unterstützt, aber Sie können den ServiceManager ohne CAPKI verwenden, um Ihre Agenten zu starten.
Diese Seite beinhaltet Folgendes:
Übersicht
Die Automation Engine verwendet CAPKI, um auf TLS 1.2 basierende sichere Verbindungen zwischen dem ServiceManager und seinen Mandanten, dem ServiceManager-Dialogprogramm, dem ServiceManager-Kommandozeilenprogramm und der Automation Engine selbst einzurichten. Sie müssen CAPKI auf allen Computern installieren, auf denen Serverprozesse, der ServiceManager oder ein Mandant ausgeführt werden.
Mehr Informationen:
- ServiceManager - Service
- ServiceManager - Dialogprogramm
- ServiceManager - Kommandozeilenprogramm (CLI)
- Serverprozesse
Empfehlungen
Es wird empfohlen, die folgenden Upgrade-Schritte in der Reihenfolge durchzuführen, wie sie hier aufgeführt sind:
-
Installieren Sie CAPKI auf allen Computern, auf denen Serverprozesse, der ServiceManager und jeder seiner Mandanten ausgeführt werden.
Wichtig! Es wird empfohlen, CAPKI vor der Installation oder Aktualisierung von Komponenten der Automation Engine zu installieren, die CAPKI erfordern. Wenn Sie CAPKI nach der Installation oder Aktualisierung dieser Komponenten installieren müssen, müssen Sie die Komponenten neu starten, damit CAPKI wirksam wird.
-
Aktualisieren Sie die Automation Engine und alle ihre Komponenten entweder manuell oder unter Verwendung der ZDU und des Centralized Agent Upgrade (CAU).
-
Setzen Sie in der Variablen UC_SYSTEM_SETTNGS den Parameter SMGR_SUPPORT_LEGACY_SECURITY auf N.
Wichtig! Wenn dieser Parameter auf N gesetzt ist, unterstützt die Automation Engine die Kommunikation mit älteren ServiceManagern nicht mehr.
Mehr Informationen:
Die Einhaltung dieser Reihenfolge garantiert einen reibungslosen Upgrade-Prozess. Die neuen Komponenten ServiceManager Dialog- und CLI-Komponenten sowie die Kommunikationsprozesse des Automation Engine können noch mit einem älteren ServiceManager kommunizieren, aber nicht umgekehrt. Daher ist es wichtig, zuerst das Automation Engine, das ServiceManager Dialogprogramm und das CLI-Programm und dann den ServiceManager zu aktualisieren.
Kompatibilität
Ein ServiceManager, der CAPKI unterstützt, ermöglicht nur Verbindungen von Mandanten (Automation Engine, ServiceManager-Dialogprogramm und ServiceManager-Kommandozeile), die ebenfalls CAPKI unterstützen. Allerdings können das ServiceManager-Dialogprogramm und die ServiceManager-Kommandozeile alte ServiceManager kontaktieren, die CAPKI nicht unterstützen.
Hinweis: Das neue ServiceManager-Dialogprogramm verfügt über eine Anzeige, die darüber informiert, ob es mit einem sicheren oder einem älteren (unsicheren) ServiceManager verbunden ist.
Sie können die Kompatibilität der Automation Engine mit dem Parameter SMGR_SUPPORT_LEGACY_SECURITY in der Variablen UC_SYSTEM SETTINGSkonfigurieren.
Konfiguration der CAPKI-Umgebung (UNIX)
Um die CAPKI-Umgebung korrekt zu konfigurieren, müssen Sie die Umgebungsvariable CASHCOMP so setzen, dass sie auf das Parent-Verzeichnis des CAPKI-Installationsverzeichnisses verweist. Wenn die Einstellung env=all während der Installation gesetzt wird, wird die Umgebungsvariable CASHCOMP automatisch /etc/profile.CA hinzugefügt, das von /etc/profile gefüllt wird. Wenn Sie das Service-Daemon-Start-Script automicsm für den ServiceManager installieren, stellen Sie sicher, dass die Umgebungsvariable CASHCOMP im Script entsprechend gesetzt ist.
Beispiel
export CASHCOMP=/opt/CA/SharedComponents
Konfigurierbarer Verschlüsselungsschlüssel
Für die Verschlüsselung wird eine Standard-Verschlüsselungsfolge verwendet. Als Systemadministrator können Sie eine spezifische Verschlüsselungsfolge mit dem Parameter cipher im Abschnitt [CAPKI] der INI-Datei des ServiceManagers definieren. Weitere Informationen finden Sie unter Service Manager Service.
Beispiel
[CAPKI]
;cipher: Verschlüsselungsfolge für die TLS 1.2-Kommunikation
cipher=DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256
Wenn ein ungültiger Wert definiert ist, wird die Standardverschlüsselung verwendet, und die entsprechende Meldung wird in die Logdatei geschrieben.
CAPKI installieren
Die CAPKI-Bibliotheken sind für Windows- und UNIX-Plattformen verfügbar, die von der Automation Engine unterstützt werden, und können von https://downloads.automic.com/heruntergeladen werden.
Sie können CAPKI auf jedem Computer für verschiedene Anwendungen installieren, und jede Installation muss mit einem frei definierten Namen registriert werden (CallerID). Nur die erste CAPKI-Installation installiert Bibliotheken im System. Alle nachfolgenden registrieren lediglich zusätzliche Anwendungen für die Verwendung und verändern vorhandene CAPKI-Installationen nicht. Umgekehrt können Sie CAPKI nur deinstallieren (die Bibliotheken aus Ihrem System entfernen), wenn keine Anwendung mehr CAPKI verwendet. Wenn Sie versuchen, CAPKI zu deinstallieren, und noch andere Anwendungen es verwenden, wird nur die Registrierung der betreffenden Anwendung aufgehoben.
CAPKI speichert und verwaltet eine Liste der Anwendungen, die auf dem System installiert sind, und ihre jeweiligen CAPKI-Versionen. Diese Liste darf nicht manuell geändert werden, sie kann jedoch als Informationsquelle verwendet werden, wenn Sie beispielsweise eine Anwendung deinstallieren möchten, die nicht mehr über die zugehörige CallerID verfügt. Sie können die Liste an folgenden Stellen finden:
- Windows: in der Registrierung in HKLM\SOFTWARE\ComputerAssociates\Shared\CAPKI5\Dependencies
- UNIX: in der Datei .installdb im CAPKI-Installationsverzeichnis
Wichtig! Windows-Installationen erfordern Administratorrechte. Es wird empfohlen, Unix-Installationen mit root-Berechtigungen durchzuführen. Sie können jedoch auch eine Unix-Installation nur unter einem spezifischen Benutzer durchführen. In diesem Fall gilt nur eine Teilmenge der Parameter und Einstellungen.
Für die Installation von CAPKI verwenden Sie die Installationsprogramme setup.exe (Windows) bzw. setup (UNIX). Sie unterstützen die folgenden Parameter:
-
install: Installiert CAPKI
-
remove: Deinstalliert CAPKI
-
discover: Sucht nach allen CAPKI-Installationen im System und protokolliert die Ergebnisse.
Unter Windows protokolliert es Informationen in der Datei %TEMP%/CAPKI_install.log. Unter UNIX protokolliert es Informationen in der Datei /tmp/CAPKI_install.log und gibt die Informationen auf der Konsole aus.
-
CallerID: Ein beliebiger, frei definierbarer Name, wie z. B. Automic, oder AE210 für Automation Engine-Version 21.0
Sie können auch die folgenden Einstellungen anwenden:
-
veryverbose (Obligatorisch)
Aktiviert die detaillierte Diagnoseausgabe. Wenn diese Einstellung nicht definiert ist, arbeitet das Installationsprogramm im automatischen Modus ohne Diagnoseausgabe.
Diese Einstellung erzwingt, dass das Installationsprogramm die Installationsschritte protokolliert. Unter Windows werden die Schritte in der Datei %TEMP%/CAPKI_install.log protokolliert. Unter UNIX werden die Schritte in der Datei /tmp/CAPKI_install.log protokolliert und auf der Konsole ausgegeben.
-
env=<none|user|all> (nur UNIX)
Aktiviert die Einstellung der Umgebungsvariablen CASHCOMP für einen bestimmten Benutzer.
Erlaubte Werte:
none: (Standard: Login muss root sein) Setzt keine Umgebungsvariablen
user: Setzt nur für den aktuellen Benutzer Umgebungsvariablen ($HOME/.profile)
all: (Login muss root sein) Setzt die Umgebungsvariable für alle Benutzer
Wichtig! Stellen Sie sicher, dass der Installationsbenutzer über die erforderlichen Berechtigungen für das Installationsverzeichnis verfügt.
Beispiele
Um CAPKI zu installieren, verwenden Sie das Installationsprogramm setup.exe (Windows) oder setup (UNIX) in der CAPKI-Bibliothek, die Sie von https://downloads.automic.com/heruntergeladen haben.
UNIX (root)
Wichtig! Es wird empfohlen, Unix-Installationen mit root-Berechtigungen durchzuführen.
Wenn Sie CAPKI in UNIX als root-Benutzer installieren, werden die folgenden Parameter und Einstellungen unterstützt:
./setup install caller=automic veryverbose env=all
Installiert CAPKI und legt Umgebungsvariablen für alle Benutzer fest (/etc/profile).
./setup install caller=automic veryverbose env=none
Installiert CAPKI, setzt jedoch keine Umgebungsvariablen.
./setup remove caller=automic veryverbose
Deinstalliert CAPKI.
./setup discover
Sucht im System nach CAPKI-Installationen.
UNIX (non-root)
Wichtig! Es wird empfohlen, Unix-Installationen mit root-Berechtigungen durchzuführen. Sie können jedoch auch eine Unix-Installation nur für den aktuellen Benutzer durchführen.
Wenn Sie CAPKI in UNIX ohne root-Berechtigungen installieren, werden nur die folgenden Parameter und Einstellungen unterstützt:
./setup install caller=automic veryverbose env=user
Installiert CAPKI lokal und legt die Umgebungsvariablen nur für den aktuellen Benutzer fest ($HOME/.profile)
./setup remove caller=automic veryverbose env=user
Deinstalliert CAPKI, löscht jedoch keine Umgebungsvariablen aus $HOME/.profile
./setup discover
Sucht nach CAPKI-Installationen im System (root), nicht nach Installationen im $HOME-Verzeichnis des aktuellen Benutzers.
Windows
Wichtig! Windows-Installationen erfordern Administratorrechte.
setup.exe install caller=automic veryverbose
Installiert CAPKI.
setup.exe remove caller=automic veryverbose
Deinstalliert CAPKI.
setup.exe discover
Sucht im System nach CAPKI-Installationen.
Rückgabewerte eingeben
Die Setup-Rückgabewerte zeigen an, ob die Installation erfolgreich war oder fehlgeschlagen ist, und werden in das Log geschrieben. Sie können den Setup-Rückgabewert mit den folgenden Befehlen abrufen:
- Windows: echo %errorlevel%
- UNIX: echo $?
Mögliche Rückgabewerte sind:
-
0 Erfolgreich
-
1 (Windows) Erfolgreich - Neustart erforderlich, um temporäre Dateien zu bereinigen
-
2 (Windows) Erfolgreich - Neustart erforderlich, um die Installation abzuschließen (*)
-
3 Fehler (Details werden in die Log-Datei geschrieben)
(*) CAPKI steht möglicherweise erst nach dem Neustart zur Verfügung.
Logging und Diagnose
Die Installationslogdatei capki_install.log wird bei der Installation erstellt und enthält Fehler-, Warn- und Informationsmeldungen. Die Logdatei befindet sich im temporären Verzeichnis:
- Windows: %TEMP%
- UNIX: /tmp
Hinweise:
-
Wenn CAPKI nicht (korrekt) auf einem Computer installiert ist, auf dem ein neuer ServiceManager installiert ist, verhält sich der ServiceManager wie ein alter (unsichere Kommunikation). Eine entsprechende Warnung wird im ServiceManager-Log ausgegeben.
-
Wenn CAPKI nicht (korrekt) auf einem Computer installiert ist, auf dem ein neues ServiceManager-Dialogprogramm oder CLI-Programm installiert ist, kann das Programm nur eine Verbindung zu ServiceManagern herstellen, die CAPKI nicht verwenden.
Die Automation Engine und den ServiceManager konfigurieren
Zertifikatsverwaltung
Der ServiceManager verwendet kryptografische Schlüssel und ein Zertifikat, um eine TLS-gesicherte Verbindung herzustellen. Beim Start erstellen die Automation Engine und der ServiceManager eigene selbstsignierte Zertifikate und Schlüsseldateien und schreiben die Pfadinformationen in den Abschnitt [CAPKI] ihrer Konfigurationsdateien (.INI). Sie müssen das Format .pem für eigene Zertifikate verwenden.
Beispiel für Windows
[CAPKI]
certificate=C:\Automic\Automation.Platform\AutomationEngine\bin\ucsrv_certificate.pem
key=C:\Automic\Automation.Platform\AutomationEngine\bin\ucsrv_key.pem
;chain=
trusted_cert_folder=.\trusted
Wichtig! Es wird empfohlen die automatisch generierten Zertifikate durch Zertifikate einer Zertifizierungsstelle (CA) zu ersetzen. Sie müssen den Pfad zu Ihrem eigenen Zertifikat und Ihrer eigenen Schlüsseldatei in der entsprechenden Konfigurationsdatei (.INI) definieren.
Zertifikatsvalidierung
Die Automation Engine, der ServiceManager-Service, das ServiceManager-Dialogprogramm und die ServiceManager-CLI validieren standardmäßig kein Zertifikat. Das bedeutet, dass standardmäßig alle Zertifikate vertrauenswürdig sind. Der ServiceManager, das Dialogprogramm und die CLI können eigene Zertifikatspeicher verwalten, die alle vertrauenswürdigen Zertifikate enthalten.
Um die Zertifikatvalidierung zu aktivieren, müssen Sie einen Ordner erstellen, der alle Zertifikate enthält, die die Komponente als vertrauenswürdig betrachten soll. Der Standardpfad für diesen Ordner ist in der Konfigurationsdatei (.INI) der Komponente definiert: trusted_cert_folder=.\trusted.
Beispiel
Automation Engine A hat ein Zertifikat in ihrem Vertrauensspeicher, Automation Engine B dagegen nicht. Wenn beide versuchen, einen direkt mit einem Kommunikationsprozess (CP) verbundenen Nicht-TLS-Agenten aus der Administration-Perspektive zu starten, ist Automation Engine A erfolgreich, während Automation Engine B eine Meldung erhält, dass die Verbindung zum ServiceManager aufgrund eines Zertifikatvalidierungsfehlers nicht erfolgreich war.
Wichtig! Wenn der ServiceManager und einer seiner Mandanten (z. B. das CLI-Programm) sich in demselben .\bin-Ordner befinden, müssen Sie die beiden vertrauenswürdigen Ordner trennen. Dazu erstellen Sie einen zweiten Ordner und ändern den Parameter in der Konfigurationsdatei (.INI) des ServiceManagers. Beispiel: trusted_cert_folder=.\sm_trusted.
Wenn mindestens ein Zertifikat (Format .pem) in dem definierten Ordner gespeichert ist, überprüft die Komponente die Vertrauenswürdigkeit des Zertifikats, wenn sie eine Verbindung einrichtet. Einem Zertifikat wird vertraut, wenn das Zertifikat selbst oder die Zertifizierungsstelle (CA), die das Zertifikat signiert hat, vorhanden ist. Andernfalls gilt das Zertifikat nicht als vertrauenswürdig und die Verbindung wird beendet.
Zertifikaterneuerung
Zertifikate müssen nur erneuert werden, wenn sie abgelaufen sind oder bald ablaufen und Sie einen Vertrauensspeicher verwenden. In diesem Fall zeigt der ServiceManager-Dialog die Fehlermeldung Zertifikatvalidierungsfehler: Vertrauenswürdige Verbindung konnte nicht eingerichtet werden.
Ein vorhandenes Zertifikat kann automatisch erneuert werden (selbstsignierte Zertifikate), oder Sie können ein eigenes Zertifikat angeben. In beiden Fällen muss das neue Zertifikat dem Vertrauensspeicher aller Komponenten hinzugefügt werden, die eine Verbindung mit dem neuen Zertifikat herstellen:
-
Automatische Erneuerung
Der ServiceManager generiert ein neues Zertifikat, wenn er kein vorhandenes finden kann. In diesem Fall müssen Sie die Dateien UCYBSMgr_certificate.pem und UCYBSMgr_key.pem aus dem .\bin-Verzeichnis des ServiceManagers löschen und ihn neu starten. Während des Startvorgangs generiert der ServiceManager einen neuen privaten Schlüssel und ein neues Zertifikat.
Für die Automation Engine löschen Sie die Dateien ucsrv_certificate.pem und ucsrv_key.pem aus dem .\bin-Verzeichnis der Automation Engine und starten alle Kommunikationsprozesse (CPs) neu
-
Eigenes Zertifikat
Sie können Ihre eigenen Zertifikate und Schlüssel generieren (Format .pem).
Tipp: Es wird empfohlen, eine Schlüsselgröße von mindestens 4.069 Bit zu verwenden.
Sie können den Pfad zum Zertifikat, optionalen vorläufigen Zertifikaten (Kette) und der Schlüsseldateiposition in der Konfigurationsdatei (.INI) des ServiceManagers definieren (siehe Service Manager Service) bzw. Automation Engine (siehe Automation Engine).
Vertrauensspeicher-Aktualisierung
Aus Sicherheitsgründen werden neue Zertifikate nicht automatisch verteilt. Da jede Komponente das Zertifikat der Komponenten benötigt, zu denen sie eine Verbindung herstellt, müssen Sie die neuen Zertifikate in den Vertrauensspeicher dieser Komponenten kopieren. Der Verteilungsprozess kann effizienter sein, wenn die von Ihnen bereitgestellten Zertifikate von einer Zertifizierungsstelle (CA) unterzeichnet werden. In diesem Fall muss nur die signierende CA zum Vertrauensspeicher hinzugefügt werden, und alle von der Stelle signierten Zertifikate werden automatisch als vertrauenswürdig eingestuft.
Mandanten-Zertifizierung
Das ServiceManager-Dialogprogramm und die Service-Manager-CLI müssen standardmäßig kein Zertifikat vorlegen, wenn sie eine Verbindung mit dem ServiceManager herstellen, weil sie sich mit einem Passwort authentifizieren. Sie können jedoch die Mandantenzertifizierung im Abschnitt [CAPKI] der INI-Datei des ServiceManagers mit dem Parameter client_certification=y aktivieren, um einen zusätzlichen Sicherheitsschritt einzuführen. In diesem Fall benötigen die Mandanten ein Zertifikat für die Authentifizierung.
Mehr Informationen:
Verwenden Sie ein Zertifikat und ein Schlüsselpaar, das von einer Zertifizierungsstelle (CA) ausgegeben wurde, auf der Mandantenseite Sie müssen den Pfad zu den Zertifikat- und Schlüsseldateien in der INI-Datei definieren. Einige Zertifikate benötigen möglicherweise ein vorläufiges Zertifikat für die Validierung, wenn die Signaturzertifizierungsstelle nicht direkt vertrauenswürdig ist. Wenn dies der Fall ist, müssen Sie auf den Speicherort des vorläufigen Zertifikats verweisen. Dazu verwenden Sie einen Kommandozeilen- bzw. einen INI-Datei Parameter.
-
Die Zertifikat- und Schlüsseldateien für das ServiceManager-Dialogprogramm werden im Abschnitt [CAPKI] seiner INI-Datei zugewiesen, siehe ServiceManager - Dialogprogramm.
Beispiel
In diesem Beispiel befinden sich die Zertifikats- und Schlüsseldateien im Verzeichnis .\bin des ServiceManager-Dialogprogramms.
[CAPKI]
certificate=C:\Automic\Automation.Platform\ ServiceManagerDialog\bin\<Zertifikatdateiname>.pem
key=C:\Automic\Automation.Platform\ ServiceManagerDialog\bin\<Schlüsseldateiname>.pem
;chain=
trusted_cert_folder=.\trusted
Verwenden Sie gegebenenfalls den Parameter chain=<Kettendateiname> im Abschnitt [CAPKI] der INI-Datei, um auf den Speicherort des vorläufigen Zertifikats zu verweisen.
-
Die Zertifikat- und Schlüsseldateien für die ServiceManager-CLI müssen als zusätzliche Kommandozeilenparameter angegeben werden. Weitere Informationen finden Sie unter ServiceManager - Kommandozeilenprogramm (CLI).
Beispiel
In diesem Beispiel befinden sich die Zertifikats- und Schlüsseldateien im Verzeichnis .\bin-Verzeichnis des ServiceManagers - CLI.
ucybsmcl -c GET_PROCESS_LIST -h unixw2k01:8871 -n uc4p -certificate C:\Automic\Automation.Platform\ ServiceManagerDialog\bin\<Zertifikatdateiname>.pem -key C:\Automic\Automation.Platform\ ServiceManagerDialog\bin\<Schlüsseldateiname>.pem
Verwenden Sie den Kommandozeilenparameter -chain <Kettendateiname>, um auf den Speicherort des vorläufigen Zertifikats zu verweisen.
Wenn die Mandantenzertifizierung aktiviert ist und der Mandant kein Zertifikat besitzt oder die Zertifikatsvalidierung fehlschlägt, wird die Verbindung beendet. In diesem Fall schreibt der ServiceManager einen entsprechenden Log-Eintrag und gibt eine Fehlermeldung an den Mandanten zurück.