10.14.3. Active la Cryptography FIPS 140-2 pour SSL dans Red Hat Enterprise Linux 6
Pré-requis
- Red Hat Enterprise Linux 6 doit déjà être configuré pour être configuré en conformité avec FIPS 140-2. Voir https://access.redhat.com/knowledge/solutions/137833.
Procédure 10.44. Voir Conformité Cryptographie FIPS 140-2 pour SSL
Créer la base de données
Créer la base de données NSS dans un répertoire qui appartienne à l'utilisateurjboss.mkdir -p /usr/share/jboss-as/nssdb chown jboss /usr/share/jboss-as/nssdb modutil -create -dbdir /usr/share/jboss-as/nssdb
$ mkdir -p /usr/share/jboss-as/nssdb $ chown jboss /usr/share/jboss-as/nssdb $ modutil -create -dbdir /usr/share/jboss-as/nssdbCopy to Clipboard Copied! Toggle word wrap Toggle overflow Créer un fichier de configuration NSS
Créer un nouveau fichier texte ayant comme nomnss_pkcsll_fips.cfgdans le répertoire/usr/share/jboss-asavec le contenu suivant :name = nss-fips nssLibraryDirectory=/usr/lib64 nssSecmodDirectory=/usr/share/jboss-as/nssdb nssModule = fips
name = nss-fips nssLibraryDirectory=/usr/lib64 nssSecmodDirectory=/usr/share/jboss-as/nssdb nssModule = fipsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Le fichier de configuration NSS doit spécifier :- un nom,
- le répertoire où se trouve la bibliothèque, et
- le répertoire où la base de données NSS a été créée selon l'étape 1.
Si vous n'êtes pas sur une version 64bit de Red Hat Enterprise Linux 6, alors définirnssLibraryDirectoryà/usr/libà la place de/usr/lib64.Activer le fournisseur SunPKCS11
Modifier le fichier de configurationjava.securityde votre JRE ($JAVA_HOME/jre/lib/security/java.security) et ajouter la ligne suivante :security.provider.1=sun.security.pkcs11.SunPKCS11 /usr/share/jboss-as/nss_pkcsll_fips.cfg
security.provider.1=sun.security.pkcs11.SunPKCS11 /usr/share/jboss-as/nss_pkcsll_fips.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow Notez que le fichier de configuration spécifié sur cette ligne est le fichier créé à l'étape 2.Toute autre lignesecurity.provider.Xde ce fichier devra posséder la valeur X +1 pour que la priorité soit donnée à ce fournisseur.Activer le mode FIPS pour la bibliothèque NSS
Exécutez la commandemodutilcomme indiqué pour activer le mode FIPS :modutil -fips true -dbdir /usr/share/jboss-as/nssdb
modutil -fips true -dbdir /usr/share/jboss-as/nssdbCopy to Clipboard Copied! Toggle word wrap Toggle overflow Notez que le répertoire indiqué ici est le répertoire créé à l'étape 1.Vous aurez sans doute une erreur de bibliothèque à ce niveau, ce qui vous oblige à régénérer les signatures de bibliothèques sur certains des objets NSS partagés.Modifier le mot de passe du token FIPS
Définir le mot de passe du token FIPS par la commande suivante. Notez que le nom du token doit correspondre àNSS FIPS 140-2 Certificate DB.modutil -changepw "NSS FIPS 140-2 Certificate DB" -dbdir /usr/share/jboss-as/nssdb
modutil -changepw "NSS FIPS 140-2 Certificate DB" -dbdir /usr/share/jboss-as/nssdbCopy to Clipboard Copied! Toggle word wrap Toggle overflow Le mot de passe utilisé pour le token FIPS doit être un mot de passe conforme FIPS.Créer le certificat grâce aux outils NSS
Saisir la commande suivante pour créer un certificat par les outils NSS.certutil -S -k rsa -n jbossweb -t "u,u,u" -x -s "CN=localhost, OU=MYOU, O=MYORG, L=MYCITY, ST=MYSTATE, C=MY" -d /usr/share/jboss-as/nssdb
certutil -S -k rsa -n jbossweb -t "u,u,u" -x -s "CN=localhost, OU=MYOU, O=MYORG, L=MYCITY, ST=MYSTATE, C=MY" -d /usr/share/jboss-as/nssdbCopy to Clipboard Copied! Toggle word wrap Toggle overflow Configurer le connecteur HTTPS pour utiliser le keystore PKCS11
Ajouter un connecteur HTTPS par la commande suivante dans JBoss CLI :/subsystem=web/connector=https/:add(socket-binding=https,scheme=https,protocol=HTTP/1.1,secure=true)
/subsystem=web/connector=https/:add(socket-binding=https,scheme=https,protocol=HTTP/1.1,secure=true)Copy to Clipboard Copied! Toggle word wrap Toggle overflow Puis, ajouter la configuration SSL par la commande suivante, en remplaçant PASSWORD par le mot de passe conforme FIPS de l'étape 5.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vérifier
Vérifier que la JVM puisse lire la clé privée du keystore PKCS11 en exécutant la commande suivante :keytool -list -storetype pkcs11
keytool -list -storetype pkcs11Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Exemple 10.36. Configuration XML du connecteur HTTPS avec conformité FIPS 140-2
cipher-suite a des sauts de ligne insérés pour faciliter la lecture.