CentOS Stream9の新機能、変更点についてメモ書きしています。RHEL9のオンラインマニュアルを参照して確認していますので、CentOS Stream9には当てはまらない点もあるかもしれませんが、大まかな概要は把握できるかと思っています。
※目次をクリックすると目次の下部にコンテンツが表示されます。
アーキテクチャー
1)カーネル
・カーネルバージョン:5.14
2)アーキテクチャー
・AMD/Intel 64 ビットアーキテクチャー (x86-64-v2)
・64 ビット ARM アーキテクチャー (ARMv8.0-A)
・IBM Power Systems (リトルエンディアン) (POWER9)
・64 ビット IBM Z (z14)
・カーネルバージョン:5.14
2)アーキテクチャー
・AMD/Intel 64 ビットアーキテクチャー (x86-64-v2)
・64 ビット ARM アーキテクチャー (ARMv8.0-A)
・IBM Power Systems (リトルエンディアン) (POWER9)
・64 ビット IBM Z (z14)
リポジトリ―
1)概要
〇RHELが配布されるメインリポジトリ―
・BaseOS、AppStreamの2つのメインリポジトリーで配布されている。
・基本的な RHEL インストールにはどちらのリポジトリーも必要で、すべての RHEL サブスクリプションで利用できる。
※サブスクリプション
・Red Hatから提供されるサポートをはじめとするさまざまなサービスを受ける権利。
・ソフトウェアの更新版、バグフィックス、セキュリティパッチ等
2)BaseOS リポジトリ
・すべてのインストールのベースとなる、基本的な OS 機能のコアセットを提供。
・RPM 形式で提供。
3)AppStream リポジトリー
・さまざまなワークロードとユースケースに対応するために、ユーザー空間アプリケーション、ランタイム言語、およびデータベースが同梱される。
・BaseOS リポジトリーよりも頻繁に更新される。
〇利用できる形式
・RPM 形式
・モジュールと呼ばれる RPM 形式の拡張
・ソフトウェアコレクション
・Flatpaks
〇RHELが配布されるメインリポジトリ―
・BaseOS、AppStreamの2つのメインリポジトリーで配布されている。
・基本的な RHEL インストールにはどちらのリポジトリーも必要で、すべての RHEL サブスクリプションで利用できる。
※サブスクリプション
・Red Hatから提供されるサポートをはじめとするさまざまなサービスを受ける権利。
・ソフトウェアの更新版、バグフィックス、セキュリティパッチ等
2)BaseOS リポジトリ
・すべてのインストールのベースとなる、基本的な OS 機能のコアセットを提供。
・RPM 形式で提供。
3)AppStream リポジトリー
・さまざまなワークロードとユースケースに対応するために、ユーザー空間アプリケーション、ランタイム言語、およびデータベースが同梱される。
・BaseOS リポジトリーよりも頻繁に更新される。
〇利用できる形式
・RPM 形式
・モジュールと呼ばれる RPM 形式の拡張
・ソフトウェアコレクション
・Flatpaks
ソフトウェア管理(RPM、dnf)
1)DNFによるソフトウェア管理
●互換性
・RHEL8 と RHEL9 はDNFをベースにしているが、RHEL7で使用していたYUMとの互換性がある。
・yumの代わりにdnfと入力しても、どちらも互換性のためのエイリアスなので、コマンドは期待通りに動作する。
2)RPM の主な機能および変更
●RPMのバージョン
・RHEL9には RPM バージョン 4.16 が同梱されている。
●主な変更、機能拡張
〇RPMデータベース
・現在 sqlite ライブラリーをベースとするようになった。
・BerkeleyDB データベースに対する読み取り専用のサポートは、移行および照会の目的で保持されている。
〇圧縮アルゴリズム
・デフォルトが Zstandard (zstd) に切り替わった。
●互換性
・RHEL8 と RHEL9 はDNFをベースにしているが、RHEL7で使用していたYUMとの互換性がある。
・yumの代わりにdnfと入力しても、どちらも互換性のためのエイリアスなので、コマンドは期待通りに動作する。
2)RPM の主な機能および変更
●RPMのバージョン
・RHEL9には RPM バージョン 4.16 が同梱されている。
●主な変更、機能拡張
〇RPMデータベース
・現在 sqlite ライブラリーをベースとするようになった。
・BerkeleyDB データベースに対する読み取り専用のサポートは、移行および照会の目的で保持されている。
〇圧縮アルゴリズム
・デフォルトが Zstandard (zstd) に切り替わった。
システム管理ツール、ミドルウェアサービス
(1)システム管理ツール
●クラッシュの検出、ログ記録
・RHEL9 では、アプリケーションのクラッシュを検出して報告する自動バグ報告ツール (ABRT) は使用できない。。
・systemd-coredumpツールを使用して、プログラムのクラッシュ後に自動的に生成されるファイルであるコアダンプをログに記録して保存する。
●バックアップツール
・dumpパッケージのdumpユーティリティーは、RHEL8では非推奨になり、RHEL9では使用できなくなった。
・dump パッケージのrestoreユーティリティーは、RHEL9で引き続き利用可能で、サポートされており、restoreパッケージとして利用できる。
・RHEL9 では ext2、ext3、ext4ファイルシステムのバックアップツールとしてtarまたはddを使用することを推奨している。
(2)ミドルウェアサービス
●Berkeley DB ダイナミックバックエンドへのサポートの削除
・Berkeley DB (libdb) ダイナミックバックエンドに対応しなくなった。
・named-sdb ビルドが提供されなくなりました。
・sqlite3 または mysql などのバックエンドごとに DLZ loadable plugins を使用できる。このようなプラグインはビルドまたは同梱されておらず、ソースからビルドする必要がある。
●Apache用のmod_phpモジュールが削除
・mod_php モジュールは、RHEL9では使用できなくなった。
・RHEL8以降、PHPスクリプトはデフォルトで FastCGI Process Manager (php-fpm)を使用して実行される。
●クラッシュの検出、ログ記録
・RHEL9 では、アプリケーションのクラッシュを検出して報告する自動バグ報告ツール (ABRT) は使用できない。。
・systemd-coredumpツールを使用して、プログラムのクラッシュ後に自動的に生成されるファイルであるコアダンプをログに記録して保存する。
●バックアップツール
・dumpパッケージのdumpユーティリティーは、RHEL8では非推奨になり、RHEL9では使用できなくなった。
・dump パッケージのrestoreユーティリティーは、RHEL9で引き続き利用可能で、サポートされており、restoreパッケージとして利用できる。
・RHEL9 では ext2、ext3、ext4ファイルシステムのバックアップツールとしてtarまたはddを使用することを推奨している。
(2)ミドルウェアサービス
●Berkeley DB ダイナミックバックエンドへのサポートの削除
・Berkeley DB (libdb) ダイナミックバックエンドに対応しなくなった。
・named-sdb ビルドが提供されなくなりました。
・sqlite3 または mysql などのバックエンドごとに DLZ loadable plugins を使用できる。このようなプラグインはビルドまたは同梱されておらず、ソースからビルドする必要がある。
●Apache用のmod_phpモジュールが削除
・mod_php モジュールは、RHEL9では使用できなくなった。
・RHEL8以降、PHPスクリプトはデフォルトで FastCGI Process Manager (php-fpm)を使用して実行される。
セキュリティ
(1)暗号化
1)SHA-1 の非推奨の継続
・RHEL9では、署名のSHA-1の使用は、DEFAULTシステム全体の暗号化ポリシーで制限されている。
・HMACを除いて、SHA-1は TLS、DTLS、SSH、IKEv2、DNSSEC、およびKerberosプロトコルでは許可されなくなった。
・RHELシステム全体の暗号ポリシーにより制御されていない個々のアプリケーションも、RHEL9でSHA-1 ハッシュを使用することから離れている。
2)すべてのポリシーレベルで無効になっているアルゴリズム
RHEL 9 で提供される LEGACY、DEFAULT、および FUTURE の暗号化ポリシーでは、以下のアルゴリズムが無効になっている。
・バージョン 1.2 より古い TLS (RHEL 9 以降、以前では RHEL 8 の 1.0 未満)
・バージョン 1.2 より古い DTLS (RHEL 9 以降、RHEL 8 では 1.0 未満)
・パラメーターが 2048 ビット未満の DH (RHEL 9 以降、RHEL 8 では 1024 ビット未満)
・鍵サイズ (2048 ビット 未満) の RSA (RHEL 9 以降、RHEL 8 では 1024 ビット未満)
・DSA (RHEL 9 以降、RHEL 8 では 1024 ビット未満)
・3DES (RHEL 9 以降)
・RC4 (RHEL 9 以降)
・FFDHE-1024 (RHEL 9 以降)
・DHE-DSS (RHEL 9 以降)
・Camellia (RHEL 9 以降)
・ARIA
・SEED
・IDEA
・完全性のみの暗号スイート
・SHA-384 HMAC を使用した TLS CBC モード暗号化スイート
・AES-CCM8
・TLS 1.3 と互換性がないすべての ECC 曲線 (secp256k1 を含む)
・IKEv1 (RHEL 8 以降)
・BIND 設定の NSEC3DSA (RHEL 9.2 以降)
3)TLS の変更
・RHEL9では、TLS設定はシステム全体の暗号化ポリシーメカニズムを使用して実行され、1.2未満のTLSバージョンはサポートされなくなった。
・DEFAULT、FUTURE、および LEGACY の暗号化ポリシーでは、TLS 1.2 および 1.3 のみが許可される。
4)SCPはRHEL9ではサポート対象外
・SCPは、セキュリティーで保護することが難しいため、サポートされなくなった。
・RHEL9では、SCPはデフォルトでSSH File Transfer Protocol (SFTP)に置き換わる。
5)OpenSSH
〇rootパスワードのログインはデフォルトで無効化
・ユーザーがパスワードを使用して root としてログインすることを禁止し、攻撃者がパスワードに対するブルートフォース攻撃によってアクセスすることを防ぐ。
〇SHA-2をさらに強制
・SSH秘密キーの変換では、RSAキーのテストに明示的にSHA-2を使用。
・SHA-1アルゴリズムがクライアント側で使用できない場合、OpenSSHはSHA-2を使用する。
(2)SELinux
●/etc/selinux/config による SELinux の無効化に対応しなくなる
・/etc/selinux/config ファイルの SELINUX=disabled オプションを使用した SELinux の無効化に対応する機能がカーネルから削除された。
・SELinux を無効にする必要がある場合は、selinux=0 パラメーターをカーネルコマンドラインに追加する。
1)SHA-1 の非推奨の継続
・RHEL9では、署名のSHA-1の使用は、DEFAULTシステム全体の暗号化ポリシーで制限されている。
・HMACを除いて、SHA-1は TLS、DTLS、SSH、IKEv2、DNSSEC、およびKerberosプロトコルでは許可されなくなった。
・RHELシステム全体の暗号ポリシーにより制御されていない個々のアプリケーションも、RHEL9でSHA-1 ハッシュを使用することから離れている。
2)すべてのポリシーレベルで無効になっているアルゴリズム
RHEL 9 で提供される LEGACY、DEFAULT、および FUTURE の暗号化ポリシーでは、以下のアルゴリズムが無効になっている。
・バージョン 1.2 より古い TLS (RHEL 9 以降、以前では RHEL 8 の 1.0 未満)
・バージョン 1.2 より古い DTLS (RHEL 9 以降、RHEL 8 では 1.0 未満)
・パラメーターが 2048 ビット未満の DH (RHEL 9 以降、RHEL 8 では 1024 ビット未満)
・鍵サイズ (2048 ビット 未満) の RSA (RHEL 9 以降、RHEL 8 では 1024 ビット未満)
・DSA (RHEL 9 以降、RHEL 8 では 1024 ビット未満)
・3DES (RHEL 9 以降)
・RC4 (RHEL 9 以降)
・FFDHE-1024 (RHEL 9 以降)
・DHE-DSS (RHEL 9 以降)
・Camellia (RHEL 9 以降)
・ARIA
・SEED
・IDEA
・完全性のみの暗号スイート
・SHA-384 HMAC を使用した TLS CBC モード暗号化スイート
・AES-CCM8
・TLS 1.3 と互換性がないすべての ECC 曲線 (secp256k1 を含む)
・IKEv1 (RHEL 8 以降)
・BIND 設定の NSEC3DSA (RHEL 9.2 以降)
3)TLS の変更
・RHEL9では、TLS設定はシステム全体の暗号化ポリシーメカニズムを使用して実行され、1.2未満のTLSバージョンはサポートされなくなった。
・DEFAULT、FUTURE、および LEGACY の暗号化ポリシーでは、TLS 1.2 および 1.3 のみが許可される。
4)SCPはRHEL9ではサポート対象外
・SCPは、セキュリティーで保護することが難しいため、サポートされなくなった。
・RHEL9では、SCPはデフォルトでSSH File Transfer Protocol (SFTP)に置き換わる。
5)OpenSSH
〇rootパスワードのログインはデフォルトで無効化
・ユーザーがパスワードを使用して root としてログインすることを禁止し、攻撃者がパスワードに対するブルートフォース攻撃によってアクセスすることを防ぐ。
〇SHA-2をさらに強制
・SSH秘密キーの変換では、RSAキーのテストに明示的にSHA-2を使用。
・SHA-1アルゴリズムがクライアント側で使用できない場合、OpenSSHはSHA-2を使用する。
(2)SELinux
●/etc/selinux/config による SELinux の無効化に対応しなくなる
・/etc/selinux/config ファイルの SELINUX=disabled オプションを使用した SELinux の無効化に対応する機能がカーネルから削除された。
・SELinux を無効にする必要がある場合は、selinux=0 パラメーターをカーネルコマンドラインに追加する。
ネットワーク
1)NetworkManager
●新しいネットワーク設定を鍵ファイル形式で保存
〇以前
・ifcfg形式で /etc/sysconfig/network-scripts/ に保存。
〇RHEL9
・鍵ファイル形式で /etc/NetworkManager/system-connections/ に保存
・以前の形式で設定が保存される /etc/sysconfig/network-scripts/ に保存されている接続は引き続き中断しないようにする。既存のプロファイルに変更を加えると、そのまま以前のファイルが更新される。
2)ファイアウォール
●ipsetパッケージ、iptables-nftパッケージが非推奨
・iptables-nft には、iptable、ip6tables、ebtables、arptables などのさまざまなツールが同梱されているが、このようなツールには新しい機能がなくなり、新しいデプロイメントに使用することは推奨されない。
・代わりに、nftable パッケージが提供する nft コマンドラインツールを使用することが推奨される。既存の設定は、できる限り nft に移行する必要がある。
3)削除された機能
●network-scriptsパッケージが含まれていない
・RHEL8で非推奨のレガシーネットワークスクリプトが提供されるnetwork-scriptsパッケージが含まれていない。
・RHEL9でネットワーク接続を設定する場合は、NetworkManagerを使用する。
●新しいネットワーク設定を鍵ファイル形式で保存
〇以前
・ifcfg形式で /etc/sysconfig/network-scripts/ に保存。
〇RHEL9
・鍵ファイル形式で /etc/NetworkManager/system-connections/ に保存
・以前の形式で設定が保存される /etc/sysconfig/network-scripts/ に保存されている接続は引き続き中断しないようにする。既存のプロファイルに変更を加えると、そのまま以前のファイルが更新される。
2)ファイアウォール
●ipsetパッケージ、iptables-nftパッケージが非推奨
・iptables-nft には、iptable、ip6tables、ebtables、arptables などのさまざまなツールが同梱されているが、このようなツールには新しい機能がなくなり、新しいデプロイメントに使用することは推奨されない。
・代わりに、nftable パッケージが提供する nft コマンドラインツールを使用することが推奨される。既存の設定は、できる限り nft に移行する必要がある。
3)削除された機能
●network-scriptsパッケージが含まれていない
・RHEL8で非推奨のレガシーネットワークスクリプトが提供されるnetwork-scriptsパッケージが含まれていない。
・RHEL9でネットワーク接続を設定する場合は、NetworkManagerを使用する。