8.6. Sécurité
La génération de clés OpenSSH utilise des interfaces compatibles FIPS
La bibliothèque cryptographique OpenSSL, utilisée par OpenSSH, propose deux interfaces : l'ancienne et la nouvelle. Auparavant, OpenSSH utilisait l'ancienne interface pour la génération de clés, qui n'était pas conforme aux exigences de la Federal Information Processing Standards (FIPS). Avec cette mise à jour, l'utilitaire ssh-keygen
utilise l'API conforme aux normes FIPS au lieu de l'API de bas niveau incompatible avec les normes FIPS. Par conséquent, la génération de clés OpenSSH est conforme aux normes FIPS.
La cryptographie non approuvée par le FIPS ne fonctionne plus dans OpenSSL en mode FIPS
Auparavant, la cryptographie non approuvée par le FIPS fonctionnait dans la boîte à outils OpenSSL, quels que soient les paramètres du système. Par conséquent, vous pouviez utiliser des algorithmes cryptographiques qui devraient être désactivés lorsque le système fonctionne en mode FIPS, par exemple :
- Les suites de chiffrement TLS utilisant l'échange de clés RSA ont fonctionné.
- Les algorithmes de cryptage et de décryptage à clé publique basés sur la technologie RSA ont fonctionné malgré l'utilisation des blocs PKCS #1 et SSLv23 ou de clés d'une longueur inférieure à 2048 bits.
Cette mise à jour contient des corrections garantissant que la cryptographie non approuvée par FIPS ne fonctionne plus dans OpenSSL en mode FIPS.
La spécification de courbes arbitraires est supprimée d'OpenSSL
Auparavant, les vérifications de la sécurité des paramètres explicites des courbes étaient incomplètes. Par conséquent, des courbes elliptiques arbitraires avec des valeurs p
suffisamment grandes fonctionnaient dans RHEL. Avec cette mise à jour, les contrôles vérifient désormais que les paramètres explicites de la courbe correspondent à l'une des courbes bien connues prises en charge. Par conséquent, l'option permettant de spécifier des courbes arbitraires par l'utilisation de paramètres de courbe explicites a été supprimée d'OpenSSL. Les fichiers de paramètres, les clés privées, les clés publiques et les certificats qui spécifient des courbes explicites arbitraires ne fonctionnent plus dans OpenSSL. L'utilisation de paramètres de courbes explicites pour spécifier l'une des courbes bien connues et prises en charge telles que P-224, P-256, P-384, P-521 et secp256k1
reste prise en charge en mode non-FIPS.
(BZ#2066412)
OpenSSL req
utilise AES-256-CBC pour le cryptage des clés privées
Auparavant, l'outil OpenSSL req
chiffrait les fichiers de clés privées en utilisant l'algorithme 3DES. L'algorithme 3DES n'étant pas sûr et n'étant pas autorisé par la norme FIPS 140 actuelle pour les modules cryptographiques, req
génère désormais des fichiers de clés privées chiffrés à l'aide de l'algorithme AES-256-CBC. Le format général du fichier PKCS#8 reste inchangé.
OpenSSL n'échoue plus à se connecter lorsque FFDHE est utilisé
Auparavant, les connexions TLS qui utilisent le mécanisme d'échange de clés éphémères FFDHE (Diffie-Hellman à champ fini) échouaient parfois lors du traitement des partages de clés FFDHE provenant d'un client. Cela était dû à des vérifications trop restrictives dans OpenSSL. En conséquence, le serveur OpenSSL interrompait la connexion avec une alerte internal_error
. Avec cette mise à jour, OpenSSL accepte des parts de clés plus petites mais toujours conformes. Par conséquent, les connexions entre OpenSSL et d'autres implémentations ne sont plus interrompues de manière aléatoire lors de l'utilisation d'échanges de clés FFDHE.
Les applications basées sur OpenSSL fonctionnent désormais correctement avec les paramètres linguistiques turcs
La bibliothèque OpenSSL
utilisant des fonctions de comparaison de chaînes insensibles à la casse, les applications basées sur OpenSSL ne fonctionnaient pas correctement avec les paramètres linguistiques turcs, et les vérifications omises provoquaient le plantage des applications utilisant ces paramètres. Cette mise à jour fournit un correctif permettant d'utiliser les paramètres régionaux POSIX (Portable Operating System Interface) pour la comparaison de chaînes insensibles à la casse. Par conséquent, les applications basées sur OpenSSL telles que curl fonctionnent correctement avec les paramètres linguistiques turcs.
Permissions pour insights-client
ajoutées à la politique SELinux
Le nouveau service insights-client
nécessite des autorisations qui n'existaient pas dans les versions précédentes de selinux-policy
. En conséquence, certains composants de insights-client
ne fonctionnaient pas correctement et signalaient des messages d'erreur AVC (Access Vector Cache). Cette mise à jour ajoute de nouvelles autorisations à la politique SELinux. En conséquence, insights-client
fonctionne correctement sans signaler d'erreurs AVC.
(BZ#2081425, BZ#2077377, BZ#2087765, BZ#2107363)
Les utilisateurs de SELinux staff_u
ne peuvent plus basculer par erreur vers la fonction unconfined_r
Auparavant, lorsque le booléen secure_mode
était activé, les utilisateurs de staff_u
pouvaient passer au rôle unconfined_r
, ce qui n'était pas le comportement attendu. En conséquence, les utilisateurs de staff_u
pouvaient effectuer des opérations privilégiées affectant la sécurité du système. Avec cette mise à jour, la politique SELinux a été corrigée et les utilisateurs de staff_u
ne peuvent plus passer à tort à unconfined_r
.
OpenSCAP ne produit plus d'erreurs incorrectes lors de la vérification de la mémoire disponible
Auparavant, lors de l'évaluation de certaines règles XCCDF, OpenSCAP affichait de manière incorrecte le message d'erreur Failed to check available memory
et produisait des résultats d'analyse non valides. Par exemple, cela se produisait pour les règles accounts_user_dot_no_world_writable_programs
, accounts_user_dot_group_ownership
et accounts_users_home_files_permissions
. Avec cette mise à jour, le bogue dans la gestion des erreurs est corrigé et le message d'erreur n'apparaît que pour les échecs réels.
fagenrules --load
fonctionne désormais correctement
Auparavant, le service fapolicyd
ne gérait pas correctement le signal de raccrochage (SIGHUP). Par conséquent, fapolicyd
se terminait après avoir reçu le signal SIGHUP et la commande fagenrules --load
ne fonctionnait pas correctement. Cette mise à jour contient un correctif pour ce problème. Par conséquent, fagenrules --load
fonctionne désormais correctement et les mises à jour des règles ne nécessitent plus le redémarrage manuel de fapolicyd
.