Chapitre 1. Vue d'ensemble
1.1. Principaux changements dans RHEL 9.0
Sécurité
L'utilisation du condensé de message SHA-1 à des fins cryptographiques a été supprimée dans RHEL 9. Le condensé produit par SHA-1 n'est pas considéré comme sûr en raison des nombreuses attaques réussies documentées basées sur la recherche de collisions de hachage. Les composants cryptographiques de base de RHEL ne créent plus de signatures à l'aide de SHA-1 par défaut. Les applications de RHEL 9 ont été mises à jour pour éviter d'utiliser SHA-1 dans les cas d'utilisation liés à la sécurité.
Parmi les exceptions, le code d'authentification des messages HMAC-SHA1 et les valeurs UUID (Universal Unique Identifier) peuvent encore être créés à l'aide de SHA-1, car ces cas d'utilisation ne présentent actuellement aucun risque pour la sécurité. SHA-1 peut également être utilisé dans des cas limités liés à d'importants problèmes d'interopérabilité et de compatibilité, tels que Kerberos et WPA-2. Pour plus de détails, consultez la section Liste des applications RHEL utilisant une cryptographie non conforme à la norme FIPS 140-3.
Pour résoudre les problèmes de compatibilité avec les systèmes qui requièrent encore SHA-1, voir les articles KCS suivants :
OpenSSL est désormais disponible dans la version 3.0.1, qui ajoute un concept de fournisseur, un nouveau schéma de version, un client HTTP(S) amélioré, la prise en charge de nouveaux protocoles, formats et algorithmes, ainsi que de nombreuses autres améliorations.
Le site cryptographic policies a été ajusté pour fournir des valeurs par défaut actualisées et sécurisées.
OpenSSH est distribué dans la version 8.7p1, qui apporte de nombreuses améliorations, des corrections de bogues et des améliorations de sécurité par rapport à la version 8.0p1, qui est distribuée dans RHEL 8.5.
Le protocole SFTP remplace le protocole SCP/RCP précédemment utilisé dans OpenSSH. SFTP offre une gestion plus prévisible des noms de fichiers et ne nécessite pas l'expansion des motifs glob(3)
par l'interpréteur de commandes du côté distant.
SELinux les performances de SELinux ont été considérablement améliorées, notamment en ce qui concerne le temps de chargement de la politique SELinux dans le noyau, la surcharge de mémoire et d'autres paramètres. Pour plus d'informations, voir l'article du blog Improving the performance and space efficiency of SELinux.
RHEL 9 fournit le cadre fapolicyd
dans la version 1.1 en amont. Entre autres améliorations, vous pouvez désormais utiliser les nouveaux répertoires rules.d/
et trust.d/
, le script fagenrules
et de nouvelles options pour la commande fapolicyd-cli
.
Les paquets du guide de sécurité SCAP (SSG) sont fournis dans la version 0.1.60, qui introduit l'adaptation delta, la mise à jour des profils de sécurité et d'autres améliorations.
Voir Section 4.7, « Sécurité » pour plus d'informations.
L'utilisation de SHA-1 pour les signatures est restreinte dans la politique cryptographique DEFAULT. À l'exception de HMAC, SHA-1 n'est plus autorisé dans les protocoles TLS, DTLS, SSH, IKEv2, DNSSEC et Kerberos.
Si votre scénario nécessite l'utilisation de SHA-1 pour la vérification des signatures cryptographiques existantes ou de tiers, vous pouvez l'activer en entrant la commande suivante :
# update-crypto-policies --set DEFAULT:SHA1
Vous pouvez également basculer les stratégies cryptographiques du système vers la stratégie LEGACY
. Notez que LEGACY
active également de nombreux autres algorithmes qui ne sont pas sécurisés.
Cyrus SASL utilise désormais GDBM au lieu de Berkeley DB, et les bibliothèques Network Security Services (NSS) ne prennent plus en charge le format de fichier DBM pour la base de données de confiance.
La prise en charge de la désactivation de SELinux par l'option SELINUX=disabled
du fichier /etc/selinux/config
a été supprimée du noyau. Lorsque vous désactivez SELinux uniquement via /etc/selinux/config
, le système démarre avec SELinux activé mais sans politique chargée. Si votre scénario nécessite la désactivation de SELinux, ajoutez le paramètre selinux=0
à votre ligne de commande du noyau.
Voir la section Sécurité du document Considerations in adopting RHEL 9 pour plus d'informations sur les différences majeures liées à la sécurité entre RHEL 9 et RHEL 8.
Mise en réseau
Vous pouvez utiliser le nouveau démon MultiPath TCP (mptcpd) pour configurer les points d'extrémité MultiPath TCP (MPTCP) sans utiliser l'utilitaire iproute2
. Pour rendre les sous-flux MPTCP et les points d'extrémité persistants, utilisez un script de distribution NetworkManager.
Par défaut, NetworkManager utilise désormais les fichiers clés pour stocker les nouveaux profils de connexion. Notez que le format ifcfg
est toujours pris en charge.
Pour plus d'informations sur les fonctionnalités introduites dans cette version et les modifications apportées aux fonctionnalités existantes, voir la section Nouvelles fonctionnalités - Mise en réseau.
La technologie WireGuard VPN est maintenant disponible en tant qu'aperçu technologique non supporté. Pour plus de détails, voir Aperçus technologiques - Réseau.
Le service teamd
et la bibliothèque libteam
sont obsolètes. En remplacement, configurez un lien au lieu d'une équipe réseau.
Les paquets iptables-nft
et ipset
sont obsolètes. Ces paquets comprennent des utilitaires, tels que iptables
, ip6tables
, ebtables
et arptables
. Utilisez le cadre nftables
pour configurer les règles de pare-feu.
Pour plus d'informations sur les fonctionnalités obsolètes, voir Fonctionnalité obsolète - Mise en réseau.
Le paquet network-scripts
a été supprimé. Utilisez NetworkManager pour configurer les connexions réseau. Pour plus d'informations sur les fonctionnalités qui ne font plus partie de RHEL, voir la section Networking dans le document Considerations in adopting RHEL 9.
Langages de programmation dynamiques, serveurs web et de base de données
RHEL 9.0 propose les langages de programmation dynamique suivants :
- Node.js 16
- Perl 5.32
- PHP 8.0
- Python 3.9
- Ruby 3.0
RHEL 9.0 inclut les systèmes de contrôle de version suivants :
- Git 2.31
- Subversion 1.14
Les serveurs web suivants sont distribués avec RHEL 9.0 :
- Apache HTTP Server 2.4.51
- nginx 1.20
Les serveurs proxy de mise en cache suivants sont disponibles :
- Varnish Cache 6.6
- Squid 5.2
RHEL 9.0 propose les serveurs de base de données suivants :
- MariaDB 10.5
- MySQL 8.0
- PostgreSQL 13
- Redis 6.2
Voir Section 4.13, « Langages de programmation dynamiques, serveurs web et de base de données » pour plus d'informations.
Compilateurs et outils de développement
Chaîne d'outils du système
Les composants suivants de la chaîne d'outils système sont disponibles avec RHEL 9.0 :
- GCC 11.2.1
- glibc 2.34
- binutils 2.35.2
Les composants de la chaîne d'outils système RHEL 9 incluent la prise en charge de POWER10.
Outils de performance et débogueurs
Les outils de performance et les débogueurs suivants sont disponibles avec RHEL 9.0 :
- GDB 10.2
- Valgrind 3.18.1
- SystemTap 4.6
- Dyninst 11.0.0
- elfutils 0.186
Outils de contrôle des performances
Les outils de surveillance des performances suivants sont disponibles avec RHEL 9.0 :
- PCP 5.3.5
- Grafana 7.5.11
Outils de compilation
Les compilateurs suivants sont disponibles avec RHEL 9.0 :
- LLVM Toolset 13.0.1
- Rust Toolset 1.58.1
- Go Toolset 1.17.7
Pour plus de détails sur les changements, voir Section 4.14, « Compilateurs et outils de développement ».
Implémentations Java dans RHEL 9
Le référentiel RHEL 9 AppStream comprend :
-
Les paquets
java-17-openjdk
, qui fournissent l'environnement d'exécution Java OpenJDK 17 et le kit de développement logiciel Java OpenJDK 17. -
Les paquets
java-11-openjdk
, qui fournissent l'environnement d'exécution Java OpenJDK 11 et le kit de développement logiciel Java OpenJDK 11. -
Les paquets
java-1.8.0-openjdk
, qui fournissent l'environnement d'exécution Java OpenJDK 8 et le kit de développement logiciel Java OpenJDK 8.
Pour plus d'informations, voir la documentation OpenJDK.
Outils Java
Les outils Java suivants sont disponibles avec RHEL 9.0 :
- Maven 3.6
- Ant 1.10
Voir Section 4.14, « Compilateurs et outils de développement » pour plus d'informations.
Bureau
L'environnement GNOME a été mis à jour de GNOME 3.28 à GNOME 40 avec de nombreuses nouvelles fonctionnalités.
Le serveur d'affichage X.org est obsolète et sera supprimé dans une prochaine version majeure de RHEL. La session de bureau par défaut est désormais la session Wayland dans la plupart des cas.
Lors de l'utilisation des pilotes NVIDIA, la session de bureau sélectionne désormais le protocole d'affichage Wayland par défaut, si la configuration du pilote prend en charge Wayland. Dans les versions précédentes de RHEL, les pilotes NVIDIA désactivaient toujours Wayland.
Le service PipeWire gère désormais toutes les entrées et sorties audio. PipeWire remplace le service PulseAudio dans les cas d'utilisation générale et le service JACK dans les cas d'utilisation professionnelle.
Voir Section 4.16, « Bureau » pour plus d'informations.
Virtualisation
Dans RHEL 9, la bibliothèque libvirt
utilise des démons modulaires qui gèrent des ensembles de pilotes de virtualisation individuels sur votre hôte. Cela permet d'affiner une variété de tâches impliquant des pilotes de virtualisation, telles que l'optimisation de la charge des ressources et la surveillance.
L'émulateur QEMU est désormais construit à l'aide du compilateur Clang. Cela permet à l'hyperviseur KVM de RHEL 9 d'utiliser un certain nombre de fonctions de sécurité et de débogage avancées. L'une de ces fonctionnalités est SafeStack, qui rend les machines virtuelles (VM) hébergées sur RHEL 9 nettement plus sûres contre les attaques basées sur la programmation orientée retour (Return-Oriented Programming, ROP).
En outre, le module de plate-forme virtuelle de confiance (vTPM) est désormais entièrement pris en charge. Grâce à vTPM, vous pouvez ajouter un crypto-processeur virtuel TPM à une VM, qui peut alors être utilisé pour générer, stocker et gérer des clés cryptographiques.
Enfin, la fonction virtiofs
a été mise en œuvre. Elle permet de partager plus efficacement des fichiers entre un hôte RHEL 9 et ses machines virtuelles.
Pour plus d'informations sur les fonctionnalités de virtualisation introduites dans cette version, voir Section 4.20, « Virtualisation ».