Questa sezione fornisce indicazioni sull'attivazione della modalità FIPS su RHEL 8, garantendo un ambiente sicuro e conforme per Edge for Private Cloud versione 4.53.00 o successive.
Preinstallazione
Assicurati che FIPS sia abilitato sui nodi insieme agli altri prerequisiti di configurazione standard elencati nella documentazione Panoramica dell'installazione di Edge.
fips-mode-setup --check FIPS mode is enabled. # Command output
Se la modalità FIPS è attualmente disattivata, consulta la documentazione ufficiale di Red Hat per istruzioni su come attivarla: Switching RHEL 8 to FIPS mode.
Requisiti di Java
La versione di Java che utilizzi deve essere scaricata dal repository di Red Hat per garantire che i suoi moduli di sicurezza siano conformi allo standard FIPS, consentendo restrizioni specifiche per FIPS tramite la sicurezza Java.
Installazione
In Edge Configuration File Reference, imposta FIPS_OS=true su ogni nodo. Puoi seguire i passaggi di installazione generali per Edge for Private Cloud come di consueto.
Formato della chiave privata
Solo il formato PKCS12/PFX può essere utilizzato per caricare le chiavi private nei keystore Apigee da utilizzare nei proxy API o negli host virtuali. Per indicazioni sulla creazione del file, consulta Convertire i certificati nel formato supportato.
Operazioni TLS generali
Quando utilizzi Edge for Private Cloud 4.53.00 o versioni successive su RHEL 8.X o Rocky 8.X abilitato per FIPS, la maggior parte delle configurazioni dei componenti correlati a TLS di Edge dovrà essere eseguita tramite keystore in formato PKCS12 o BCFKS.
Per ulteriori dettagli, consulta la documentazione o le note specifiche per FIPS negli articoli pertinenti per la configurazione TLS. L'appendice elenca alcuni comandi utili che possono essere utilizzati per generare questi keystore.
Keystore/truststore Java predefinito
Quando Edge for Private Cloud 4.53.00 o versioni successive viene utilizzato su RHEL 8.X o Rocky 8.X abilitato per FIPS, il processore di messaggi, il server di gestione e altri componenti edge-* si basano su un truststore e un keystore predefiniti forniti con il prodotto.
Contengono i certificati CA considerati attendibili per impostazione predefinita dalla tua applicazione. Se vuoi utilizzare il tuo archivio contenente i certificati CA, segui la procedura riportata di seguito:
-
Crea un file
cacertsin formato BCFKS contenente tutti i certificati CA di cui vuoi fidarti. Assicurati che la password del keystore e la password della chiave siano le stesse. Per ulteriori dettagli, consulta l'appendice. -
Inserisci il file in un percorso appropriato e assicurati che sia leggibile dall'utente apigee:
cp my-cacerts.bcfks /opt/apigee/customer/application/my-cacerts.bcfks chown apigee:apigee /opt/apigee/customer/application/my-cacerts.bcfks
-
Crea (o modifica) il file di configurazione appropriato in base al componente con cui stai lavorando:
Componente File 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 -
Aggiungi le seguenti righe al file:
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
-
Assicurati che il file di configurazione sia di proprietà dell'utente apigee e che possa essere letto da quest'ultimo:
chown apigee:apigee $opt/apigee/customer/application/<file>.properties
-
Riavvia il componente:
/opt/apigee/apigee-service/bin/apigee-service <component> restart
Appendice
Comandi di esempio per l'operazione di keystore BCFKS
Il comando riportato di seguito genera un keystore BCFKS con una coppia di chiave e certificato autofirmati:
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
I comandi Keytool rimangono coerenti con quelli utilizzati in genere, ma le seguenti opzioni devono essere incluse nel comando Keytool:
--storetype BCFKS -providerpath /opt/apigee/edge-gateway/lib/thirdparty/bc-fips-1.0.2.4.jar -providerclass org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider -providername BCFIPS
Argomenti di Keytool
| Argomento Keytool | Descrizione |
|---|---|
-storetype |
Imposta il tipo di negozio su BCFKS. |
-providerpath |
Specifica il percorso di bc-fips-XXXX.jar. Questa versione potrebbe cambiare nelle versioni future di OPDK. Utilizza la versione fornita da Apigee o scaricala dai repository di Bouncycastle. Per OPDK 4.53, il percorso deve essere /opt/apigee/edge-gateway/lib/thirdparty/bc-fips-1.0.2.4.jar. |
-providerclass |
Imposta questo valore su org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider. |
-providername |
Imposta questo valore su BCFIPS. |
Comandi keytool simili possono essere utilizzati per importare o esportare certificati e/o chiavi da o verso un keystore in formato BCFKS. Per ulteriori informazioni su come utilizzare BCFKS, consulta la documentazione di BouncyCastle.
Archivio PKCS12
Per generare un archivio PKCS12, è possibile utilizzare i comandi openssl:
# 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
Se hai la tua chiave privata e il tuo certificato e devi convertirli in formato PKCS12, consulta Conversione dei certificati nel formato supportato.