Menu Close
Settings Close

Language and Page Formatting Options

第1章 概要

1.1. RHEL 9.0 における主な変更点

セキュリティー

暗号化を目的とした SHA-1 メッセージダイジェストの使用は、RHEL 9 では非推奨になりました。SHA-1 によって生成されたダイジェストは、ハッシュ衝突の検出に基づく多くの攻撃の成功例が記録化されているため、安全であるとは見なされません。RHEL コア暗号コンポーネントは、デフォルトで SHA-1 を使用して署名を作成しなくなりました。RHEL 9 のアプリケーションが更新され、セキュリティー関連のユースケースで SHA-1 が使用されないようになりました。

例外の中でも、HMAC-SHA1 メッセージ認証コードと Universal Unique Identifier (UUID) 値は、SHA-1 を使用して作成できます。これは、これらのユースケースが現在セキュリティーリスクをもたらさないためです。SHA-1 は、Kerberos や WPA-2 など、相互運用性および互換性に関する重要な懸念事項に関連する限られたケースでも使用できます。詳細は、FIPS140-3 に準拠していない暗号化を使用する RHEL アプリケーションのリスト セクションを参照してください。

まだ SHA-1 を必要とするシステムとの互換性の問題の解決策については、次の KCS の記事を参照してください。

OpenSSLが、バージョン 3.0.1 で提供されるようになりました。このバージョンでは、プロバイダーのコンセプト、新しいバージョニングスキーム、改良された HTTP(S) クライアント、新しいプロトコル、フォーマット、アルゴリズムのサポートが追加されている他、その他多くの改良が加えられています。

システム全体の暗号化ポリシーが、最新のセキュアデフォルトを提供するように調整されました。

OpenSSHがバージョン 8.7p1 で配布されており、RHEL 8.5 で配布されているバージョン 8.0p1 と比較して、多くの機能強化、バグ修正、およびセキュリティーの向上が図られています。

SFTP プロトコルは、OpenSSH で以前に使用されていた SCP/RCP プロトコルを置き換えます。SFTP は、より予測可能なファイル名の処理を提供するため、リモート側のシェルで glob(3) パターンを拡張する必要はありません。

SELinuxのパフォーマンスは、SELinux ポリシーをカーネルにロードする時間、メモリーオーバーヘッド、その他のパラメーターを含め、大幅に改善されました。詳細は、SELinux のパフォーマンスと領域の効率を向上させる ブログ投稿を参照してください。

RHEL 9 は、アップストリームバージョン 1.1 で fapolicyed フレームワークを提供します。その他の改善点の中でも、新しい rules.d/ および trust.d/ ディレクトリー、fagenrules スクリプト、および fapolicyd-cli コマンドの新しいオプションを使用できるようになりました。

SCAP セキュリティーガイド (SSG) パッケージはバージョン 0.1.60 で提供されており、デルタ調整、更新されたセキュリティープロファイル、およびその他の改善が導入されています。

詳細は、「セキュリティー」 を参照してください。

署名に SHA-1 を使用することは、DEFAULT 暗号化ポリシーで制限されています。HMAC を除いて、SHA-1 は TLS、DTLS、SSH、IKEv2、DNSSEC、および Kerberos プロトコルでは許可されなくなりました。

シナリオで既存またはサードパーティーの暗号署名を検証するために SHA-1 を使用する必要がある場合は、次のコマンドを入力して有効にできます。

# update-crypto-policies --set DEFAULT:SHA1

または、システム全体の暗号化ポリシーを LEGACY ポリシーに切り替えることもできます。LEGACY は、安全ではない他の多くのアルゴリズムも有効にすることに注意してください。

Cyrus SASL が Berkeley DB ではなく GDBM を使用するようになり、NSS (Network Security Services) ライブラリーが、信頼データベースの DBM ファイル形式に対応しなくなりました。

/etc/selinux/config ファイルの SELINUX=disabled オプションを使用した SELinux の無効化に対応する機能がカーネルから削除されました。/etc/selinux/config でのみ SELinux を無効にすると、システムは SELinux が有効化されますが、ポリシーが読み込まれずに開始します。SELinux を無効にする必要がある場合は、selinux=0 パラメーターをカーネルコマンドラインに追加します。

RHEL 9 と RHEL 8 のセキュリティーに関する主な違いについては、Considerations in adopting RHEL 9 ドキュメントのSecurityの項を参照してください。

ネットワーキング

新しい MultiPath TCP デーモン (mptcpd) を使用して、iproute2 ユーティリティーを使用せずに、MultiPath TCP (MPTCP) エンドポイントを設定できます。MPTCP サブフローおよびエンドポイントを永続化するには、NetworkManager の dispatcher スクリプトを使用します。

デフォルトで、NetworkManager は鍵ファイルを使用して新しい接続プロファイルを保存するようになりました。ifcfg 形式には依然として対応していることに注意してください。

このリリースで導入された機能と既存の機能の変更の詳細については、新機能 - ネットワーキング を参照してください。

WireGuard VPN テクノロジーが、サポートされていないテクノロジープレビューとして利用できるようになりました。詳細は、テクノロジープレビュー - ネットワーキング を参照してください。

teamd サービスおよび libteam ライブラリーが非推奨になりました。代替として、ネットワークチームの代わりにボンドを設定します。

iptables-nft および ipset が非推奨になりました。このようなパッケージには、iptableip6tablesebtablesarptables などのユーティリティーが含まれます。nftable フレームワークを使用して、ファイアウォールルールを設定します。

非推奨の機能の詳細については、非推奨の機能 - ネットワーキング を参照してください。

network-scripts が削除されました。NetworkManager を使用して、ネットワーク接続を設定します。RHEL の唯一の部分ではない機能の詳細については、RHEL 9 ドキュメントの採用に関する考慮事項ネットワーキング セクションを参照してください。

動的プログラミング言語、Web サーバー、およびデータベースサーバー

RHEL 9.0 では、以下の動的プログラミング言語が提供されます。

  • Node.js 16
  • Perl 5.32
  • PHP 8.0
  • Python 3.9
  • Ruby 3.0

RHEL 9.0 には、以下のバージョン制御システムが同梱されています。

  • Git 2.31
  • subversion 1.14

以下の Web サーバーには、RHEL 9.0 が同梱されています。

  • Apache HTTP サーバー 2.4.51
  • nginx 1.20

以下のプロキシーキャッシュサーバーを使用できます。

  • Varnish Cache 6.6
  • Squid 5.2

RHEL 9.0 は、以下のデータベースサーバーを提供します。

  • MariaDB 10.5
  • MySQL 8.0
  • PostgreSQL 13
  • Redis 6.2

詳細は、「動的プログラミング言語、Web サーバー、およびデータベースサーバー」 を参照してください。

コンパイラーおよび開発ツール

システムツールチェーン

RHEL 9.0 では、以下のシステムツールチェインコンポーネントを利用できます。

  • GCC 11.2.1
  • glibc 2.34
  • binutils 2.35.2

RHEL 9 システムツールチェーンコンポーネントには、POWER10 のサポートが含まれています。

パフォーマンスツールおよびデバッガー

RHEL 9.0 では、以下のパフォーマンスツールおよびデバッガーが利用できます。

  • GDB 10.2
  • Valgrind 3.18.1
  • SystemTap 4.6
  • Dyninst 11.0.0
  • elfutils 0.186
パフォーマンス監視ツール

RHEL 9.0 では、以下のパフォーマンス監視ツールが利用できます。

  • PCP 5.3.5
  • Grafana 7.5.11
コンパイラーツールセット

RHEL 9.0 では、以下のコンパイラーツールセットを使用できます。

  • LLVM Toolset 13.0.1
  • Rust Toolset 1.58.1
  • Go Toolset 1.17.7

詳細な変更は、「コンパイラーおよび開発ツール」 を参照してください。

RHEL 9 の Java 実装

RHEL 9 AppStream リポジトリーには、以下が含まれます。

  • java-17-openjdk パッケージ。OpenJDK 17 Java Runtime Environment および OpenJDK 17 Java Software Development Kit を提供します。
  • java-11-openjdk パッケージ。OpenJDK 11 Java Runtime Environment および OpenJDK 11 Java Software Development Kit を提供します。
  • java-1.8.0-openjdk パッケージ。OpenJDK 8 Java Runtime Environment および OpenJDK 8 Java Software Development Kit を提供します。

詳細は、OpenJDK のドキュメント を参照してください。

Java ツール

RHEL 9.0 では、以下の Java ツールが利用できます。

  • Maven 3.6
  • Ant 1.10

詳細は、「コンパイラーおよび開発ツール」 を参照してください。

デスクトップ

GNOME 環境は、GNOME 3.28 から GNOME 40 に更新され、多くの新機能が追加されました。

X.org ディスプレイサーバーは非推奨になり、今後の RHEL のメジャーリリースで削除される予定です。ほとんどの場合、デフォルトのデスクトップセッションは Wayland セッションになりました。

NVIDIA ドライバーを使用する場合は、ドライバー設定が Wayland に対応していると、デスクトップセッションはデフォルトで Wayland ディスプレイプロトコルを選択するようになりました。以前の RHEL リリースでは、NVIDIA ドライバーが常に Wayland を無効にしていました。

PipeWireサービスは、すべてのオーディオ出力と入力を管理するようになりました。PipeWire は、一般的な使用例では PulseAudioサービスを、専門的な使用例では JACK サービスを置き換えます。

詳細は、「デスクトップ」 を参照してください。

仮想化

RHEL 9 では、libvirt ライブラリーは、ホスト上の個々の仮想化ドライバーセットを処理するモジュラーデーモンを使用します。これにより、リソース負荷の最適化や監視など、仮想化ドライバーに関連するさまざまなタスクをきめ細かくすることができます。

QEMU エミュレーターが、Clang コンパイラーを使用して構築されるようになりました。これにより、RHEL 9 KVM ハイパーバイザーで、多くの高度なセキュリティー機能およびデバッグ機能を使用できるようになります。この機能の 1 つが SafeStack です。これにより、RHEL 9 でホストされている仮想マシンが、ROP (Return-Oriented Programming) に基づく攻撃に対して大幅にセキュアになります。

さらに、Virtual Trusted Platform Module (vTPM) が完全にサポートされるようになりました。vTPM を使用すると、TPM 仮想暗号化プロセッサーを VM に追加できます。これは、暗号化キーの生成、保存、および管理に使用できます。

最後に、virtiofs 機能を実装し、RHEL 9 ホストと仮想マシン間でファイルをより効率的に共有するために使用できます。

このリリースで導入された仮想化機能の詳細については、「仮想化」を参照してください。