Dieser Artikel enthält Details und Anleitungen für Edge for Private Cloud-Kunden, die Version 4.53.00 oder höher mit FIPS-fähigem RHEL 8.X verwenden.
Vorinstallieren
Achten Sie darauf, dass FIPS zusätzlich zu den anderen Standardkonfigurationsvoraussetzungen, die in der Edge for Private Cloud-Dokumentation aufgeführt sind, auf Ihren Knoten aktiviert ist.
fips-mode-setup --check FIPS mode is enabled.
Wenn der FIPS-Modus derzeit deaktiviert ist, finden Sie in der offiziellen Red Hat-Dokumentation eine Anleitung zum Aktivieren:
Java-Anforderungen
Die von Ihnen verwendete Java-Version sollte aus dem Red Hat-Repository heruntergeladen werden, damit die Sicherheitsmodule von Java FIPS-kompatibel sind und FIPS-spezifische Einschränkungen über die Java-Sicherheit implementieren können.
Installation
Legen Sie in der Konfigurationsdatei für die Installation im Silent-Modus auf jedem Knoten FIPS_OS=true
fest. Sie können wie gewohnt die allgemeinen Installationsschritte für Edge for Private Cloud ausführen.
Format für privaten Schlüssel
Nur das PKCS12/PFX-Format kann verwendet werden, um private Schlüssel in Apigee-Schlüsselspeicher für die Verwendung in Ihren API-Proxys oder virtuellen Hosts hochzuladen. Informationen zum Erstellen der Datei finden Sie unter Zertifikate in ein unterstütztes Format konvertieren.
Allgemeine TLS-Vorgänge
Wenn Sie Edge for Private Cloud 4.53.00 oder höher auf FIPS-fähigem RHEL 8.X verwenden, müssen die meisten TLS-bezogenen Komponentenkonfigurationen von Edge über Schlüsselspeicher im PKCS12- oder BCFKS-Format erfolgen. Weitere Informationen finden Sie in der FIPS-spezifischen Dokumentation oder in den Anmerkungen zu relevanten Artikeln zur TLS-Konfiguration. Im Anhang finden Sie einige hilfreiche Befehle, mit denen Sie diese Schlüsselspeicher generieren können.
Standard-Java-Keystore/-Truststore
Wenn Edge for Private Cloud 4.53.00 oder höher auf FIPS-fähigem RHEL 8.X ausgeführt wird, verwenden der Message Processor, der Management Server und andere edge-*-Komponenten einen Standard-Truststore und einen Standard-Keystore, die mit dem Produkt geliefert werden. Sie enthalten Zertifizierungsstellenzertifikate, die von Ihrer Anwendung standardmäßig als vertrauenswürdig eingestuft werden. Wenn Sie dies in Ihren eigenen Speicher mit CA-Zertifikaten ändern möchten, gehen Sie so vor:
- Erstellen Sie eine cacerts-Datei im BCFKS-Format, die alle CA-Zertifikate enthält, die Sie als vertrauenswürdig einstufen möchten. Das Passwort für den Schlüsselspeicher und das Passwort für den Schlüssel müssen identisch sein. Weitere Informationen finden Sie im Anhang.
-
Speichern Sie die Datei unter einem geeigneten Pfad und achten Sie darauf, dass sie für den apigee-Nutzer lesbar ist:
cp my-cacerts.bcfks /opt/apigee/customer/application/my-cacerts.bcfks chown apigee:apigee /opt/apigee/customer/application/my-cacerts.bcfks
-
Erstellen (oder bearbeiten) Sie die entsprechende Konfigurationsdatei für die Komponente, mit der Sie arbeiten:
Komponente Datei edge-management-server $/opt/apigee/customer/application/management-server.properties edge-message-processor $/opt/apigee/customer/application/message-processor.properties Edge-Router $/opt/apigee/customer/application/router.properties edge-postgres-server $/opt/apigee/customer/application/postgres-server.properties edge-qpid-server $/opt/apigee/customer/application/qpid-server.properties -
Fügen Sie der Datei die folgenden Zeilen hinzu:
conf_system_javax.net.ssl.trustStore=<PATH to bcfks cacerts> conf_system_javax.net.ssl.trustStorePassword=changeme conf_system_javax.net.ssl.keyStore=<PATH to bcfks cacerts> conf_system_javax.net.ssl.keyStoreType=BCFKS conf_system_javax.net.ssl.keyStorePassword=changeme
-
Achten Sie darauf, dass der apigee-Nutzer Inhaber der Konfigurationsdatei ist und sie lesen kann:
chown apigee:apigee $opt/apigee/customer/application/<file>.properties
-
Starten Sie die Komponente neu:
/opt/apigee/apigee-service/bin/apigee-service
restart
Anhang
Beispielbefehle für BCFKS-Schlüsselspeichervorgänge
Mit dem folgenden Befehl wird ein BCFKS-Schlüsselspeicher mit einem selbst signierten Schlüssel- und Zertifikatspaar generiert:
keytool -genkeypair -keyalg RSA -alias node0 -validity 365 -keystore keystore.node0 \ -storepass keypass -keypass keypass -v \ -dname "EMAILADDRESS=youremail@domain.com, CN=yourcn, OU=yourou, O=youro, L=yourl, C=yourc" \ -storetype BCFKS -providerpath /opt/apigee/edge-gateway/lib/thirdparty/bc-fips-1.0.2.4.jar \ -providerclass org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider -providername BCFIPS
Die Keytool-Befehle bleiben gleich, aber dem Keytool-Befehl müssen die folgenden Optionen hinzugefügt werden:
--storetype BCFKS -providerpath /opt/apigee/edge-gateway/lib/thirdparty/bc-fips-1.0.2.4.jar -providerclass org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider -providername BCFIPS
Keytool-Argumente
Keytool-Argument | Beschreibung |
---|---|
-storetype | Der Speichertyp ist BCFKS. |
-providerpath | Pfad zu bc-fips-XXXX.jar. Die Version dieses JAR-Objekts kann sich in zukünftigen OPDK-Versionen ändern. Es sollte die von Apigee bereitgestellte Version verwendet werden. Sie können die JAR-Datei auch aus den Repositories von Bouncycastle herunterladen. Seit der Veröffentlichung von OPDK 4.53 sollte dies /opt/apigee/edge-gateway/lib/thirdparty/bc-fips-1.0.2.4.jar sein. |
-providerclass | Muss auf „org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider“ festgelegt sein. |
-providername | Sollte auf BCFIPS festgelegt sein. |
Ähnliche keytool-Befehle können verwendet werden, um Zertifikate und/oder Schlüssel aus oder in einen Schlüsselspeicher im BCFKS-Format zu importieren oder zu exportieren. Weitere Informationen zur Arbeit mit BCFKS finden Sie in der BouncyCastle-Dokumentation.
PKCS12-Speicher
Zum Generieren eines PKCS12-Speichers können OpenSSL-Befehle verwendet werden:
# Generate a self-signed private key and certificate openssl req -x509 -newkey rsa:2048 -keyout private.key -out certificate.pem -sha256 -days 36500 -nodes -subj "/C=yourc/ST=yourst/L=yourl/O=youro/OU=yourou/CN=cn/emailAddress=email" # Package the above generated key and cert into a PKCS12 openssl pkcs12 -export -clcerts -in certificate.pem -inkey private.key -out keystore.pfx -name myalias
Wenn Sie einen eigenen privaten Schlüssel und ein eigenes Zertifikat haben und diese in einem PKCS12-Paket verpacken möchten, lesen Sie den Hilfeartikel Zertifikate in ein unterstütztes Format konvertieren.