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
および authconfig
で authselect-compat
パッケージが必要になります。auth
または authconfig
を使用したときに、このパッケージがないとインストールに失敗します。ただし、設計上、 authselect-compat
パッケージは AppStream リポジトリーでしか利用できません。
この問題を回避するには、BaseOS リポジトリーおよび AppStream リポジトリーがインストーラーで利用できることを確認するか、インストール中にキックスタートコマンドの authselect
コマンドを使用します。
(BZ#1640697)
ビデオドライバー xorg-x11-drv-fbdev
、xorg-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 でこの問題を回避するには、以下の手順に従ってマルチユーザーモードまたはシングルユーザーモードを有効にします。
- 仮想マシンを起動します。
- システムの起動プロセス中に、キーボードの上矢印キーおよび下矢印キーを使用して必要なカーネルを選択します。
-
キーボードの
e
キーを押して、カーネルコマンドラインを編集します。 -
systemd.unit=multi-user.target
を、GRUB のカーネルコマンドラインに追加します。 -
Ctrl-X
を押して、仮想マシンを起動します。 -
ログインしたら、
yum -y groupinstall base-x
コマンドを実行します。 - 仮想マシンを再起動してグラフィカルモードにアクセスします。
(BZ#1687489)
reboot --kexec
コマンドを使用するとインストールが失敗する
reboot --kexec
コマンドを含むキックスタートファイルを使用すると、RHEL 8 のインストールに失敗します。この問題を回避するには、キックスタートファイルで reboot --kexec
の代わりに reboot
コマンドを使用します。
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.conf
で add_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-kdump
が dracut
に含まれていないため、問題が発生しなくなります。ただし、early-kdump
が必要な場合は、手動で作成する必要があります。
(BZ#1662911)
RHEL 8 で、デバッグカーネルがクラッシュキャプチャー環境で起動に失敗する
デバッグカーネルのメモリー要求の性質により、デバッグカーネルが使用中で、カーネルパニックが発生すると、問題が発生します。その結果、デバッグカーネルはキャプチャーカーネルとして起動できず、代わりにスタックトレースが生成されます。この問題を回避するには、クラッシュカーネルメモリーを適宜増やします。これにより、デバッグカーネルが、クラッシュキャプチャー環境で正常に起動します。
(BZ#1659609)
fadump
を使用すると、ネットワークインターフェイスの名前が kdump-<interface-name>
に変更されます。
ファームウェアアシストダンプ (fadump
) を使用して vmcore をキャプチャーし、SSH または NFS プロトコルでリモートマシンに保存する場合は、<interface-name>
がジェネリックであれば (*eth# や net#)、ネットワークインターフェイスは kdump- <interface-name>
に名前が変更されます。この問題は、初期 RAM ディスク (initrd
) の vmcore 取得スクリプトが、ネットワークインターフェイス名に接尾辞 kdump- を追加して、永続的な名前付けを保護するために発生します。同じ initrd
が通常の起動にも使用されるため、実稼働環境のカーネルのインターフェイス名も変更されます。
(BZ#1745507)
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
パッケージを更新する以外に回避策はありません。
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
これらのデバッグメッセージは無害で、無視しても問題はありません。
現在利用できる回避策はありません。
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 を参照してください。
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 ディスプレイサーバーの両方に適用されます。
5.5.9. グラフィックインフラストラクチャー
X.Org で実行しているデスクトップの画面解像度を下げるとハングする
X.Org ディスプレイサーバーで GNOME デスクトップを使用する場合は、画面の解像度を低い値に変更するとデスクトップが応答しなくなります。この問題を回避するには、画面の解像度を 800 × 600 ピクセルより小さい値に設定しないでください。
(BZ#1655413)
radeon
がハードウェアを正しくリセットできない
現在、radeon
カーネルドライバーは、kexec コンテキストでハードウェアを正しくリセットしません。代わりに radeon
がフェイルオーバーします。これにより、kdump サービスの残りの部分が失敗します。
この問題を回避するには、/etc/kdump.conf
ファイルに以下の行を追加して、kdump で radeon
をブラックリストに指定します。
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
) に追加するサービスを再起動します。
タイムアウト値が競合しているため、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 files
を files sss
に置き換えるか、以下を追加して、暗黙的な files
ドメインを無効にします。
enable_files_domain=False
/etc/sssd/sssd.conf
ファイルの [sssd]
セクションに移動します。
これにより、id local_user
が、ローカルユーザーの正しい LDAP グループメンバーシップを返します。
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
パラメーターを追加します。
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
サービスが、許可されたサービスリストにデフォルトで追加されているため、何もする必要はありません。
IdM サーバーが FIPS で機能しない
Tomcat 用の SSL コネクターの実装が不完全なため、証明書サーバーをインストールした Identity Management (IdM) サーバーが、FIPS モードが有効になっているマシンでは機能しません。
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.conf
のrid
またはad
の ID マッピングプラグインを使用します。SSSD を将来のシステムまたはその他のシステムで使用する予定がある場合は、--automatic-id-mapping=no
を使用すると移行が容易になりますが、すべてのユーザーおよびグループ用に、AD に POSIX の UID および GID を保存する必要があります。 以前のバージョンの RHEL からアップグレードし、
/etc/sssd/sssd.conf
ファイルのldap_id_mapping
パラメーターがFalse
に設定され、システムが ID マッピングに AD のuidNumber
属性およびgidNumber
属性を使用する場合は、以下を行います。-
/etc/samba/smb.conf
ファイルのidmap config <domain> : backend = sss
エントリーを、idmap config <domain> : backend = ad
に変更します。 -
systemctl status winbind
コマンドを使用して Winbind を再起動します。
-
nuxwdog
サービスが HSM 環境では失敗するため、非 HSM 環境に keyutils
パッケージをインストールする必要がある
nuxwdog
ウォッチドッグサービスが証明書システムに統合されました。このため、nuxwdog
が別のパッケージとして提供されなくなりました。ウォッチドッグサービスを使用するには、pki-server
パッケージをインストールしてください。
nuxwdog
サービスには、以下の既知の問題があります。
-
ハードウェアストレージモジュール (HSM) を使用していると、
nuxwdog
サービスは機能しません。この問題の回避策はありません。 -
非 HSM 環境の Red Hat Enterprise Linux 8.0 では、
keyutils
パッケージが依存関係として自動的にインストールされません。このパッケージを手動でインストールするには、dnf install keyutils
コマンドを使用します。
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
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 へのフォレスト信頼を確立できるようになります。
ldap_id_use_start_tls
オプションのデフォルト値を使用する場合の潜在的なリスク
ID ルックアップに TLS を使用せずに ldap://
を使用すると、攻撃ベクトルのリスクが生じる可能性があります。特に、中間者 (MITM) 攻撃は、攻撃者が、たとえば、LDAP 検索で返されたオブジェクトの UID または GID を変更することによってユーザーになりすますことを可能にする可能性があります。
現在、TLS を強制する SSSD 設定オプション ldap_id_use_start_tls
は、デフォルトで false
に設定されています。セットアップが信頼できる環境で動作していることを確認し、id_provider = ldap
に暗号化されていない通信を使用しても安全かどうかを判断してください。注記: id_provider = ad
および id_provider = ipa
は、SASL および GSSAPI によって保護された暗号化接続を使用するため、影響を受けません。
暗号化されていない通信を使用することが安全ではない場合は、/etc/sssd/sssd.conf
ファイルで ldap_id_use_start_tls
オプションを true
に設定して TLS を強制します。デフォルトの動作は、RHEL の将来のリリースで変更される予定です。
(JIRA:RHELPLAN-155168)
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 は、ボリュームを移動する前に保存したデータに対して、新たに書き込まれたデータを重複排除できないため、容量が節約されます。
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
コマンドラインユーティリティーを参照しません。
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 の NetworkManager は dhclient
を使用し、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
ツールを使用して、高度なプロパティーを設定します。
/etc/hosts.allow ファイルおよび /etc/hosts.deny ファイルに不正確な情報が含まれる
Red Hat Enterprise Linux (RHEL) 8 では tcp_wrappers パッケージが削除されましたが、/etc/hosts.allow および /etc/hosts.deny のファイルは削除されません。これにより、これらのファイルには古い情報が含まれ、RHEL 8 には該当しません。
この問題を回避するには、サービスへのアクセスのフィルタリングにファイアウォールルールを使用します。ユーザー名およびホスト名に基づくフィルタリングには、アプリケーション固有の設定を使用します。
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 と同じ一貫性のあるネットワークデバイス命名スキームがデフォルトで使用されます。ただし、一部のカーネルドライバー (e1000e
、nfp
、qede
、sfc
、tg3
、bnxt_en
など) では、RHEL 8 の新規インストールで一貫した名前が変更になりました。ただし、RHEL 7 からアップグレードする場合はこの名前が保持されます。
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
優先度の文字列が正常に動作しない
imtcp
に GnuTLS 優先度文字列を設定して、完成していない暗号化をきめ細かく制御できるようになりました。したがって、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
したがって、現在の設定は、正しく機能する文字列に限定する必要があります。
デフォルトのロギング設定がパフォーマンスに与える悪影響
デフォルトのログ環境設定は、メモリーを 4 GB 以上使用する可能性があり、rsyslog
で systemd-journald
を実行している場合は、速度制限値の調整が複雑になります。
詳細は、ナレッジベースの記事 Negative effects of the RHEL default logging setup on performance and their mitigations を参照してください。
(JIRA:RHELPLAN-10431)
OpenSCAP の rpmverifypackage
が正常に動作しない
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)
OpenSCAP の rpmverifyfile
が機能しない
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
バージョンを使用するように、サーバーまたはクライアントを設定します。
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
はこの設定の使用を開始できません。この問題に対する回避策はありません。
対応する公開鍵が 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
が正常に起動します。
OpenSSH が、ラベルが一致しない鍵の PKCS #11 の URI を処理しない
OpenSSH スイートでは、鍵のペアをラベルで識別できます。ラベルは、スマートカードに保存されている秘密鍵と公開鍵で異なる場合があります。したがって、オブジェクト部分 (鍵ラベル) で PKCS #11 の URI を指定すると、OpenSSH が PKCS #11 で適切なオブジェクトを見つけるのを防ぐことができます。
この問題を回避するには、オブジェクト部分を使用せずに PKCS #11 の URI を指定します。これにより、OpenSSH は、PKCS #11 の URI を使用して参照されるスマートカードの鍵を使用できます。
(BZ#1671262)
iptables-ebtables
の出力が、ebtables
と一部互換性がない
RHEL 8 では、ebtables
コマンドは、iptables-ebtables
パッケージが提供します。ここには、このツールが nftables
ベースで再実装されています。このツールには別のコードベースがあり、その出力は、側面が異なる場合があるため、無視できるか、設計上の選択を慎重に検討する必要があります。
したがって、ebtables
出力を解析するスクリプトを移行する際に、以下を反映するスクリプトを調整します。
- MAC アドレスの書式が、長さが固定されるように変更されました。octet 値では、2 文字の書式を維持するために、必要に応じて、個々のバイト値の前にゼロが含まれます。
- IPv6 接頭辞の形式が、RFC 4291 に準拠するように変更になりました。スラッシュ文字の後ろの終了部分には、IPv6 アドレスフォーマットのネットマスクが含まなくなりましたが、接頭辞長は含まれます。スラッシュ文字の後ろの終了部分は、IPv6 アドレスフォーマットのネットマスクを含まなくなりましたが、接頭辞長を含みます。 この変更は、有効な (左連続の) マスクにしか適用されませんが、それ以外の場合は、古い形式で印刷されます。
OpenSSH では、デフォルトで curve25519-sha256
に対応しない
SSH 鍵交換アルゴリズム curve25519-sha256
は、デフォルトのポリシーレベルに準拠する場合でも、OpenSSH のクライアントとサーバーのシステム全体の暗号化ポリシー設定にはありません。そのため、クライアントまたはサーバーが curve25519-sha256
を使用し、ホストがこのアルゴリズムに対応していない場合は、接続に失敗する可能性があります。
この問題を回避するには、OpenSSH のクライアントおよびサーバーの /etc/crypto-policies/back-ends/
ディレクトリーの openssh.config
ファイルおよび opensshserver.config
ファイルを変更して、システム全体の暗号化ポリシーの設定を手動で上書きします。この設定は、システム全体の暗号化ポリシーの変更ごとに上書きされることに注意してください。詳細は、man ページの update-crypto-policies(8)
を参照してください。
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 接続を確立できます。
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
セットに誤字がある場合や、実際に利用できない場合に問題となります。
syspurpose アドオン
が subscription-manager attach --auto
出力に影響しない
Red Hat Enterprise Linux 8 では、syspurpose
コマンドラインツールの 4 つの属性 (role
、usage
、service_level_agreement
、および addons
) が追加されました。現在、role
、usage
、および service_level_agreement
のみが、subscription-manager attach --auto
コマンドの実行の出力に影響します。addons
引数に値を設定しても、自動登録されたサブスクリプションには影響がありません。
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
を使用します。
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-start
、virsh 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
コマンド、analyze
、diagnose
コマンドは期待通り機能せず、今後のリリースで修正されることに注意してください。