Questa sezione fornisce indicazioni su come attivare la modalità FIPS su RHEL 8, garantendo un ambiente sicuro e conforme per Edge for Private Cloud 4.53.00 o versioni 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: Passaggio alla modalità FIPS in RHEL 8.
Requisiti Java
Java deve essere scaricato dal repository di Red Hat per garantire che i relativi moduli di sicurezza siano conformi a FIPS, attivando le restrizioni specifiche di FIPS tramite la sicurezza Java.
Installazione
Nel File di riferimento per la configurazione di Edge, imposta FIPS_OS=true
su ogni nodo. Puoi seguire i passaggi di installazione generali per Edge for Private Cloud come di consueto.
Formato chiave privata
Solo il formato PKCS12/PFX può essere utilizzato per caricare le chiavi private nei keystore di Apigee per utilizzarle nei proxy API o negli host virtuali. Per indicazioni sulla creazione del file, consulta Convertire i certificati in formato supportato.
Operazioni TLS generali
Quando utilizzi Edge for Private Cloud 4.53.00 o versioni successive su RHEL 8.X abilitato per FIPS, la maggior parte delle configurazioni dei componenti di Edge relative a TLS dovrà essere eseguita tramite i keystore in formato PKCS12 o BCFKS.
Per ulteriori dettagli, consulta la documentazione o le note specifiche per FIPS negli articoli pertinenti per la configurazione di TLS. L'appendice elenca alcuni comandi utili che possono essere utilizzati per generare questi file di chiavi.
Keystore/truststore Java predefinito
Quando Edge for Private Cloud 4.53.00 o versioni successive viene utilizzato su RHEL 8.X abilitato a FIPS, l'elaborazione dei messaggi, il server di gestione e altri componenti edge-* si basano su un truststore e un keystore predefiniti forniti con il prodotto.
Questi contengono i certificati CA considerati attendibili per impostazione predefinita dalla tua applicazione. Se vuoi utilizzare il tuo repository contenente i certificati CA, segui la procedura riportata di seguito:
-
Crea un file
cacerts
in formato BCFKS contenente tutti i certificati CA che vuoi considerare attendibili. Assicurati che la password del keystore e la password della chiave siano uguali. Per ulteriori dettagli, consulta l'appendice. -
Posiziona 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à e leggibile dall'utente apigee:
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 le operazioni del keystore BCFKS
Il comando seguente genera un keystore BCFKS con una coppia di chiavi e certificati 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 invariati rispetto a quelli in genere utilizzati, 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 release 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, puoi 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 una chiave privata e un certificato e devi convertirli in formato PKCS12, consulta la sezione Convertire i certificati in formato supportato.