10.6. Security
/etc/passwd-
のファイル権限が CIS RHEL 8 Benchmark 1.0.0 と合致しない
CIS Benchmark の問題により、/etc/passwd-
バックアップファイルの権限を保証する SCAP ルールの修正によって、権限が 0644
に設定されます。ただし、CIS Red Hat Enterprise Linux 8 Benchmark 1.0.0
では、そのファイルに対するファイルパーミッション 0600
が必要です。そのため、修正後、/etc/passwd-
のファイル権限はベンチマークに合うように設定されません。
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)
udica
は、--env container=podman
で開始したときにのみ UBI 8 コンテナーを処理します。
Red Hat Universal Base Image 8 (UBI 8) コンテナーは、podman
の値ではなく、コンテナー
環境変数を oci
値に設定します。これにより、udica
ツールがコンテナー JavaScript Object Notation (JSON) ファイルを分析しなくなります。
この問題を回避するには、--env container=podman
パラメーターを指定して、podman
コマンドで UBI 8 コンテナーを起動します。そのため、udica
は、上記の回避策を使用している場合に限り、UBI 8 コンテナーの SELinux ポリシーを生成することができます。
デフォルトのロギング設定がパフォーマンスに与える悪影響
デフォルトのログ環境設定は、メモリーを 4 GB 以上使用する可能性があり、rsyslog
で systemd-journald
を実行している場合は、速度制限値の調整が複雑になります。
詳細は、ナレッジベースの記事 Negative effects of the RHEL default logging setup on performance and their mitigations を参照してください。
(JIRA:RHELPLAN-10431)
/etc/selinux/config
の SELINUX=disabled
が正常に動作しません。
/etc/selinux/config
で SELINUX=disabled
オプションを使用して SELinux を無効にすると、カーネルが SELinux を有効にして起動し、その後のブートプロセスで無効化モードに切り替わります。これにより、メモリーリークが生じる可能性があります。
この問題を回避するには、SELinux を完全に無効にする必要がある場合に SELinux の使用 の システムの起動時に SELinux モードの変更 で説明されているように、selinux=0
パラメーターをカーネルコマンドラインに追加して SELinux を無効にすることが推奨されます。
(JIRA:RHELPLAN-34199)
crypto-policies
が Camellia 暗号を誤って許可する。
RHEL 8 システム全体の暗号化ポリシーでは、製品ドキュメントで説明されているように、すべてのポリシーレベルで Camellia 暗号を無効にする必要があります。ただし、Kerberos プロトコルでは、デフォルトでこの Camellia 暗号が有効になります。
この問題を回避するには、NO-CAMELLIA
サブポリシーを適用します。
# update-crypto-policies --set DEFAULT:NO-CAMELLIA
これまでに上記のコマンドで、DEFAULT
から切り替えたことがある場合は、DEFAULT
を暗号化レベルの名前に置き換えます。
その結果、この回避策を使用して Cemellia 暗号を無効にしている場合に限り、システム全体の暗号化ポリシーを使用する全ポリシーで、この暗号化を適切に拒否できます。
IKEv2
で複数のラベルが付いた IPsec 接続が正常に動作しない
Libreswan が IKEv2
プロトコルを使用する場合、IPsec のセキュリティーラベルは複数の接続では正しく機能しません。これにより、ラベルが付いた IPsec を使用する Libreswan は、最初の接続のみを確立できますが、後続の接続を確立することができません。複数の接続を使用するには、IKEv1
プロトコルを使用します。
OpenSC pkcs15-init
によるスマートカードのプロビジョニングプロセスが適切に動作しない
file_caching
オプションは、デフォルトの OpenSC 設定で有効になっているため、キャッシュ機能は pkcs15-init
ツールから一部のコマンドを適切に処理しません。したがって、OpenSC を使用したスマートカードのプロビジョニングプロセスは失敗します。
この問題を回避するには、以下のスニペットを /etc/opensc.conf
ファイルに追加します。
app pkcs15-init { framework pkcs15 { use_file_caching = false; } }
pkcs15-init
を使用したスマートカードのプロビジョニングは、前述の回避策を適用している場合に限り機能します。
SHA-1 署名を使用するサーバーへの接続が GnuTLS で動作しない
証明書の SHA-1 署名は、GnuTLS セキュアな通信ライブラリーにより、セキュアでないものとして拒否されます。したがって、TLS のバックエンドとして GnuTLS を使用するアプリケーションは、このような証明書を提供するピアへの TLS 接続を確立することができません。この動作は、その他のシステム暗号化ライブラリーと一貫性がありません。
この問題を回避するには、サーバーをアップグレードして、SHA-256 または強力なハッシュを使用して署名した証明書を使用するか、LEGACY ポリシーに切り替えます。
(BZ#1628553)
FIPS モードの OpenSSL が、特定の D-H パラメーターのみを受け入れます。
FIPS モードでは、OpenSSL を使用する TLS クライアントは bad dh value
エラーを返し、手動で生成されたパラメーターを使用するようにサーバーへの TLS 接続を中止します。これは、FIPS 140-2 に準拠するよう設定されている場合、OpenSSL が NIST SP 800-56A rev3 付録 D (RFC 3526 で定義されたグループ 14、15、16、17、18、および RFC 7919 で定義されたグループ) に準拠した Diffie-Hellman パラメーターでのみ機能するためです。また、OpenSSL を使用するサーバーは、その他のパラメーターをすべて無視し、代わりに同様のサイズの既知のパラメーターを選択します。この問題を回避するには、準拠するグループのみを使用します。
(BZ#1810911)
IKE over TCP 接続がカスタム TCP ポートで機能しない
tcp-remoteport
Libreswan 設定オプションが適切に動作しません。したがって、デフォルト以外の TCP ポートを指定する必要があるシナリオでは、IKE over TCP 接続を確立することができません。
SELinux Audit ルールと SELinux ブール値設定での競合
Audit ルールリストに、subj_*
または obj_*
フィールドを含む Audit ルールが含まれ、SELinux ブール値の設定が変更された場合は、SELinux ブール値を設定するとデッドロックが発生します。その結果、システムが応答しなくなり、復旧に再起動が必要になります。この問題を回避するには、subj_*
または obj_*
フィールドを含む Audit ルールをすべて無効にするか、SELinux ブール値を変更する前にこのようなルールを一時的に無効にします。
RHSA-2021:2168 アドバイザリーのリリースにより、カーネルはこの状況を適切に処理し、デッドロックが発生しなくなりました。
(BZ#1924230)
systemd が任意のパスからコマンドを実行できない
SELinux ポリシーパッケージにはこのようなルールが含まれていないため、systemd サービスは /home/user/bin
の任意のパスからコマンドを実行できません。そのため、システム以外のパスで実行されるカスタムサービスは失敗し、SELinux がアクセスを拒否すると、AVC (アクセスベクターキャッシュ) 監査メッセージをログに記録します。この問題を回避するには、以下のいずれかを実行します。
-c
オプションを指定し、シェル スクリプトを使用してコマンドを実行します。以下に例を示します。bash -c command
-
/bin
、/sbin
、/usr/sbin
、/usr/local/bin
、/usr/local/sbin
の共通のディレクトリーを使用して共通のパスからコマンドを実行します。
SSG における相互依存ルールの特定のセットが失敗する可能性がある。
ルールとその依存関係の順序付けを定義しないため、ベンチマークの SCAP Security Guide
(SSG) ルールの修正が失敗する可能性があります。たとえば、特定の順番で複数のルールを実行する必要がある場合、あるルールがコンポーネントをインストールし、別のルールが同じコンポーネントを設定した場合すると、それらは正しくない順序で実行される可能性があり、修正によってエラーが報告されます。この問題を回避するには、修正を回実行して、番目の実行で依存ルールを修正します。
Server with GUI
または Workstation
ソフトウェアの選択と CIS セキュリティープロファイルを使用したインストールはできません。
CIS セキュリティープロファイルは、Server with GUI
および Workstation
ソフトウェアの選択と互換性がありません。そのため、Server with GUI
ソフトウェアの選択と CIS プロファイルを使用した RHEL 8 のインストールはできません。CIS プロファイルと、これらのソフトウェアの選択のいずれかを使用したインストール試行では、エラーメッセージが生成されます。
package xorg-x11-server-common has been added to the list of excluded packages, but it can't be removed from the current software selection without breaking the installation.
この問題を回避するには、Server with GUI
または Workstation
ソフトウェアの選択で CIS セキュリティープロファイルを使用しないでください。
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)
usbguard-notifier
がジャーナルに記録するエラーメッセージが多すぎる
usbguard-notifier
サービスには、usbguard-daemon
IPC インターフェイスに接続するためのプロセス間通信 (IPC) のパーミッションがありません。したがって、usbguard-notifier
はインターフェイスへの接続に失敗し、対応するエラーメッセージがジャーナルに書き込まれます。usbguard-notifier
は --wait
オプションで始まるため、デフォルトでは接続障害後に毎秒 usbguard-notifier
が IPC インターフェイスへの接続を試みるため、ログにはこれらのメッセージが過剰に含まれます。
この問題を回避するには、usbguard-notifier
が実行されているユーザーまたはグループが IPC インターフェイスに接続するのを許可します。たとえば、以下のエラーメッセージには、GNOME Display Manager(GDM) の UID および GID 値が含まれます。
IPC connection denied: uid=42 gid=42 pid=8382, where uid and gid 42 = gdm
不足しているパーミッションを gdm
ユーザーに付与するには、usbguard
コマンドを使用して usbguard
デーモンを再起動します。
# usbguard add-user gdm --group --devices listen # systemctl restart usbguard
不足しているパーミッションを付与した後に、エラーメッセージがログに表示されなくなります。
特定の 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
したがって、現在の設定は、正しく機能する文字列に限定する必要があります。