8.5. セキュリティー
スキャンと修復は SCAP 監査ルールを正しく無視します。
以前は、監査キー (-k
または -F
キー) を使用せずに定義された監査監視ルールでは、次の問題が発生しました。
- ルールの他の部分が正しい場合でも、ルールは非準拠としてマークされていました。
- Bash 修復により監視ルールのパスと権限が修正されましたが、監査キーが正しく追加されませんでした。
-
修復によって欠落したキーが修正されず、
fixed
値の代わりにerror
が返されることがありました。
これは次のルールに影響を与えました。
-
audit_rules_login_events
-
audit_rules_login_events_faillock
-
audit_rules_login_events_lastlog
-
audit_rules_login_events_tallylog
-
audit_rules_usergroup_modification
-
audit_rules_usergroup_modification_group
-
audit_rules_usergroup_modification_gshadow
-
audit_rules_usergroup_modification_opasswd
-
audit_rules_usergroup_modification_passwd
-
audit_rules_usergroup_modification_shadow
-
audit_rules_time_watch_localtime
-
audit_rules_mac_modification
-
audit_rules_networkconfig_modification
-
audit_rules_sysadmin_actions
-
audit_rules_session_events
-
audit_rules_sudoers
-
audit_rules_sudoers_d
この更新により、Audit キーがチェック、Bash および Ansible の修復から削除されました。その結果、チェックおよび修復中にキーフィールドによって引き起こされる不一致は発生しなくなり、監査人はこれらのキーを任意に選択して監査ログの検索を容易にすることができます。
crypto-policies
が不要なシンボリックリンクを作成しなくなりました。
システムのインストール中、crypto-policies
スクリプトレットは、/usr/share/crypto-policies/DEFAULT
ファイルまたは FIPS モードの /usr/share/crypto-policies/FIPS
からシンボリックリンクを作成し、/etc/crypto-policies/back-ends
ディレクトリーに保存します。以前は、crypto-policies
が誤ってディレクトリーを含めていたため、/usr/share/crypto-policies/DEFAULT
または /usr/share/crypto-policies/FIPS
を参照する /etc/crypto-policies/back-ends/.config
シンボリックリンクが作成されていました。今回の更新により、crypto-policies
はディレクトリーからシンボリックリンクを作成しなくなるため、この不要なシンボリックリンクは作成されなくなります。
crypto-policies
が BIND の NSEC3DSA
を無効にするようになりました。
以前は、システム全体の暗号化ポリシーは、BIND 設定の NSEC3DSA
アルゴリズムを制御していませんでした。その結果、現在のセキュリティー要件を満たしていない NSEC3DSA
は、DNS サーバーで無効になりませんでした。この更新により、すべての暗号化ポリシーはデフォルトで BIND 設定の NSEC3DSA
を無効にします。
Libreswan は、FUTURE
および FIPS
暗号化ポリシーで SHA-1 署名検証を拒否しなくなりました
以前は、4.9 への更新以降、Libreswan は FUTURE
および FIPS
暗号化ポリシーで SHA-1 署名検証を拒否し、authby=rsasig
または authby=rsa-sha1
接続オプションが使用されている場合にピア認証が失敗しました。この更新では、Libreswan による crypto-policies
設定の処理方法を緩和することで、この動作を元に戻します。その結果、SHA-1 署名検証を使用して authby=rsasig
および authby=rsa-sha1
接続オプションを使用できるようになりました。
crontab
bash スクリプトが不適切なコンテキストで実行されなくなりました。
以前は、エラータ RHBA-2022:7691 で公開されたバグ修正で、一般的すぎる移行ルールが使用されていました。その結果、crontab
ファイルから実行された bash スクリプトが、system_cronjob_t
コンテキストではなく rpm_script_t
コンテキストで実行されていました。この更新により、bash スクリプトが正しいコンテキストで実行されるようになりました。
selinux-policy は
SAP ホストエージェントでのサービス実行をサポートします
以前は、SELinux ポリシーは、SAP ホストエージェントおよびその他のサービスと対話する Insights-client
サービスをサポートしていませんでした。その結果、一部のコマンドは Red Hat Insights から開始した場合に正しく機能しませんでした。この更新により、SELinux ポリシーは SAP サービスの実行をサポートします。その結果、Insights から開始された SAP サービスは正常に実行されます。
selinux-policy
により、pmcd
がプライベートの memfd:
オブジェクトを実行できるようになりました。
以前は、SELinux ポリシーでは、パフォーマンスコパイロット (PCP) フレームワークの pmcd
プロセスがプライベートメモリーファイルシステムオブジェクト (memfd:
) を実行することを許可していませんでした。その結果、SELinux は、memfd:
オブジェクトを実行する Performance Metric Domain Agent (PMDA) BPF Compiler Collection (BCC) サービスを拒否していました。この更新では、SELinux ポリシーに pcmd
の新しいルールが含まれています。その結果、enforcing モードの SELinux で pmcd
が memfd:
オブジェクトを実行できるようになりました。
SELinux ポリシーにより、sysadm_r
が subscription-manager
を使用できるようになります。
以前は、SELinux ロール sysadm_r
のユーザーは、subscription-manager
ユーティリティーの一部のサブコマンドを実行できませんでした。その結果、そのサブコマンドでメモリーデバイスを読み取ることができませんでした。この更新により、sysadm_t
タイプによる /dev/mem
の読み取りを許可する新しいルールが SELinux ポリシーに追加されます。これにより、subscription-manager
のサブコマンドが失敗しなくなります。
samba-dcerpcd
プロセスが nscd で正しく動作するようになりました。
以前は、SELinux ポリシーが原因で、samba-dcerpcd
プロセスは nscd
プロセスと通信できませんでした。その結果、nscd
サービスが有効になっている場合、samba-dcerpcd
サービスは正しく動作しませんでした。この更新により、SELinux ポリシーが更新され、samba-dcerpcd
用の新しいルールが追加されました。
vlock
が、制限のあるユーザーに対して適切に機能するようになりました。
以前は、SELinux ポリシーが原因で、制限のあるユーザーは vlock
を使用できませんでした。その結果、vlock
コマンドは制限されたユーザーに対しては適切に機能しませんでした。この更新により、SELinux ポリシーが更新され、制限のあるユーザー用の新しいルールが追加されました。
制限のあるユーザーが、拒否の報告を受けることなくログインできるようになりました。
以前の SELinux ポリシーでは、GUI を使用して SELinux の制限のあるユーザーにログインするために必要なすべての権限が許可されていませんでした。その結果、AVC 拒否が監査され、dbus
や pulseaudio
などの一部のサービスが正しく動作しませんでした。この更新により、SELinux ポリシーが更新され、制限のあるユーザー用の新しいルールが追加されました。
Insights-client
に SELinux ポリシーで追加の権限が付与されるようになりました。
更新された Insights-client
サービスには、以前のバージョンの selinux-policy
パッケージには含まれていなかった追加の権限が必要です。その結果、insights-client
の特定のコンポーネントが enforcing モードの SELinux で正しく動作せず、システムがアクセスベクターキャッシュ (AVC) エラーメッセージを報告していました。この更新により、不足している権限が SELinux ポリシーに追加されます。その結果、insights-client
は AVC エラーを報告せずに正しく動作するようになります。
SELinux ポリシーにより、ユーザー共有への smb
アクセスが許可されます。
以前は、samba-dcerpcd
プロセスは smb
サービスから分離されていましたが、ユーザー共有にはアクセスできませんでした。その結果、smb
クライアントがユーザー smb
共有上のファイルにアクセスできませんでした。この更新により、samba_enable_home_dirs
ブール値が有効な場合に samba-dcerpcd
バイナリーのユーザーホームコンテンツを管理するルールが SELinux ポリシーに追加されます。その結果、samba_enable_home_dirs
がオンの場合、samba-dcerpcd
はユーザー共有にアクセスできるようになります。
SELinux ポリシーにより、IPMItool の実行時に、制限のある管理者による ipmi
デバイスへのアクセスが許可されます。
以前の SELinux ポリシーでは、IPMItool ユーティリティーの実行時に、制限のある管理者が ipmi
デバイスの読み取りおよび書き込みを行うことはできませんでした。その結果、制限のある管理者が ipmitool
を実行すると失敗しました。この更新により、SELinux ロール sysadm_r
に割り当てられた管理者の許可ルールが selinux-policy
に追加されます。その結果、制限のある管理者が ipmitool
を実行したときに、ipmitool が正しく動作するようになります。
SCAP セキュリティーガイドのルール file_permissions_sshd_private_key
と STIG 設定 RHEL-08-010490 の整合性が確保されました。
以前は、ルール file_permissions_sshd_private_key
の実装により、モード 0644
の ssh_keys
グループによる SSH 秘密鍵の読み取りが許可されていましたが、DISA STIG バージョン RHEL-08-010490 では、SSH 秘密鍵のモードとして 0600
が要求されていました。その結果、設定 RHEL-08-010490 では、DISA の自動 STIG ベンチマークによる評価が失敗しました。
今回の更新のために、Red Hat は DISA と協力して、SSH 秘密鍵に求められるパーミッションを調整しました。現在、秘密鍵のモードには 0644
かそれ以上に厳しいパーミッションが求められます。その結果、ルール file_permissions_sshd_private_key
と設定 RHEL-08-010490 の整合性が確保されました。
sudo_require_reauthentication
SCAP セキュリティーガイドルールが、sudoers
に含まれる正しいスペースを受け入れます。
以前は、xccdf_org.ssgproject.content_rule_sudo_require_reauthentication
ルールのチェックのバグにより、/etc/sudoers
ファイルおよび /etc/sudoers.d
ディレクトリー内の timestamp_timeout
キーとその値の間に特定のスペースが必要でした。その結果、仕様に準拠した有効な構文でも、ルールが誤って失敗しました。今回の更新により、xccdf_org.ssgproject.content_rule_sudo_require_reauthentication
のチェックが更新され、等号の前後の空白を受け入れるようになりました。その結果、ルールが、仕様に準拠した正しい timestamp_timeout
の定義 (スペースの形式が次のいずれかであるもの) を受け入れるようになりました。
-
Defaults timestamp_timeout = 5
-
Defaults timestamp_timeout= 5
-
Defaults timestamp_timeout =5
-
Defaults timestamp_timeout=5
古い Kerberos ルールが RHEL の新しいバージョンでは notapplicable
に変更されました。
以前は、RHEL 8.8 以降のシステムで FIPS モードで DISA STIG プロファイルをスキャンしているときに、システムが規格に準拠しているはずであっても、一部の Kerberos 関連ルールが失敗していました。これは次のルールによって発生していました。
-
xccdf_org.ssgproject.content_rule_package_krb5-server_removed
-
xccdf_org.ssgproject.content_rule_package_krb5-workstation_removed
-
xccdf_org.ssgproject.content_rule_kerberos_disable_no_keytab
この更新により、これらのルールは RHEL バージョン 8.8 以降には適用されなくなります。その結果、スキャンでこれらのルールに notapplicable
という結果が正しく返されます。
scap-security-guide
STIG プロファイルで、/etc/audit/rules.d/11-loginuid.rules
に特定のテキストが必要なくなりました。
以前は、RHEL 8 プロファイル stig
および stig_gui
で使用される SCAP ルール audit_immutable_login_uids
は、ファイル /etc/audit/rules.d/11-loginuid.rules
に正確なテキストが含まれている場合にのみ合格していました。ただし、これは STIG 要件 (RHEL-08-030122) を満たすために必要なわけではありません。この更新により、新しいルール audit_rules_immutable_login_uids
が、RHEL 8 stig
および stig_gui
プロファイルの audit_immutable_login_uids
に置き換わります。その結果、audictl
または augen-rules
の使用に応じて、/etc/audit/rules.d
ディレクトリーまたは /etc/audit/audit.rules
ファイル内の .rules
拡張子を持つ任意のファイルで、ルールを満たす --loginuid-immutable
パラメーターを指定できるようになりました。
scap-security-guide
の CIS プロファイルのルールがより適切に割り当てられました。
以前は、一部のルールが特定の Center for Internet Security (CIS) プロファイル (cis
、cis_server_l1
、cis_workstation_1
、および cis_workstation_l2
) に誤って割り当てられていました。その結果、一部の CIS プロファイルに従ってスキャンすると、CIS ベンチマークからルールがスキップされたり、不要なルールがチェックされたりすることがありました。
次のルールが間違ったプロファイルに割り当てられました。
-
ルール
kernel_module_udf_disabled
、sudo_require_authentication
およびkernel_module_squashfs_disabled
が、CIS Server Level 1 および CIS Workstation Level 1 に誤って配置されていました。 -
ルール
package_libselinux_installed
、grub2_enable_selinux
、selinux_policytype
、selinux_confinement_of_daemons
、rsyslog_nolisten
、service_systemd-journald_enabled
が、CIS Server Level 1 および CIS Workstation Level 1 プロファイルから欠落していました。 -
ルール
package_setroubleshoot_removed
およびpackage_mcstrans_removed
が CIS Server Level 1 プロファイルから欠落していました。
この更新により、割り当てが正しくなかったルールが正しい CIS プロファイルに割り当てられます。ただし、新しいルールが導入されたり、ルールが完全に削除されたりすることはありません。その結果、SCAP CIS プロファイルと元の CIS ベンチマークとの整合性が向上しました。
Clevis が crypttab
でコメントアウトされたデバイスを無視します。
以前は、Clevis が crypttab
ファイル内のコメントアウトされたデバイスのロックを解除しようとしたため、デバイスが有効でない場合でも clevis-luks-askpass
サービスが実行されてしまいました。これにより、不必要なサービスが実行され、トラブルシューティングが困難になりました。
この修正により、Clevis はコメントアウトされたデバイスを無視します。今後は、無効なデバイスがコメントアウトされている場合、Clevis はそのデバイスのロックを解除しようとせず、clevis-luks-askpass.service
が適切に終了します。これにより、トラブルシューティングが容易になり、不必要なサービスの実行が削減されます。
Clevis は pwmake
に過剰なエントロピーを要求しなくなりました。
以前は、Clevis が pwmake
を使用してデータを LUKS
メタデータに保存するためのパスワードを作成するときに、pwmake
パスワード生成ユーティリティーによって不要な警告が表示され、Clevis が使用するエントロピーが低下していました。この更新により、Clevis は pwmake
に提供されるエントロピービットが 256 に制限され、不要な警告が排除され、正しい量のエントロピーが使用されます。
logrotate
はログローテーションで Rsyslog に誤って通知しなくなりました。
以前は、logrotate
スクリプトで引数の順序が誤って設定されており、構文エラーが発生していました。これにより、logrotate
がログローテーション中に Rsyslog に正しく信号を送信できなくなりました。
今回の更新により、logrotate
の引数の順序が修正され、POSIXLY_CORRECT
環境変数が設定されている場合でも、logrotate
はログローテーション後に Rsyslog に正しく通知するようになりました。
imklog
のバグにより Rsyslog がクラッシュしなくなりました。
以前は、imklog
モジュールが有効になっており、無効なオブジェクトを使用した free()
呼び出しが使用中に解放された場合、Rsyslog でセグメンテーション違反が発生する可能性がありました。今回の更新により、解放されたオブジェクトが正しい場所で正しく割り当て解除されるようになりました。その結果、セグメンテーション違反が発生しなくなります。
USBGuard で紛らわしい警告が表示されなくなりました。
以前は、親プロセスが最初の子プロセスよりも早く終了すると、USBGuard で競合状態が発生することがありました。その結果、systemd
は、誤って識別された親 PID (PPID) を持つプロセスが存在すると報告しました。この更新により、親プロセスは最初の子プロセスが作業モードで終了するまで待機します。その結果、systemd
は、そのような警告を報告しなくなります。
usbguard
サービスファイルで OOMScore
が定義されていませんでした。
以前は、usbguard
サービスファイルで OOMScoreAdjust
オプションが定義されていませんでした。その結果、システムリソースが枯渇しそうになった場合、そのプロセスは、特権のないプロセスよりも先に強制終了の候補として特定されることがありました。この更新により、usbguard ユニットの OOM 強制終了プロセスを無効にするために、新しい OOMScoreAdjust
設定が usbguard.service
ファイルに導入されました。
USBGuard は、RuleFile が定義されていない場合でもルールを保存します。
以前は、USBGuard の RuleFolder
設定ディレクティブが設定されていても、RuleFile
が設定されていない場合、ルールセットを変更できませんでした。今回の更新により、RuleFile が設定されていなくても、RuleFolder が設定されている場合は、ルールセットを変更できるようになりました。その結果、USBGuard の永続ポリシーを変更して、新しく追加されたルールを永続的に保存できます。