5.5. 既知の問題

このパートでは Red Hat Enterprise Linux 8 の既知の問題を説明します。

5.5.1. Web コンソール

session_recording シェルで RHEL Web コンソールにログインできない

現在、tlog の録画を有効にしていると、RHEL Web コンソールのログインに失敗します。RHEL Web コンソールにログインする場合は、/etc/shells ディレクトリーにユーザーのシェルが存在している必要があります。ただし、tlog-rec-session/etc/shells に追加する場合は、「chsh」ユーティリティーを使用して、tlog-rec-session のシェルを、/etc/shells の別のシェルに変更することで、録画を無効にできます。Red Hat は、この理由により、tlog-rec-session/etc/shells に追加することは推奨していません。

(BZ#1631905)

5.5.2. インストーラーおよびイメージの作成

キックスタートコマンドの auth および authconfig で AppStream リポジトリーが必要になる

インストール中に、キックスタートコマンドの auth および authconfigauthselect-compat パッケージが必要になります。auth または authconfig を使用したときに、このパッケージがないとインストールに失敗します。ただし、設計上、 authselect-compat パッケージは AppStream リポジトリーでしか利用できません。

この問題を回避するには、BaseOS リポジトリーおよび AppStream リポジトリーがインストーラーで利用できることを確認するか、インストール中にキックスタートコマンドの authselect コマンドを使用します。

(BZ#1640697)

ビデオドライバー xorg-x11-drv-fbdevxorg-x11-drv-vesa、および xorg-x11-drv-vmware がデフォルトではインストールされない

NVIDIA グラフィックスカードの特定のモデルが搭載されたワークステーションと、特定の AMD アクセラレート処理ユニットが搭載されたワークステーションでは、RHEL 8.0 Server のインストール後にグラフィカルログインウィンドウが表示されません。

この問題を回避するには、ワークステーションマシンで RHEL 8.0 Workstation のインストールを実行します。ワークステーションで RHEL 8.0 Server のインストールが必要な場合は、yum -y groupinstall base-x コマンドを実行して、インストール後に base-x パッケージグループを手動でインストールします。

さらに、Hyper-V などのグラフィックに EFI を使用する仮想マシンも影響を受けます。Hyper-V で Server with GUI ベース環境を選択すると、システムの再起動時にブラックスクリーンが表示され、ログインできない場合があります。Hyper-v でこの問題を回避するには、以下の手順に従ってマルチユーザーモードまたはシングルユーザーモードを有効にします。

  1. 仮想マシンを起動します。
  2. システムの起動プロセス中に、キーボードの上矢印キーおよび下矢印キーを使用して必要なカーネルを選択します。
  3. キーボードの e キーを押して、カーネルコマンドラインを編集します。
  4. systemd.unit=multi-user.target を、GRUB のカーネルコマンドラインに追加します。
  5. Ctrl-X を押して、仮想マシンを起動します。
  6. ログインしたら、yum -y groupinstall base-x コマンドを実行します。
  7. 仮想マシンを再起動してグラフィカルモードにアクセスします。

(BZ#1687489)

reboot --kexec コマンドを使用するとインストールが失敗する

reboot --kexec コマンドを含むキックスタートファイルを使用すると、RHEL 8 のインストールに失敗します。この問題を回避するには、キックスタートファイルで reboot --kexec の代わりに reboot コマンドを使用します。

(BZ#1672405)

Binary DVD.iso ファイルの内容をパーティションにコピーしても、.treeinfo ファイルおよび .discinfo ファイルがコピーされない

ローカルインストールで、RHEL 8 Binary DVD.iso イメージファイルの内容をパーティションにコピーする際に、cp <path>/\* <mounted partition>/dir コマンドの * で、.treeinfo ファイルおよび .discinfo ファイルがコピーされません。インストールを成功させるには、このファイルが必要です。これにより、BaseOS リポジトリーおよび AppStream のリポジトリーが読み込まれず、anaconda.log ファイルのデバッグ関連のログメッセージでしか問題を確認できません。

この問題を回避するには、不足している .treeinfo ファイルおよび .discinfo ファイルをパーティションにコピーします。

(BZ#1692746)

Anaconda インストールに、最小リソース設定要件の低い制限が含まれる

Anaconda は最小限のリソース設定を必要とするシステムでインストールを開始し、インストールを成功させるのに必要なリソースに関する以前のメッセージ警告を提供しません。その結果、インストールが失敗し、出力エラーでデバッグや復元の可能性を明確に示すメッセージが提供されない場合があります。この問題を回避するには、システムに、インストールに必要な最小リソース設定 (PPC64 (LE) の場合は 2GB メモリー、x86_64 の場合は 1GB) があることを確認します。これにより、インストールを成功できます。

(BZ#1696609)

reboot --kexec コマンドおよび inst.kexec コマンドが、予測可能なシステム状態を提供しない

キックスタートコマンド reboot --kexec またはカーネル起動パラメーター inst.kexec で RHEL インストールを実行しても、システムの状態が完全な再起動と同じになるわけではありません。これにより、システムを再起動せずにインストール済みのシステムに切り替えると、予期しない結果が発生することがあります。

kexec 機能は非推奨になり、Red Hat Enterprise Linux の今後のリリースで削除されることに注意してください。

(BZ#1697896)

5.5.3. カーネル

i40iw モジュールがシステムの起動時に自動的に読み込まれない

多くの i40e NIC で iWarp に対応しておらず、i40iw モジュールがサスペンド/レジュームに完全に対応していないため、このモジュールがデフォルトで自動的に読み込まれず、サスペンド/レジューム正しく機能させることができません。この問題を回避するには、/lib/udev/rules.d/90-rdma-hw-modules.rules ファイルを手動で編集して、i40iw の自動読み込みを有効にします。

また、同じマシンにある i40e デバイスに、別の RDMA デバイスがインストールされている場合に、i40e 以外の RDMA デバイスで、i40iw モジュールを含む、有効なすべての RDMA スタックモジュールを読み込む rdma サービスが起動します。

(BZ#1623712)

システムにデバイスが多数接続されていると、システムが応答しなくなることがある

Red Hat Enterprise Linux 8 に多数のデバイスを設定すると、システムコンソールにコンソールメッセージが多数表示されます。たとえば、論理ユニット番号 (LUN) が多数あり、その各 LUN へのパスが複数あると、このような状況が発生します。カーネルが行っている他の作業に加えて、コンソールメッセージがあふれるとカーネルがハングするため、カーネルのウォッチドッグによりカーネルパニック発生する場合があります。

スキャンはブートサイクルの早い段階で行われるため、接続されているデバイスが多くなるとシステムが応答しなくなります。これは通常、起動時に発生します。

システム起動後のデバイススキャンイベント中に、マシンで kdump が有効になっていると、ハードロックアップにより vmcore イメージがキャプチャーされます。

この問題を回避するには、ウォッチドッグロックアップタイマーを増やします。これを行うには、カーネルのコマンドラインに watchdog_thresh=N オプションを追加します。N を、次の秒数に置き換えます。

  • デバイスが 1000 台未満の場合は、30 を使用してください。
  • デバイスが 1000 台以上の場合は、60 を使用してください。

ストレージの場合、デバイスの数はすべての LUN へのパスの数です。通常、これは /dev/sd* デバイスの数です。

回避策を適用した後、大量のデバイスを構成してもシステムが応答しなくなることはなくなりました。

(BZ#1598448)

KSM が、NUMA メモリーポリシーを無視することがある

merge_across_nodes=1 パラメーターで、カーネル共有メモリー (KSM) 機能を有効にすると、KSM は、mbind() 関数が設定したメモリーポリシーを無視し、一部のメモリーから、ポリシーに一致しない NUMA (Non-Uniform Memory Access) ノードにページをマージできない場合があります。

この問題を回避するには、KSM を無効にするか、QEMU で NUMA メモリーバインディングを使用する場合は merge_across_nodes パラメーターを 0 に設定します。これにより、KVM 仮想マシンに設定した NUMA メモリーポリシーが期待どおりに機能します。

(BZ#1153521)

qede ドライバーが NIC をハングし、その NIC を使用できなくなるようにする

バグにより、QLogic シリーズの 41000 および 45000 の NIC 用の qede ドライバーで、ファームウェアアップグレードおよびデバッグのデータ収集操作に失敗し、ホストの再起動 (PCI リセット) が NIC を再操作するまで NIC が使用できなくなるか、ハング状態になる可能性があります。

この問題は、以下のすべてのシナリオで検出されました。

  • inbox ドライバーを使用して NIC のファームウェアをアップグレードした場合
  • ethtool -d ethx コマンドを実行してデバッグデータを収集した場合
  • ethtool -d ethx を追加して sosreport コマンドを実行した場合
  • inbox ドライバーが、IO タイムアウト、Mail Box Command のタイムアウト、Hardware Attention などの自動デバッグデータ収集を開始した場合

Red Hat の今後のエラータは、この問題に対処するために Red Hat Bug Advisory (RHBA) 経由でリリースされます。この問題を回避するには、RHBA がリリースされるまで、https://access.redhat.com/support で、この問題に対するサポート対象の修正を要求するケースを作成します。

(BZ#1697310)

radix ツリーシンボルが kernel-abi-whitelists に追加

Red Hat Enterprise Linux 8 の kernel-abi-whitelists パッケージに、以下の radix ツリーシンボルが追加されました。

  • __radix_tree_insert
  • __radix_tree_next_slot
  • radix_tree_delete
  • radix_tree_gang_lookup
  • radix_tree_gang_lookup_tag
  • radix_tree_next_chunk
  • radix_tree_preload
  • radix_tree_tag_set

上記のシンボルは本来存在しなければならないものではなく、RHEL8 ホワイトリストから削除されます。

(BZ#1695142)

podman が、RHEL 8 でコンテナーのチェックポイントに失敗する

Red Hat Enterprise Linux 8 では、CRIU (Checkpoint and Restore In Userspace) パッケージのバージョンが廃止されました。したがって、CRIU は、コンテナーのチェックポイントおよび復元機能に対応しておらず、podman ユーティリティーが、チェックポイントコンテナーに失敗します。podman container checkpoint コマンドを実行すると、エラーメッセージ checkpointing a container requires at least CRIU 31100 が表示されます。

(BZ#1689746)

dracut.confadd_dracutmodules+=earlykdump オプションを使用すると、early-kdump および標準の kdump が失敗する

現在、early-kdump 用にインストールするカーネルバージョンと、initramfs 用に生成されるカーネルバージョンの間で不整合が発生します。これにより、early-kdump を有効にしてシステムを起動すると、early-kdump が失敗します。また、early-kdump が標準の kdump initramfs イメージに含まれていることを検出すると、強制的に終了します。また、early-kdump を、デフォルトの dracut モジュールとして追加すると、kdump initramfs を再構築しようとする際に、標準の kdump サービスが失敗します。これにより、early-kdump と標準の kdump の両方が失敗します。この問題を回避するには、dracut.conf ファイルに add_dracutmodules+=earlykdump または同等の設定を追加しないでください。これにより、デフォルトで early-kdumpdracut に含まれていないため、問題が発生しなくなります。ただし、early-kdump が必要な場合は、手動で作成する必要があります。

(BZ#1662911)

RHEL 8 で、デバッグカーネルがクラッシュキャプチャー環境で起動に失敗する

デバッグカーネルのメモリー要求の性質により、デバッグカーネルが使用中で、カーネルパニックが発生すると、問題が発生します。その結果、デバッグカーネルはキャプチャーカーネルとして起動できず、代わりにスタックトレースが生成されます。この問題を回避するには、クラッシュカーネルメモリーを適宜増やします。これにより、デバッグカーネルが、クラッシュキャプチャー環境で正常に起動します。

(BZ#1659609)

5.5.4. ソフトウェア管理

root 以外のユーザーで yum list を実行すると、YUM がクラッシュする

libdnf パッケージを更新してから、root 以外のユーザーで yum list コマンドを実行すると、YUM が突然終了することがあります。このバグが発生した場合は、問題を解決するために root で yum list を実行してください。これにより、root 以外のユーザーで yum list を実行しようとしても、YUM クラッシュが発生しなくなります。

(BZ#1642458)

YUM v4 が、デフォルトで利用できないリポジトリーをスキップ

YUM v4 では、すべてのリポジトリーで「skip_if_unavailable=True」設定がデフォルトに設定されます。そのため、必要なリポジトリーが利用できない場合、リポジトリーのパッケージはインストール、検索、または更新の操作で考慮されません。その後、一部の yum コマンドおよび yum ベースのスクリプトは、利用できないリポジトリーが存在する場合でも、終了コード 0 で成功します。

現在、libdnf パッケージを更新する以外に回避策はありません。

(BZ#1679509)

5.5.5. インフラストラクチャーサービス

nslookup ユーティリティーおよび host ユーティリティーが、再帰を利用できないネームサーバーからの返信を無視する

他のネームサーバーが設定されていて、ネームサーバーで再帰が使用できない場合は、nslookup ユーティリティーおよび host ユーティリティーが、そのネームサーバーが最後に設定されているものでない限り、このようなネームサーバーからの返信を無視します。前回設定したネームサーバーでは、recursion available フラグがなくても応答が許可されます。ただし、最後に設定したネームサーバーが応答しない場合や到達できない場合は、名前解決に失敗します。

この問題を回避するには、以下のコマンドを実行します。

  • 設定したネームサーバーが、recursion available フラグが設定されている状態で常に応答することを確認します。
  • すべての内部クライアントに再帰を許可します。

この問題のトラブルシューティングには、dig ユーティリティーを使用して、再帰が利用可能かどうかを検出することもできます。

(BZ#1599459)

5.5.6. シェルおよびコマンドラインツール

net-snmp パッケージの Python バインディングが利用できない

Net-SNMP ツールスイートは、RHEL 8 のデフォルトの Python の実装である Python 3 にバインディングを提供しません。これにより、python-net-snmp パッケージ、python2-net-snmp パッケージ、または python3-net-snmp パッケージが RHEL 8 では使用できません。

(BZ#1584510)

デバッグモードの systemd が不要なログメッセージを生成する

デバッグモードの systemd システムおよびサービスマネージャーは、以下で始まる不要なログメッセージを生成します。

"Failed to add rule for system call ..."

以下を実行してメッセージを一覧表示します。

journalctl -b _PID=1

これらのデバッグメッセージは無害で、無視しても問題はありません。

現在利用できる回避策はありません。

(BZ#1658691)

KEYBD トラップを使用したksh がマルチバイト文字を誤って処理

Korn Shell (KSH) は、KEYBD トラップが有効な場合にマルチバイト文字を正しく処理できません。したがって、たとえばユーザーが日本語の文字を入力すると、ksh には間違った文字列が表示されます。この問題を回避するには、以下の行をコメントアウトして、/etc/kshrc ファイルの KEYBD トラップを無効にします。

trap keybd_trap KEYBD

詳細は、ナレッジベースソリューション 「ksh displays multibyte characters incorrectly when 'KEYBD trap' is enabled in profile file」を参照してください。

(BZ#1503922)

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

データベースサーバーを並行してインストールできない

RPM パッケージが競合しているため、RHEL 8.0 では、mariadb モジュールと mysql モジュールを同時にインストールすることができません。

設計上、同じモジュールの複数のバージョン (ストリーム) を並行してインストールすることはできません。たとえば、postgresql モジュールから利用可能なストリーム ( 10 (デフォルト) または 9.6 ) の中から 1 つ選択する必要があります。RHEL 6 および RHEL 7 用の Red Hat Software Collections では、コンポーネントの並列インストールが可能です。RHEL 8 では、コンテナー内で異なるバージョンのデータベースサーバーを使用できます。

(BZ#1566048)

mod_cgid ロギングの問題

mod_cgid Apache httpd モジュールを、スレッド化マルチプロセッシングモジュール (MPM) で使用する場合 (RHEL 8 のデフォルト) は、以下のロギング問題が発生します。

  • CGI スクリプトの stderr 出力には、標準のタイムスタンプ情報が付いていません。
  • VirtualHost に特有のログファイルに CGI スクリプトの stderr 出力が設定されていても、正しくリダイレクトされません。

(BZ#1633224)

Perl モジュール IO::Socket::SSL で TLS 1.3 に対応しない

セッション再開、ハンドシェイク後認証などの TLS 1.3 プロトコルの新機能は、RHEL 8 の OpenSSL ライブラリーに実装されますが、Perl モジュール Net::SSLeay には実装されないため、IO::Socket::SSL Perl モジュールでは利用できません。クライアント証明書の認証が失敗し、TLS 1.2 プロトコルを使用した場合よりもセッションの再確立が遅くなる可能性があります。

この問題を回避するには、IO::Socket::SSL オブジェクトを作成する場合に、SSL_version オプションを !TLSv1_3 値に設定して、TLS 1.3 を無効にします。

(BZ#1632600)

生成された Scala のドキュメントが読み込めない

scaladoc コマンドを使用してドキュメントを生成すると、JavaScript リソースが見つからないため、生成される HTML ページが使用できなくなります。

(BZ#1641744)

5.5.8. デスクトップ

qxl が Wayland ベースの仮想マシンで動作しない

qxl ドライバーは、特定のハイパーバイザーでカーネルモード設定機能を提供できません。したがって、Wayland プロトコルに基づくグラフィックは、qxl を使用する仮想マシンでは利用できず、Wayland ベースのログイン画面は起動しません。

この問題を回避するには、以下のいずれかを使用します。

  • QXL (QuarkXpress Element Library) グラフィックをベースとした仮想マシンで、Wayland の GNOME Shell の代わりに Xorg ディスプレイサーバー。

または

  • 仮想マシンの qxl ドライバーではなく virtio ドライバー。

(BZ#1641763)

systemctl isolate multi-user.target の実行時にコンソールプロンプトが表示されない

GNOME デスクトップセッションで、GNOME ターミナルから systemctl isolate multi-user.target コマンドを実行すると、コンソールプロンプトではなくカーソルのみが表示されます。この問題を回避するには、Ctrl+Alt+F2 キーを押します。これにより、コンソールプロンプトが表示されます。

動作は、Wayland の GNOME Shell および X.Org ディスプレイサーバーの両方に適用されます。

(BZ#1678627)

5.5.9. グラフィックインフラストラクチャー

X.Org で実行しているデスクトップの画面解像度を下げるとハングする

X.Org ディスプレイサーバーで GNOME デスクトップを使用する場合は、画面の解像度を低い値に変更するとデスクトップが応答しなくなります。この問題を回避するには、画面の解像度を 800 × 600 ピクセルより小さい値に設定しないでください。

(BZ#1655413)

radeon がハードウェアを正しくリセットできない

現在、radeon カーネルドライバーは、kexec コンテキストでハードウェアを正しくリセットしません。代わりに radeon がフェイルオーバーします。これにより、kdump サービスの残りの部分が失敗します。

この問題を回避するには、/etc/kdump.conf ファイルに以下の行を追加して、kdumpradeon をブラックリストに指定します。

dracut_args --omit-drivers "radeon"
force_rebuild 1

マシンと kdump を再起動します。kdumpの起動後、設定ファイルから force_rebuild 1 行が削除される可能性があります。

このシナリオでは、kdump 中にグラフィックは利用できませんが、kdump は正常に動作します。

(BZ#1694705)

5.5.10. ハードウェアの有効化

ARP リンクモニターの使用時にバックアップスレーブ MII ステータスが機能しない

デフォルトでは、i40e ドライバーにより管理されるデバイスはソースプルーニングを実行し、受信フィルターのいずれかに一致するソースの Media Access Control (MAC) アドレスを持つパケットを破棄します。これにより、チャンネルボンディングでアドレス解決プロトコル (ARP) の監視を使用する場合に、バックアップスレーブの媒体独立インタフェース (MII) 状態が機能しません。この問題を回避するには、以下のコマンドでソースのプルーニングを無効にします。

# ethtool --set-priv-flags <ethX> disable-source-pruning on

これにより、バックアップスレーブの MII のステータスが期待どおりに機能します。

(BZ#1645433)

HP NMI ウォッチドッグがクラッシュダンプを生成しない場合がある

HP NMI ウォッチドッグの hpwdt ドライバーは、マスク不可割り込み (NMI) が perfmon ドライバーにより使用されたため、HPE ウォッチドッグタイマーが生成した NMI を要求できない場合があります。

したがって、hpwdt は、クラッシュダンプを生成するためにパニックを呼び出さない場合があります。

(BZ#1602962)

5.5.11. ID 管理

KCM 認証情報キャッシュは、1 つの認証情報キャッシュ内で多数の認証情報を行うには適していない

Kerberos Credential Manager (KCM) で処理できる ccache サイズは、最大 64 kB となります。sssd-kcm コンポーネントと、基本的なデータベースとの間でデータを転送するのに使用するバッファーにハードコード化された制限があるため、含まれる認証情報が多くなりすぎると、kinit などの Kerberos 操作が失敗します。

この問題を回避するには、/etc/sssd/sssd.conf ファイルの kcm セクションに ccache_storage = memory オプションを追加します。これにより、kcm レスポンダーが、永続的ではなく、認証情報キャッシュをメモリー内に格納するようになります。これを行った場合は、システムを再起動するか、sssd-kcm で認証情報キャッシュを消去します。

(BZ#1448094)

/etc/nsswitch.conf を変更するには、手動によるシステムの再起動が必要

authselect select profile_id コマンドの実行など、/etc/nsswitch.conf ファイルを変更した場合は、関連するすべてのプロセスで、更新バージョンの /etc/nsswitch.conf ファイルが使用されるように、システムを再起動する必要があります。システムを再起動できない場合は、システムを Active Directory (System Security Services Daemon (SSSD) または winbind) に追加するサービスを再起動します。

(BZ#1657295)

タイムアウト値が競合しているため、SSSD がサーバーに接続できない

System Security Services Daemon (SSSD) が使用するフェイルオーバー操作に関連するデフォルトのタイムアウト値の一部が競合しています。これにより、全体のタイムアウトとなる接続操作になる前に、SSSD が 1 台のサーバーと通信するために予約されているタイムアウト値により、SSSD がその他のサーバーを試行しなくなります。この問題を回避するために、ldap_opt_timeout タイムアウトパラメーターの値を dns_resolver_timeout パラメーターの値より高く設定し、dns_resolver_timeout パラメーターの値を dns_resolver_op_timeout パラメーターの値よりも高く設定します。

(BZ#1382750)

SSSD は、ID オーバーライドで一意の証明書のみを検索できる

複数の ID オーバーライドに同じ証明書が含まれる場合、SSSD (System Security Services Daemon) は証明書に一致するユーザーのクエリーを解決できません。これらのユーザーを検索しようとしても、ユーザーは返されません。ユーザー名または UID を使用してユーザーを検索すると、期待通りに機能します。

(BZ#1446101)

SSSD が同じ優先順位を持つ複数の証明書一致ルールを正しく処理しない

指定した証明書が、優先順位が同じ複数の証明書の一致ルールに一致する場合、System Security Services Daemon (SSSD) は、いずれか一方のみを使用します。これを回避するには、| (or) 演算子で連結した個々のルールのフィルターで構成される LDAP フィルターを持つ 1 つの証明書一致ルールを使用します。証明書一致ルールの例は、man ページの sss-certamp (5) を参照してください。

(BZ#1447945)

SSSD が、ローカルユーザーの LDAP グループメンバーシップを誤って返す

SSSD (System Security Services Daemon) がローカルファイルのユーザーに対応している場合、ファイルプロバイダーには、他のドメインのグループメンバーシップが含まれません。これにより、ローカルユーザーが LDAP グループのメンバーである場合、id local_user コマンドはユーザーの LDAP グループメンバーシップを返しません。この問題を回避するには、システムが /etc/nsswitch.conf ファイルのユーザーのグループメンバーシップを調べるデータベースの順序を元に戻すか、sss filesfiles sss に置き換えるか、以下を追加して、暗黙的な files ドメインを無効にします。

enable_files_domain=False

/etc/sssd/sssd.conf ファイルの [sssd] セクションに移動します。

これにより、id local_user が、ローカルユーザーの正しい LDAP グループメンバーシップを返します。

(BZ#1652562)

sudo ルールがグループ名を参照すると、id_provider=ad で sudo ルールが機能しないことがある

SSSD (System Security Services Daemon) は、キャッシュを使用して AD と SSSD の間の通信を最適化するため、initgroups 操作中は Active Directory グループ名を解決しません。キャッシュエントリーにはセキュリティー識別子 (SID) のみが含まれ、グループが名前または ID で要求されるまでグループ名は含まれません。したがって、sudo の実行前にグループが完全に解決されていなければ、sudo ルールは AD グループとは一致しません。

この問題を回避するには、最適化を無効にする必要があります。/etc/sssd/sssd.conf ファイルを開き、[domain/example.com] セクションに ldap_use_tokengroups = false パラメーターを追加します。

(BZ#1659457)

RHEL 8 で、systemd-user のデフォルトの PAM 設定が変更になり、SSSD の動作に影響を及ぼす可能性がある

Red Hat Enterprise Linux 8 では、プラグ可能な認証モジュール (PAM) スタックが変更されました。たとえば、systemd ユーザーセッションは、PAM サービス systemd-user を使用して PAM 対話を開始するようになりました。このサービスは、PAM サービスの system-auth を再帰的に追加します。ここには、pam_sss.so インターフェースが含まれる場合もあります。これは、SSSD アクセス制御が常に呼び出されることを意味します。

RHEL 8 システムのアクセス制御ルールを規定する場合は、変更に注意してください。たとえば、systemd-user サービスを、許可されたサービス一覧に追加できます。

IPA HBAC、AD GPO などの一部のアクセス制御メカニズムでは、systemd-user サービスが、許可されたサービス一覧にデフォルトで追加されているため、何もする必要はありません。

(BZ#1669407)

IdM サーバーが FIPS で機能しない

Tomcat 用の SSL コネクターの実装が不完全なため、証明書サーバーをインストールした Identity Management (IdM) サーバーが、FIPS モードが有効になっているマシンでは機能しません。

(BZ#1673296)

Samba が sss ID マッピングプラグインを使用する際にアクセスを拒否

Active Directory (AD) ドメインに参加している RHEL ホストのファイルサーバーとして Samba を使用するには、SSSD を使用して AD からユーザーおよびグループを管理している場合でも、Samba Winbind サービスを実行している必要があります。realm join --client-software=sssd コマンドを使用するか、このコマンドで --client-software パラメーターを指定せずにドメインに参加すると、realm/etc/sssd/sssd.conf ファイルのみを作成します。この設定を使用してドメインメンバーで Samba を実行し、sss ID マッピングバックエンドを使用する設定を /etc/samba/smb.conf ファイルに追加してディレクトリーを共有すると、ID マッピングバックエンドを変更する際にエラーが発生する場合があります。そのため、Samba は、ユーザーまたはグループが存在し、SSSD が認識している場合でも、特定のケースではファイルへのアクセスを拒否します。

以前のバージョンの RHEL からアップグレードし、/etc/sssd/sssd.conf ファイルの ldap_id_mapping パラメーターを True (デフォルト) に設定すると、回避策が利用できなくなります。この場合は、問題が修正されるまで、ホストを RHEL 8 にアップグレードしないでください。

その他のシナリオでは、以下の回避策があります。

  • 新規インストールの場合は、realm join --client-software=winbind コマンドを使用してドメインに参加します。これにより、全ユーザーおよびグループの検索に、SSSD の代わりに Winbind を使用するようにシステムが設定されます。この場合、Samba は、--automatic-id-mapping オプションを yes (デフォルト) に設定したか、no に設定したかに応じて、/etc/samba/smb.confrid または ad の ID マッピングプラグインを使用します。SSSD を将来のシステムまたはその他のシステムで使用する予定がある場合は、--automatic-id-mapping=no を使用すると移行が容易になりますが、すべてのユーザーおよびグループ用に、AD に POSIX の UID および GID を保存する必要があります。
  • 以前のバージョンの RHEL からアップグレードし、/etc/sssd/sssd.conf ファイルの ldap_id_mapping パラメーターが False に設定され、システムが ID マッピングに AD の uidNumber 属性および gidNumber 属性を使用する場合は、以下を行います。

    1. /etc/samba/smb.conf ファイルの idmap config <domain> : backend = sss エントリーを、idmap config <domain> : backend = ad に変更します。
    2. systemctl status winbind コマンドを使用して Winbind を再起動します。

(BZ#1657665)

nuxwdog サービスが HSM 環境では失敗するため、非 HSM 環境に keyutils パッケージをインストールする必要がある

nuxwdog ウォッチドッグサービスが証明書システムに統合されました。このため、nuxwdog が別のパッケージとして提供されなくなりました。ウォッチドッグサービスを使用するには、pki-server パッケージをインストールしてください。

nuxwdog サービスには、以下の既知の問題があります。

  • ハードウェアストレージモジュール (HSM) を使用していると、nuxwdog サービスは機能しません。この問題の回避策はありません。
  • 非 HSM 環境の Red Hat Enterprise Linux 8.0 では、 keyutils パッケージが依存関係として自動的にインストールされません。このパッケージを手動でインストールするには、dnf install keyutils コマンドを使用します。

(BZ#1652269)

AD ユーザーの ID オーバーライドの追加が IdM CLI でのみ有効

現在、管理ロールへのアクセスを付与するために、Active Directory (AD) ユーザーの ID オーバーライドを Identity Management (IdM) グループに追加すると、IdM Web UI で失敗します。この問題を回避するには、代わりに IdM コマンドラインインターフェース (CLI) を使用します。

ipa ユーティリティーを使用して特定の操作を実行した後に、IdM サーバーに ipa-idoverride-memberof-plugin パッケージをインストールした場合、Red Hat は、ipa ユーティリティーのキャッシュを削除して、IdM サーバーのメタデータに関する表示を強制的に更新することを推奨します。

これを行うには、ipa ユーティリティーを実行するユーザーの ~/.cache/ipa ディレクトリーの内容を削除します。たとえば、root の場合は以下のようになります。

# rm -r /root/.cache/ipa

(BZ#1651577)

IdM で AD 信頼のサポートを有効にすると、必要な DNS レコードに関する情報が表示されない

外部 DNS 管理を使用した Red Hat Enterprise Linux Identity Management (IdM) インストールで Active Directory (AD) 信頼のサポートを有効にすると、必要な DNS レコードに関する情報が表示されません。AD へのフォレストの信頼は、必要な DNS レコードが追加されるまで成功しません。この問題を回避するには、ipa dns-update-system-records --dry-run コマンドを実行して、IdM が必要とするすべての DNS レコードの一覧を取得します。IdM ドメインの外部 DNS が必要な DNS レコードを定義すると、AD へのフォレスト信頼を確立できるようになります。

(BZ#1665051)

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

GCC により生成された合成関数により SystemTap が混乱する

GCC の最適化により、その他の関数を部分的にインラインにコピーした合成関数を生成する場合があります。SystemTap や GDB などのツールは、これらの合成関数と実際の関数を区別できません。これにより、SystemTap は、合成関数と実関数の両方のエントリーポイントにプローブを置くことができるため、1 つの実関数呼び出しに対して、複数のプローブを数えあげます。

この問題を回避するには、SystemTap スクリプトを、再帰の検出、インライン化された部分関数に関連するプローブの非表示などの方法で調整する必要があります。たとえば、スクリプトは、以下のようになります。

probe kernel.function("can_nice").call { }

説明されている問題は、次のように回避を試行できます。

global in_can_nice%

probe kernel.function("can_nice").call {
  in_can_nice[tid()] ++;
  if (in_can_nice[tid()] > 1) { next }
  /* code for real probe handler */
}

probe kernel.function("can_nice").return {
  in_can_nice[tid()] --;
}

このスクリプト例では、不明な kprobes や kretprobes、または、本物の意図的な再帰など、考えられるすべてのシナリオが考慮されているわけではありません。

(BZ#1169184)

ltrace ツールが、関数呼び出しを報告しない

すべての RHEL コンポーネントに適用されるバイナリー強化の改善により、ltrace ツールが、RHEL コンポーネントからのバイナリーファイルの関数呼び出しを検出できなくなりました。これにより、ltrace の出力では、このようなバイナリーファイルで使用されたときに検出される呼び出しが報告されなくなるため、空になります。現在利用できる回避策はありません。

ただし、ltrace では、各強化フラグを使用せずに構築されたカスタムバイナリーファイルの呼び出しは報告されます。

(BZ#1618748, BZ#1655368)

5.5.13. ファイルシステムおよびストレージ

iscsiuio パッケージを使用して iSCSI ターゲットを検出できない

Red Hat Enterprise Linux 8 では、PCI レジスター領域への同時アクセスが許可されていません。そのため、could not set host net params (err 29) エラーが設定され、ディスカバリーポータルへの接続に失敗します。この問題を回避するには、iSCSI オフロードに、カーネルコマンドラインでカーネルパラメーター iomem=relaxed を設定します。これは特に、bnx2i ドライバーを使用したオフロードに関係します。このため、ディスカバリーポータルへの接続は成功し、iscsiuio パッケージが正しく機能するようになりました。

(BZ#1626629)

VDO ボリュームが、異なるエンディアンプラットフォームへ移動した後の重複排除アドバイスを失う

VDO (Virtual Data Optimizer) は、プラットフォームに、ネイティブのエンディアン形式で Universal Deduplication Service (UDS) インデックスヘッダーを書き込みます。VDO は、UDS インデックスが破損し、別のエンディアンを使用するプラットフォームに VDO ボリュームを移動すると、そのインデックスを新しい空のインデックスで上書きします。

そのため、上書き前に UDS インデックスに保存されている重複排除アドバイスはすべて失われます。VDO は、ボリュームを移動する前に保存したデータに対して、新たに書き込まれたデータを重複排除できないため、容量が節約されます。

(BZ#1696492)

XFS DAX マウントオプションは、共有コピーオンライトデータエクステントと互換性がない

共有コピーオンライトのデータエクステント機能でフォーマットされた XFS ファイルシステムは、-o dax マウントオプションと互換性がありません。これにより、そのようなファイルシステムを -o dax でマウントすると失敗します。

この問題を回避するには、reflink=0 メタデータオプションを使用してファイルシステムをフォーマットし、共有コピーオンライトデータエクステントを無効にします。

# mkfs.xfs -m reflink=0 block-device

このため、-o dax でファイルシステムをマウントすることに成功しました。

詳細は「Creating a file system DAX namespace on an NVDIMM」を参照してください。

(BZ#1620330)

特定の SCSI ドライバーが過剰な量のメモリーを使用することがある

SCSI ドライバーの中には、RHEL 7 よりも大容量のメモリーを使用しているものがあります。ファイバーチャネルホストバスアダプター (HBA) での vPort 作成など、特定のケースでは、システム設定によってはメモリー使用量が過剰になる可能性があります。

メモリー使用量の増加は、ブロックレイヤーでメモリーの事前割り当てにより発生します。RHEL 8 の各 I/O リクエストに対して、マルチキューブロックデバイススケジューリング (BLK-MQ) とマルチキューの SCSI スタック (SCSI-MQ) の両方がメモリーを事前に割り当てているため、メモリー使用量が増えます。

(BZ#1733278)

5.5.14. ネットワーク

nftables が多次元の IP セットタイプに対応しない

nftables パケットフィルタリングフレームワークは、連結と区間を持つセット型に対応しません。これにより、hash:net,port などの多次元 IP セットタイプを、nftables と共に使用することができません。

この問題を回避するには、多次元 IP セットタイプが必要な場合に、iptables フレームワークを ipset ツールと共に使用してください。

(BZ#1593711)

man ページの iptables-extensions (8)TRACE ターゲットが nf_tables バリアントを参照していない

man ページの iptables-extensions(8)TRACE ターゲットの説明は、compat バリアントのみを参照しますが、Red Hat Enterprise Linux (RHEL) 8.0 は nf_tables バリアントを使用します。RHEL の nftablesベースの iptables ユーティリティーは、内部的に メタ nftrace 式を使用します。したがって、カーネルは TRACE イベントをカーネルログに出力せず、代わりにユーザー空間に送信します。ただし、man ページでは、このイベントを表示する xtables-monitor コマンドラインユーティリティーを参照しません。

(BZ#1658734)

RHEL 8 で、スイッチが長期間使用できなくなってから 802.3ad ボンディングのステータスが「Churned」と表示

現在、802.3ad ネットワークボンディングを設定し、長期間スイッチがダウンしている場合、Red Hat Enterprise Linux は、接続が稼働状態に戻った後も、ボンディングのステータスを「Churned」として適切に表示します。「Churned」のステータスは、重要なリンク停止が発生したことを管理者に通知する目的があるため、これは意図している動作です。このステータスを削除するには、ネットワークボンドを再起動するか、ホストを再起動します。

(BZ#1708807)

ebtables コマンドが broute テーブルに対応していない

Red Hat Enterprise Linux 8.0 の nftables ベースの ebtables コマンドは、broute テーブルに対応していません。したがって、ユーザーはこの機能を使用できません。

(BZ#1649790)

GRO が無効になっていると IPsec オフロード中に IPsec ネットワークトラフィックが失敗する

デバイスで汎用受信オフロード (GRO) が無効になっていると、IPSec オフロードは機能しません。IPsec オフロードがネットワークインターフェースで設定され、GRO がそのデバイスで無効になっていると、IPsec ネットワークトラフィックに失敗します。

この問題を回避するには、デバイスで GRO を有効にしたままにします。

(BZ#1649647)

NetworkManager がデフォルトで 内部 DHCP プラグインを使用するようになる

NetworkManager は、DHCP プラグインの internal および dhclient に対応します。デフォルトでは、Red Hat Enterprise Linux (RHEL) 7 の NetworkManagerdhclient を使用し、RHEL 8 では 内部 プラグインを使用します。特定の状況では、プラグインの動作が異なります。たとえば、dhclient は、/etc/dhcp/ ディレクトリーで指定されている追加設定を使用できます。

RHEL 7 から RHEL 8 にアップグレードした際に NetworkManager の動作が異なる場合は、dhclient プラグインを使用するために、/etc/NetworkManager/NetworkManager.conf ファイルの [main] セクションに、以下の設定を追加します。

[main]
dhcp=dhclient

(BZ#1571655)

gnome-control-center を使用して IPsec ベースの VPN の高度なオプションを変更できない

gnome-control-center アプリケーションを使用して IPsec ベースの VPN 接続を設定すると、Advanced ダイアログには設定が表示されますが、変更することはできません。したがって、ユーザーは高度な IPsec オプションを変更できません。この問題を回避するには、nm-connection-editor ツールまたは nmcli ツールを使用して、高度なプロパティーを設定します。

(BZ#1697326)

/etc/hosts.allow ファイルおよび /etc/hosts.deny ファイルに不正確な情報が含まれる

Red Hat Enterprise Linux (RHEL) 8 では tcp_wrappers パッケージが削除されましたが、/etc/hosts.allow および /etc/hosts.deny のファイルは削除されません。これにより、これらのファイルには古い情報が含まれ、RHEL 8 には該当しません。

この問題を回避するには、サービスへのアクセスのフィルタリングにファイアウォールルールを使用します。ユーザー名およびホスト名に基づくフィルタリングには、アプリケーション固有の設定を使用します。

(BZ#1663556)

IP デフラグが、ネットワークトラフィックのオーバーロードでは持続できない

Red Hat Enterprise Linux 8 では、ガベージコレクションのカーネルスレッドが削除され、IP フラグメントはタイムアウト時にのみ有効期限が切れます。その結果、サービス拒否攻撃 (DoS) の CPU 使用率は大幅に低くなり、持続可能なフラグメントの最大破棄率は IP 再構築ユニットに設定されたメモリー量により制限されます。デフォルト設定では、パケットの破棄、パケットの並び替え、または断片化が同時に多数するフローが発生したときに断片化されたトラフィックを必要とするワークロードにより、関連するパフォーマンスが低下する可能性があります。

この場合は、/proc/sys/net/ipv4 ディレクトリーの IP 断片化キャッシュの適切なチューニングを使用して ipfrag_high_thresh 変数を設定し、メモリー量と ipfrag_time 変数を制限して、IP 断片化を秒単位で保持できます。以下に例を示します。

echo 419430400 > /proc/sys/net/ipv4/ipfrag_high_thresh echo 1 > /proc/sys/net/ipv4/ipfrag_time

上記は、IPv4 トラフィックに適用されます。IPv6 で関連するパラメーターは、/proc/sys/net/ipv6/ ディレクトリーの ip6frag_high_thresh および ip6frag_time になります。

高速に断片化されたトラフィックに依存するワークロードでは、安定性とパフォーマンスの問題が発生する場合があります。特にパケットが破棄される場合、実稼働環境ではこのようなデプロイメントは推奨されません。

(BZ#1597671)

RHEL 8 でのネットワークインターフェース名の変更

Red Hat Enterprise Linux 8 では、RHEL 7 と同じ一貫性のあるネットワークデバイス命名スキームがデフォルトで使用されます。ただし、一部のカーネルドライバー (e1000enfpqedesfctg3bnxt_en など) では、RHEL 8 の新規インストールで一貫した名前が変更になりました。ただし、RHEL 7 からアップグレードする場合はこの名前が保持されます。

(BZ#1701968)

5.5.15. セキュリティー

libselinux-python は、そのモジュールからのみ利用可能

libselinux-python パッケージには、SELinux アプリケーション開発用の Python 2 バインディングのみが含まれ、後方互換性に使用されます。このため、libselinux-python コマンドを使用して、デフォルトの RHEL 8 リポジトリーで dnf install libselinux-python コマンドが利用できなくなりました。

この問題を回避するには、libselinux-python モジュールおよび python27モジュールの両方を有効にし、以下のコマンドで libselinux-python パッケージとその依存関係をインストールします。

# dnf module enable libselinux-python
# dnf install libselinux-python

または、1 つのコマンドでインストールプロファイルを使用して libselinux-python をインストールします。

# dnf module install libselinux-python:2.8/common

これにより、各モジュールを使用して libselinux-python をインストールできます。

(BZ#1666328)

libssh がシステム全体の暗号化ポリシーに準拠しない

libssh ライブラリーは、システム全体の暗号化ポリシー設定には従いません。これにより、管理者が、update-crypto-policies コマンドを使用して暗号ポリシーレベルを変更しても、対応しているアルゴリズムのセットは変更しません。

この問題を回避するには、libssh を使用するアプリケーションごとに、公開された一連のアルゴリズムを個別に設定する必要があります。これにより、システムがポリシーレベルの LEGACY または FUTURE に設定されていると、OpenSSH と比較したときに、libssh を使用するアプリケーションの動作が矛盾します。

(BZ#1646563)

特定の rsyslog 優先度の文字列が正常に動作しない

imtcpGnuTLS 優先度文字列を設定して、完成していない暗号化をきめ細かく制御できるようになりました。したがって、rsyslog では、以下の優先文字列が正常に動作しません。

NONE:+VERS-ALL:-VERS-TLS1.3:+MAC-ALL:+DHE-RSA:+AES-256-GCM:+SIGN-RSA-SHA384:+COMP-ALL:+GROUP-ALL

この問題を回避するには、正しく機能する優先度文字列のみを使用します。

NONE:+VERS-ALL:-VERS-TLS1.3:+MAC-ALL:+ECDHE-RSA:+AES-128-CBC:+SIGN-RSA-SHA1:+COMP-ALL:+GROUP-ALL

したがって、現在の設定は、正しく機能する文字列に限定する必要があります。

(BZ#1679512)

デフォルトのロギング設定がパフォーマンスに与える悪影響

デフォルトのログ環境設定は、メモリーを 4 GB 以上使用する可能性があり、rsyslogsystemd-journald を実行している場合は、速度制限値の調整が複雑になります。

詳細は、ナレッジベースの記事「Negative effects of the RHEL default logging setup on performance and their mitigations」を参照してください。

(JIRA:RHELPLAN-10431)

OpenSCAPrpmverifypackage が正常に動作しない

rpmverifypackage プローブにより、システムコール chdir および chroot が 2 回呼び出されます。これにより、カスタムの OVAL (Open Vulnerability and Assessment Language) コンテンツを使用した OpenSCAP をスキャンする際にこのプルーブを使用していると、エラーが発生します。

この問題を回避するには、コンテンツで OVAL テスト rpmverifypackage_test を使用しないようにするか、rpmverifypackage_test が使用されていない scap-security-guide パッケージのコンテンツのみを使用します。

(BZ#1646197)

SCAP Workbench が、カスタムプロファイルから結果ベースの修正を生成できない

SCAP Workbench ツールを使用してカスタムプロファイルから結果ベースの修正ロールを生成しようとすると、次のエラーが発生します。

Error generating remediation role .../remediation.sh: Exit code of oscap was 1: [output truncated]

この問題を回避するには、oscap コマンドを、--tailoring-file オプションとともに使用します。

(BZ#1640715)

RHEL 8 のキックスタートが、com_redhat_oscap の代わりに org_fedora_oscap を使用

キックスタートは、com_redhat_oscap ではなく、org_fedora_oscap として Open Security Content Automation Protocol (OSCAP) Anaconda アドオンを参照します。これが、混乱を招く可能性があります。これは、Red Hat Enterprise Linux 7 との後方互換性を維持するために行われます。

(BZ#1665082)

OpenSCAPrpmverifyfile が機能しない

OpenSCAP スキャナーは、オフラインモードで現在の作業ディレクトリーを正しく変更せず、fchdir 関数を、OpenSCAP rpmverifyfile プローブの正しい引数で呼び出さないようにします。そのため、SCAP コンテンツで rpmverifyfile_test を使用すると、oscap-chroot コマンドを使用した任意のファイルシステムのスキャンに失敗します。したがって、上記のシナリオでは、oscap-chroot が中断します。

(BZ#1636431)

OpenSCAP が、仮想マシンおよびコンテナーのオフラインスキャンを提供しない

OpenSCAP のコードベースをリファクターリングすると、特定の RPM プローブがオフラインモードで仮想マシンおよびコンテナーのファイルシステムをスキャンするのに失敗していました。このため、以下のツールは、openscap-utils パッケージである oscap-vm および oscap-chroot から削除されました。また、openscap-containers パッケージも完全に削除されました。

(BZ#1618489)

コンテナーのセキュリティーおよびコンプライアンススキャンを行うユーティリティーが利用できない

Red Hat Enterprise Linux 7 では、Atomic テクノロジーに基づいた Docker コンテナーのスキャンに、oscap-docker ユーティリティーを使用できました。Red Hat Enterprise Linux 8 では、Docker 関連、および Atomic 関連の OpenSCAP コマンドが利用できません。そのため、RHEL 8 では、コンテナーのセキュリティーおよびコンプライアンススキャンに、oscap-docker または同等のユーティリティーを使用できません。

(BZ#1642373)

OpenSSL TLS ライブラリーは、PKCS#11 トークンが、生の RSA 署名または RSA-PSS 署名の作成に対応しているかどうかを検出しない

TLS-1.3 プロトコルでは、RSA-PSS 署名の対応が必要です。PKCS#11 トークンが、生の RSA 署名または RSA-PSS 署名に対応していない場合、OpenSSL TLS ライブラリーを使用するサーバーアプリケーションは、PKCS#11 トークンが保持していると、RSA 鍵を使用した作業に失敗します。これにより、TLS 通信が失敗します。

この問題を回避するには、利用可能な最大の TLS プロトコルバージョンとして TLS-1.2 バージョンを使用するように、サーバーまたはクライアントを設定します。

(BZ#1681178)

PKCS#11 デバイスに保存されている RSA 秘密鍵と RSA-PSS 証明書を使用すると、Apache の httpd が起動しない

PKCS#11 標準は、RSA と RSA-PSS の鍵オブジェクトを区別せず、両方に CKK_RSA タイプを使用します。ただし、OpenSSL は、RSA 鍵および RSA-PSS 鍵に異なるタイプを使用します。その結果、openssl-pkcs11 エンジンが、PKCS#11 RSA 鍵オブジェクトの OpenSSL に提供すべき種類を指定できません。現在、エンジンは鍵の種類を、すべての PKCS#11 CKK_RSA オブジェクトの RSA 鍵として設定します。OpenSSL が、証明書から取得した RSA-PSS 公開鍵の種類を、エンジンが提供する RSA 秘密鍵オブジェクトに含まれる種類と比較すると、種類が異なります。したがって、証明書と秘密鍵は一致しません。OpenSSL 関数 X509_check_private_key() で実行した確認は、このシナリオでエラーを返します。httpd の Web サーバーは、この関数をスタートアッププロセスで呼び出し、提供された証明書と鍵が一致するかどうかを確認します。この確認は、PKCS#11 モジュールに保存されている RSA-PSS 公開鍵と RSA 秘密鍵を含む証明書では常に失敗するため、httpd はこの設定の使用を開始できません。この問題に対する回避策はありません。

(BZ#1664802)

対応する公開鍵が PKCS#11 デバイスに保存されていない状態で ECDSA 秘密鍵を使用すると、httpd が起動しない

RSA 鍵とは異なり、ECDSA 秘密鍵には、公開鍵情報が含まれているとは限りません。この場合、ECDSA 秘密鍵から公開鍵を取得することはできません。このため、PKCS#11 デバイスは、公開鍵オブジェクトまたは証明書オブジェクトのいずれかであっても、別のオブジェクトに公開鍵情報を格納します。OpenSSL は、秘密鍵に公開鍵情報を含めるために、エンジンが提供する EVP_PKEY 構造を想定します。OpenSSL に提供する EVP_PKEY 構造を満たすと、openssl-pkcs11 パッケージのエンジンは、一致する公開鍵オブジェクトのみから公開鍵情報を取得し、現在の証明書オブジェクトを無視します。

OpenSSL がエンジンから ECDSA 秘密鍵を要求すると、指定された EVP_PKEY 構造は、公開鍵を含む一致する証明書が利用可能な場合でも、PKCS#11 デバイスに公開鍵がない場合は、公開鍵情報を含みません。これにより、Apache httpd の Web サーバーは、公開鍵を必要とする X509_check_private_key() 関数を (起動プロセスで) 呼び出すため、このシナリオで httpd が起動しなくなりました。この問題を回避するには、ECDSA 鍵を使用する際に、秘密鍵と公開鍵の両方を PKCS#11 デバイスに保存します。これにより、ECDSA 鍵が PKCS#11 デバイスに保存されると、httpd が正常に起動します。

(BZ#1664807)

OpenSSH が、ラベルが一致しない鍵の PKCS #11 の URI を処理しない

OpenSSH スイートでは、鍵のペアをラベルで識別できます。ラベルは、スマートカードに保存されている秘密鍵と公開鍵で異なる場合があります。したがって、オブジェクト部分 (鍵ラベル) で PKCS #11 の URI を指定すると、OpenSSH が PKCS #11 で適切なオブジェクトを見つけるのを防ぐことができます。

この問題を回避するには、オブジェクト部分を使用せずに PKCS #11 の URI を指定します。これにより、OpenSSH は PKCS #11 の URI を使用して参照しているスマートカードの鍵を使用できるようになります。PKCS #11 の URI を使用して参照しているスマートカードで鍵を使用します。

(BZ#1671262)

iptables-ebtables の出力が、ebtables と一部互換性がない

RHEL 8 では、ebtables コマンドは、iptables-ebtables パッケージが提供します。ここには、このツールが nftables ベースで再実装されています。このツールには別のコードベースがあり、その出力は、側面が異なる場合があるため、無視できるか、設計上の選択を慎重に検討する必要があります。

その結果、ebtables 出力を解析するスクリプトを移行する際に、以下を反映するスクリプトを調整します。

  • MAC アドレスの書式は、長さが固定されるように変更されました。octet 値では、2 文字の書式を維持するために、必要に応じて、個々のバイト値の前にゼロが含まれます。
  • IPv6 接頭辞の形式が、RFC 4291 に準拠するように変更になりました。スラッシュ文字の後の部分には、IPv6 アドレス形式のネットマスクが含まれなくなりましたが、接頭辞の長さは含まれます。スラッシュ文字の後ろの終了部分は、IPv6 アドレスフォーマットのネットマスクを含まなくなりましたが、プレフィックス長を含みます。 この変更は、有効な (左連続の) マスクにしか適用されませんが、それ以外の場合は、古い形式で印刷されます。

(BZ#1674536)

OpenSSH では、デフォルトで curve25519-sha256 に対応しない

SSH 鍵交換アルゴリズム curve25519-sha256 は、デフォルトのポリシーレベルに準拠する場合でも、OpenSSH のクライアントとサーバーのシステム全体の暗号化ポリシー設定にはありません。そのため、クライアントまたはサーバーが curve25519-sha256 を使用し、ホストがこのアルゴリズムに対応していない場合は、接続に失敗する可能性があります。

この問題を回避するには、OpenSSH のクライアントおよびサーバーの /etc/crypto-policies/back-ends/ ディレクトリーの openssh.config ファイルおよび opensshserver.config ファイルを変更して、システム全体の暗号化ポリシーの設定を手動で上書きします。この設定は、システム全体の暗号化ポリシーの変更ごとに上書きされることに注意してください。詳細は、man ページの update-crypto-policies(8) を参照してください。

(BZ#1678661)

OpenSSL が、生の RSA または RSA-PSS の署名に対応していない PKCS #11 トークンを誤って処理

OpenSSL ライブラリーは、PKCS #11 トークンの鍵関連の機能を検出しません。したがって、生の RSA または RSA-PSS の署名に対応しないトークンで署名が作成されると、TLS 接続の確立に失敗します。

この問題を回避するには、/etc/pki/tls/openssl.cnf ファイルの crypto_policy セクションの末尾にある .include 行の後に、以下の行を追加します。

SignatureAlgorithms = RSA+SHA256:RSA+SHA512:RSA+SHA384:ECDSA+SHA256:ECDSA+SHA512:ECDSA+SHA384
MaxProtocol = TLSv1.2

これにより、このシナリオで TLS 接続を確立できます。

(BZ#1685470)

VMware ホストシステムとの SSH 接続が機能しない

現在のバージョンの OpenSSH スイートでは、SSH パケットでデフォルトの IPQoS (IP Quality of Service) フラグが変更しましたが、VMware 仮想化プラットフォームではこれが適切に処理されません。したがって、VMware のシステムとの SSH 接続を確立することができません。

この問題を回避するには、ssh_config ファイルに IPQoS=throughput を追加します。これにより、VMware ホストシステムとの SSH 接続が適切に機能します。

詳細は、ナレッジベースの記事「RHEL 8 Running in VMWare Workstation Unable to Connect via SSH to Other Hosts 」を参照してください。

(BZ#1651763)

5.5.16. サブスクリプション管理

service-level の設定と設定解除に成功したことを示すメッセージが表示されない

candlepin サービスに syspurpose 機能がない場合、サブスクリプションマネージャーは異なるコードパスを使用して service-level の引数を設定します。このコードパスは、操作の結果を表示しません。これにより、サブスクリプションマネージャーがサービスレベルを設定するときにメッセージが表示されません。これは特に、service-level セットに誤字がある場合や、実際に利用できない場合に問題となります。

(BZ#1661414)

syspurpose アドオンsubscription-manager attach --auto 出力に影響しない

Red Hat Enterprise Linux 8 では、syspurpose コマンドラインツールの 4 つの属性 (roleusageservice_level_agreement、および addons) が追加されました。現在、roleusage、および service_level_agreement のみが、subscription-manager attach --auto コマンドの実行の出力に影響します。addons 引数に値を設定しても、自動登録されたサブスクリプションには影響がありません。

(BZ#1687900)

5.5.17. 仮想化

cloud-init を使用してカスタマイズされ、クローンされた起動が非常に遅い ESXi 仮想マシン

現在、cloud-init を使用して VMware ESXi ハイパーバイザーで実行している仮想マシンを修正して静的 IP を使用し、仮想マシンをクローンすると、新しいクローンの仮想マシンを再起動するのにかかる時間が非常に長くなる場合があります。これは、cloud-init が仮想マシンの静的 IP を DHCP に書き換えてから、利用可能なデータソースを検索しているからです。

この問題を回避するには、仮想マシンを最初に起動してから cloud-init をアンインストールします。その結果、その後の再起動の速度は低下しません。

(BZ#1666961, BZ#1706482)

ネストされた仮想化ブロックのライブ移行の有効化

現在、ネストされた仮想化機能はライブ移行と互換性がありません。したがって、RHEL 8 ホストでネストされた仮想化を有効にすると、ホストから仮想マシンを移行したり、仮想マシンの状態のスナップショットをディスクに保存したりできなくなります。

ネストされた仮想化は、現在 RHEL 8 でテクノロジープレビューとして提供されているため、サポート対象外であることに注意してください。さらに、ネスト化された仮想化は、デフォルトでは無効になっています。これを有効にする場合は、モジュールパラメーターの kvm_intel.nested または kvm_amd.nested を使用します。

(BZ#1689216)

cloud-init を使用した Microsoft Azure での仮想マシンのプロビジョニングに失敗する

現在、cloud-init ユーティリティーを使用して、Microsoft Azure プラットフォームで RHEL 8 仮想マシンをプロビジョニングすることができません。この問題を回避するには、以下のいずれかの方法を使用します。

  • cloud-init の代わりに WALinuxAgent パッケージを使用して、Microsoft Azure に仮想マシンをプロビジョニングします。
  • 以下の設定を /etc/NetworkManager/NetworkManager.conf ファイルの [main] セクションに追加します。

    [main]
    dhcp=dhclient

(BZ#1641190)

Generation 2 の RHEL 8 仮想マシンが Hyper-V Server 2016 ホストで起動できない場合がある

Microsoft Hyper-V Server 2016 ホストで実行している仮想マシンで RHEL 8 をゲストオペレーティングシステムとして使用すると、仮想マシンが起動しなくなり、GRUB ブートメニューに戻る場合があります。さらに、以下のエラーが Hyper-V イベントログに記録されます。

The guest operating system reported that it failed with the following error code: 0x1E

このエラーは、Hyper-V ホストの UEFI ファームウェアバグが原因で発生します。この問題を回避するには、Hyper-V Server 2019 をホストとして使用します。

(BZ#1583445)

virsh iface-\* コマンドが一貫して動作しない

現在、virsh iface-* コマンド (virsh iface-startvirsh iface-destroy など) は、設定の依存関係が原因で頻繁に失敗します。したがって、ホストネットワーク接続の設定および管理には virsh iface-\* コマンドを使用しないことが推奨されます。代わりに、NetworkManager プログラムとその関連管理アプリケーションを使用します。

(BZ#1664592)

Azure 用の Linux 仮想マシン拡張機能が機能しないことがある

RHEL 8 には、デフォルトで python2 パッケージが含まれません。これにより、RHEL 8 仮想マシンで Azure 用の Linux 仮想マシン拡張機能 (azure-linux-extensions とも呼ばれる) の実行に失敗する場合があります。

azure-linux-extensions が期待通りに機能する可能性をあげるには、手動で RHEL 8 仮想マシンに python2 をインストールします。

# yum install python2

(BZ#1561132)

5.5.18. サポート関連

redhat-support-tool が、opencase から sosreport を自動的に収集しない

redhat-support-tool コマンドは、sosreport アーカイブを作成できません。この問題を回避するには、sosreport コマンドを個別に実行し、redhat-support-tool addattachment -c コマンドを実行してアーカイブをアップロードするか、カスタマーポータルの Web UI を使用します。これにより、ケースが作成され、sosreport がアップロードされます。

findkerneldebugs コマンド、btextract コマンド、analyzediagnose コマンドは期待通り機能せず、今後のリリースで修正されることに注意してください。

(BZ#1688274)


このページには機械翻訳が使用されている場合があります (詳細はこちら)。