10.6. セキュリティー

/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- のファイル権限はベンチマークに合うように設定されません。

(BZ#1858866)

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

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

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

# yum module enable libselinux-python
# yum install libselinux-python

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

# yum 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 ポリシーを生成することができます。

(BZ#1763210)

/etc/selinux/configSELINUX=disabled が正常に動作しません。

/etc/selinux/configSELINUX=disabled オプションを使用して SELinux を無効にすると、カーネルが SELinux を有効にして起動し、その後のブートプロセスで無効化モードに切り替わります。これにより、メモリーリークが生じる可能性があります。

この問題を回避するには、SELinux を完全に無効にする必要がある場合に SELinux の使用システムの起動時に SELinux モードの変更 で説明されているように、selinux=0 パラメーターをカーネルコマンドラインに追加して SELinux を無効にすることが推奨されます。

(JIRA:RHELPLAN-34199)

sshd -T が、暗号、MAC、および KeX アルゴリズムに関する不正確な情報を提供する

sshd -T コマンドの出力には、システム全体の暗号化ポリシー設定や、/etc/sysconfig/sshd 内の環境ファイルから取得でき、sshd コマンドの引数として適用されるその他のオプションは含まれていません。これは、アップストリームの OpenSSH プロジェクトが RHEL8 で Red-Hat が提供する暗号化のデフォルトをサポートするための Include ディレクティブをサポートしていなかったために発生します。暗号化ポリシーは、EnvironmentFile を使用してサービスを開始するときに、sshd.service ユニットの sshd 実行可能ファイルにコマンドライン引数として適用されます。この問題を回避するには、sshd -T $CRYPTO_POLICY のように、環境ファイルで source コマンドを使用し、暗号化ポリシーを引数として sshd コマンドに渡します。詳細については、暗号、MAC、または KeX アルゴリズムが sshd -T とは異なり、現在の暗号ポリシーレベルで提供されるものとは異なるを参照してください。その結果、sshd -T からの出力は、現在設定されている暗号化ポリシーと一致します。

(BZ#2044354)

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)

crypto-policies が Camellia 暗号を誤って許可する。

RHEL 8 システム全体の暗号化ポリシーでは、製品ドキュメントで説明されているように、すべてのポリシーレベルで Camellia 暗号を無効にする必要があります。ただし、Kerberos プロトコルでは、デフォルトでこの Camellia 暗号が有効になります。

この問題を回避するには、NO-CAMELLIA サブポリシーを適用します。

# update-crypto-policies --set DEFAULT:NO-CAMELLIA

これまでに上記のコマンドで、DEFAULT から切り替えたことがある場合は、DEFAULT を暗号化レベルの名前に置き換えます。

その結果、この回避策を使用して Cemellia 暗号を無効にしている場合に限り、システム全体の暗号化ポリシーを使用する全ポリシーで、この暗号化を適切に拒否できます。

(BZ#1919155)

OpenSC pkcs15-init によるスマートカードのプロビジョニングプロセスが適切に動作しない

file_caching オプションは、デフォルトの OpenSC 設定で有効になっているため、キャッシュ機能は pkcs15-init ツールから一部のコマンドを適切に処理しません。したがって、OpenSC を使用したスマートカードのプロビジョニングプロセスは失敗します。

この問題を回避するには、以下のスニペットを /etc/opensc.conf ファイルに追加します。

app pkcs15-init {
        framework pkcs15 {
                use_file_caching = false;
        }
}

pkcs15-init を使用したスマートカードのプロビジョニングは、前述の回避策を適用している場合に限り機能します。

(BZ#1947025)

SHA-1 署名を使用するサーバーへの接続が GnuTLS で動作しない

証明書の SHA-1 署名は、GuTLS セキュアな通信ライブラリーにより、セキュアでないものとして拒否されます。したがって、TLS のバックエンドとして GnuTLS を使用するアプリケーションは、このような証明書を提供するピアへの TLS 接続を確立することができません。この動作は、その他のシステム暗号化ライブラリーと一貫性がありません。

この問題を回避するには、サーバーをアップグレードして、SHA-256 または強力なハッシュを使用して署名した証明書を使用するか、LEGACY ポリシーに切り替えます。

(BZ#1628553)

IKE over TCP 接続がカスタム TCP ポートで機能しない

tcp-remoteport Libreswan 設定オプションが適切に動作しません。したがって、デフォルト以外の TCP ポートを指定する必要があるシナリオでは、IKE over TCP 接続を確立することができません。

(BZ#1989050)

キックスタートインストール時のサービス関連のルールの修正が失敗する場合があります。

キックスタートのインストール時に、OpenSCAP ユーティリティーで、サービス enable または disable 状態の修正が必要でないことが誤って表示されることがあります。これにより、OpenSCAP が、インストール済みシステムのサービスを非準拠状態に設定する可能性があります。回避策として、キックスタートインストール後にシステムをスキャンして修復できます。これにより、サービス関連の問題が修正されます。

(BZ#1834716)

インストール中にシステムを強化すると、RHV ハイパーバイザーが正しく動作しないことがある

Red Hat Virtualization Hypervisor (RHV-H) をインストールし、Red Hat Enterprise Linux 8 STIG プロファイルを適用すると、OSCAP Anaconda Add-on が RVH-H ではなく RHEL としてシステムを強化し、RHV-H の必須パッケージを削除する場合があります。その結果、RHV ハイパーバイザーが機能しない場合があります。この問題を回避するには、プロファイルの強化を適用せずに RHV-H システムをインストールし、インストールが完了したら、OpenSCAP を使用してプロファイルを適用します。その結果、RHV ハイパーバイザーは正しく動作します。

(BZ#2075508)

Red Hat は、CVE OVAL レポートを圧縮形式で提供する

Red Hat は bzip2-compressed 形式で CVE OVAL フィードを提供し、XML ファイル形式では使用できなくなりました。RHEL 8 のフィードの場所は、この変更を反映するために適宜更新されています。圧縮されたコンテンツの参照は標準化されていないため、サードパーティーの SCAP スキャナーでは、フィードを使用するスキャンルールで問題が発生する可能性があります。

(BZ#2028428)

SSG における相互依存ルールの特定のセットが失敗する可能性がある。

ルールとその依存関係の順序付けを定義しないため、ベンチマークの SCAP Security Guide (SSG) ルールの修正が失敗する可能性があります。たとえば、特定の順番で複数のルールを実行する必要がある場合、あるルールがコンポーネントをインストールし、別のルールが同じコンポーネントを設定した場合すると、それらは正しくない順序で実行される可能性があり、修正によってエラーが報告されます。この問題を回避するには、修正を回実行して、番目の実行で依存ルールを修正します。

(BZ#1750755)

CIS Server プロファイルを使用すると、Server with GUI および Workstation をインストールできない

CIS Server Level 1 および Level 2 のセキュリティープロファイルは、Server with GUI および Workstation ソフトウェアの選択と互換性がありません。そのため、Server with GUI ソフトウェアの選択と CIS プロファイルを使用して RHEL 8 をインストールすることはできません。CIS Server Level 1 または Level 2 プロファイルと、これらのソフトウェアの選択のいずれかを使用したインストール試行では、エラーメッセージが生成されます。

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.

CIS ベンチマークに従ってシステムを Server with GUI または Workstation のソフトウェア選択に¥合わせる必要がある場合は、代わりに CIS Workstation Level 1 または Level 2 プロファイルを使用してください。

(BZ#1843932)

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)

STIG プロファイルの SSH タイムアウトルールが誤ったオプションを設定している

OpenSSH の更新は、次の米国国防情報システム局のセキュリティー技術実装ガイド (DISA STIG) プロファイルのルールに影響を与えました。

  • RHEL 8 用 DISA STIG (xccdf_org.ssgproject.content_profile_stig)
  • RHEL 8 用の GUI を備えた DISA STIG (xccdf_org.ssgproject.content_profile_stig_gui)

これらの各プロファイルでは、次の 2 つのルールが影響を受けます。

Title: Set SSH Client Alive Count Max to zero
CCE Identifier: CCE-83405-1
Rule ID: xccdf_org.ssgproject.content_rule_sshd_set_keepalive_0
STIG ID: RHEL-08-010200

Title: Set SSH Idle Timeout Interval
CCE Identifier: CCE-80906-1
Rule ID: xccdf_org.ssgproject.content_rule_sshd_set_idle_timeout
STIG ID: RHEL-08-010201

SSH サーバーに適用すると、これらの各ルールは、以前のように動作しなくなったオプション (ClientAliveCountMax および ClientAliveInterval) を設定します。その結果、OpenSSH は、これらのルールで設定されたタイムアウトに達したときに、アイドル状態の SSH ユーザーを切断しなくなりました。回避策として、これらのルールは、ソリューションが開発されるまで、DISA STIG for RHEL8 および DISA STIG with GUI for RHEL8 プロファイルから一時的に削除されました。

(BZ#2038977)

特定の 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)

Ansible 修復には追加のコレクションが必要

ansible-core パッケージによる Ansible Engine の置き換えにより、RHEL サブスクリプションで提供される Ansible モジュールのリストが削減されました。これにより、scap-security-guide パッケージに含まれる Ansible コンテンツを使用する修復を実行するには、rhc-worker-playbook パッケージからのコレクションが必要です。

Ansible 修復の場合は、以下の手順を実行します。

  1. 必要なパッケージをインストールします。

    # dnf install -y ansible-core scap-security-guide rhc-worker-playbook
  2. /usr/share/scap-security-guide/ansible ディレクトリーに移動します。

    # cd /usr/share/scap-security-guide/ansible
  3. 追加の Ansible コレクションへのパスを定義する環境変数を使用して、関連する Ansible Playbook を実行します。

    # ANSIBLE_COLLECTIONS_PATH=/usr/share/rhc-worker-playbook/ansible/collections/ansible_collections/ ansible-playbook -c local -i localhost, rhel9-playbook-cis_server_l1.yml

    cis_server_l1 を、システムを修正するプロファイルの ID に置き換えます。

これにより、Ansible コンテンツは正しく処理されます。

注記

rhc-worker-playbook で提供されるコレクションのサポートは、scap-security-guide から取得する Ansible コンテンツの有効化だけに限定されます。

(BZ#2114981)