Cette section fournit des conseils pour activer le mode FIPS sur RHEL 8, afin de garantir un environnement sécurisé et conforme pour les versions 4.53.00 ou ultérieures d'Edge pour le cloud privé.
Pré-installation
Assurez-vous que le mode FIPS est activé sur vos nœuds, ainsi que les autres prérequis de configuration standards listés dans la documentation Présentation de l'installation d'Edge.
fips-mode-setup --check FIPS mode is enabled. # Command output
Si le mode FIPS est actuellement désactivé, consultez la documentation officielle de Red Hat pour savoir comment l'activer: Passer RHEL 8 en mode FIPS.
Exigences pour Java
Vous devez télécharger le Java que vous utilisez à partir du dépôt de Red Hat pour vous assurer que ses modules de sécurité sont conformes aux normes FIPS, ce qui permet d'activer des restrictions spécifiques aux normes FIPS via la sécurité Java.
Installation
Dans la référence du fichier de configuration Edge, définissez FIPS_OS=true
sur chaque nœud. Vous pouvez suivre la procédure d'installation générale d'Edge pour le cloud privé comme d'habitude.
Format de la clé privée
Seul le format PKCS12/PFX peut être utilisé pour importer des clés privées dans les keystores Apigee à utiliser dans vos proxys d'API ou hôtes virtuels. Pour savoir comment créer le fichier, consultez Convertir des certificats au format compatible.
Opérations TLS générales
Lorsque vous utilisez Edge for Private Cloud 4.53.00 ou version ultérieure sur RHEL 8.X compatible avec FIPS, la plupart des configurations de composants TLS d'Edge doivent être effectuées via des keystores au format PKCS12 ou BCFKS.
Pour en savoir plus, consultez la documentation ou les notes spécifiques à FIPS dans les articles pertinents sur la configuration TLS. L'annexe liste certaines commandes utiles qui peuvent être utilisées pour générer ces keystores.
Keystore/Truststore Java par défaut
Lorsque Edge for Private Cloud 4.53.00 ou une version ultérieure est utilisé sur RHEL 8.X compatible avec FIPS, votre processeur de messages, votre serveur de gestion et d'autres composants edge-* s'appuient sur un truststore et un keystore par défaut fournis avec le produit.
Ils contiennent les certificats d'autorité de certification approuvés par défaut par votre application. Si vous souhaitez utiliser votre propre magasin contenant des certificats d'autorité de certification, suivez la procédure ci-dessous:
-
Créez un fichier
cacerts
au format BCFKS contenant tous les certificats d'autorité de certification que vous souhaitez approuver. Assurez-vous que le mot de passe du keystore et le mot de passe de la clé sont identiques. Pour en savoir plus, consultez l'annexe. -
Placez le fichier dans un chemin d'accès approprié et assurez-vous qu'il est lisible par l'utilisateur apigee:
cp my-cacerts.bcfks /opt/apigee/customer/application/my-cacerts.bcfks chown apigee:apigee /opt/apigee/customer/application/my-cacerts.bcfks
-
Créez (ou modifiez) le fichier de configuration approprié en fonction du composant avec lequel vous travaillez:
Composant Fichier 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 -
Ajoutez les lignes suivantes au fichier :
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
-
Assurez-vous que le fichier de configuration appartient à l'utilisateur apigee et qu'il est lisible par celui-ci:
chown apigee:apigee $opt/apigee/customer/application/<file>.properties
-
Redémarrez le composant:
/opt/apigee/apigee-service/bin/apigee-service <component> restart
Annexe
Exemples de commandes d'opération du keystore BCFKS
La commande ci-dessous génère un keystore BCFKS avec une paire de clé et de certificat autosignés:
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
Les commandes Keytool restent cohérentes avec celles généralement utilisées, mais les options suivantes doivent être incluses dans la commande 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
Arguments Keytool
Argument Keytool | Description |
---|---|
-storetype |
Définissez le type de magasin sur BCFKS . |
-providerpath |
Spécifiez le chemin d'accès à bc-fips-XXXX.jar . Cette version peut changer dans les prochaines versions de l'OPDK. Utilisez la version fournie par Apigee ou téléchargez-la à partir des dépôts de Bouncycastle. Pour OPDK 4.53, le chemin d'accès doit être /opt/apigee/edge-gateway/lib/thirdparty/bc-fips-1.0.2.4.jar . |
-providerclass |
Définissez cette valeur sur org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider . |
-providername |
Définissez cette valeur sur BCFIPS . |
Des commandes keytool similaires peuvent être utilisées pour importer ou exporter des certificats et/ou des clés à partir ou vers un keystore au format BCFKS. Pour en savoir plus sur l'utilisation de BCFKS, consultez la documentation BouncyCastle.
Magasin PKCS12
Pour générer un magasin PKCS12, vous pouvez utiliser des commandes 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
Si vous disposez de votre propre clé privée et de votre propre certificat et que vous devez les convertir au format PKCS12, consultez Convertir des certificats au format compatible.