In diesem Abschnitt erfahren Sie, wie Sie den FIPS-Modus unter RHEL 8 aktivieren, um eine sichere und konforme Umgebung für Edge for Private Cloud-Versionen 4.53.00 oder höher zu schaffen.
Vorinstallieren
Achten Sie darauf, dass FIPS auf Ihren Knoten zusammen mit den anderen Standardkonfigurationsvoraussetzungen aktiviert ist, die in der Dokumentation Edge-Installation – Übersicht aufgeführt sind.
fips-mode-setup --check FIPS mode is enabled. # Command output
Wenn der FIPS-Modus derzeit deaktiviert ist, finden Sie in der offiziellen Red Hat-Dokumentation eine Anleitung zum Aktivieren: RHEL 8 in den FIPS-Modus umstellen.
Java-Anforderungen
Die von Ihnen verwendete Java-Version sollte aus dem Red Hat-Repository heruntergeladen werden, damit die Sicherheitsmodule FIPS-konform sind und FIPS-spezifische Einschränkungen über die Java-Sicherheit aktiviert werden können.
Installation
Legen Sie in der Edge-Konfigurationsdatei-Referenz für jeden 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. Eine Anleitung 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 in den entsprechenden 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 verwendet wird, nutzen der Nachrichtenprozessor, der Verwaltungsserver und andere edge-*-Komponenten den mitgelieferten Standard-Truststore und -Keystore.
Sie enthalten Zertifizierungsstellenzertifikate, die Ihrer Anwendung standardmäßig vertrauen. Wenn Sie Ihren eigenen Speicher mit CA-Zertifikaten verwenden 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 an 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 <component> 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 unverändert, aber die folgenden Optionen müssen im Keytool-Befehl enthalten sein:
--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 |
Legen Sie den Geschäftstyp auf BCFKS fest. |
-providerpath |
Geben Sie den Pfad zu bc-fips-XXXX.jar an. Diese Version kann sich in zukünftigen OPDK-Releases ändern. Verwenden Sie die von Apigee bereitgestellte Version oder laden Sie sie aus den Bouncycastle-Repositories herunter. Für OPDK 4.53 sollte der Pfad /opt/apigee/edge-gateway/lib/thirdparty/bc-fips-1.0.2.4.jar lauten. |
-providerclass |
Legen Sie für dieses Feld org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider fest. |
-providername |
Legen Sie für dieses Feld BCFIPS fest. |
Ä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 das PKCS12-Format konvertieren müssen, lesen Sie den Hilfeartikel Zertifikate in ein unterstütztes Format konvertieren.