4.13. Identity Management

ホームディレクトリーを小文字に変換するための SSSD のサポート

この機能強化により、ユーザーのホームディレクトリーを小文字に変換するように SSSD を設定できるようになりました。これは、RHEL 環境の大文字と小文字を区別する性質とより適切に統合するのに役立ちます。/etc/sssd/sssd.conf ファイルの [nss] セクションの override_homedir オプションが %h テンプレート値を認識するようになりました。override_homedir 定義の一部として %h を使用すると、SSSD は %h をユーザーのホームディレクトリーの小文字に置き換えます。

Jira:RHELPLAN-139430

SSSD が shadow パスワードポリシーを使用した LDAP ユーザーパスワードの変更をサポートするようになりました。

この機能強化により、/etc/sssd/sssd.conf ファイルで ldap_pwd_policyshadow に設定すると、LDAP ユーザーは LDAP に保存されているパスワードを変更できるようになります。以前は、ldap_pwd_policyshadow に設定されている場合、対応する shadow LDAP 属性が更新されているかどうかが明確ではないため、パスワードの変更は拒否されました。

さらに、LDAP サーバーが shadow 属性を自動的に更新できない場合は、/etc/sssd/sssd.conf ファイルで ldap_chpass_update_last_change オプションを True に設定して、属性を更新するように SSSD に指示します。

Bugzilla:1507035

IdM は min_lifetime パラメーターをサポートするようになりました。

この機能拡張により、min_lifetime パラメーターが /etc/gssproxy/*.conf ファイルに追加されました。min_lifetime パラメーターは、サービスチケットの残りの有効期間がこの値よりも短い場合にサービスチケットの更新をトリガーします。

デフォルトの値は 15 秒です。NFS などのネットワークボリュームクライアントの場合、KDC が一時的に利用できなくなった場合にアクセスが失われるリスクを軽減するには、この値を 60 秒に設定します。

Bugzilla:2184333

ipapwpolicy ansible-freeipa モジュールが新しいパスワードポリシーオプションをサポートするようになりました。

この更新により、ansible-freeipa パッケージに含まれる ipapwpolicy モジュールは、追加の libpwquality ライブラリーオプションをサポートします。

maxrepeat
同じ文字の最大数を連続して指定します。
maxsequence
単調な文字シーケンスの最大長を指定します (abcd)。
dictcheck
パスワードが辞書の単語であるかどうかを確認します。
usercheck
パスワードにユーザー名が含まれるかどうかを確認します。

新しいパスワードポリシーオプションのいずれかが設定されている場合、パスワードの最小長は 6 文字です。新しいパスワードポリシー設定は、新しいパスワードのみに適用されます。

RHEL 7 サーバーと RHEL 8 サーバーが混在する環境では、新しいパスワードポリシー設定は、RHEL 8.4 以降で実行されているサーバーのみに適用されます。ユーザーが IdM クライアントにログインし、IdM クライアントが RHEL 8.3 以前で実行されている IdM サーバーと通信している場合、システム管理者によって設定された新しいパスワードポリシー要件は適用されません。一貫した動作を保証するには、すべてのサーバーを RHEL 8.4 以降にアップグレードします。

Jira:RHELPLAN-137416

IdM が ipanetgroup Ansible 管理モジュールをサポートするようになりました。

Identity Management (IdM) システム管理者は、IdM を NIS ドメインおよびネットグループと統合できます。ipanetgroup ansible-freeipa モジュールを使用すると、次のことを実現できます。

  • 既存の IdM ネットグループに特定の IdM ユーザー、グループ、ホスト、ホストグループ、およびネストされた IdM ネットグループが含まれていることを確認できます。
  • 特定の IdM ユーザー、グループ、ホスト、ホストグループ、およびネストされた IdM ネットグループが既存の IdM ネットグループに存在しないことを確認できます。
  • 特定のネットグループが IdM に存在するか存在しないかを確認できます。

Jira:RHELPLAN-137411

クライアントの DNS リゾルバーを指定する新しい ipaclient_configure_dns_resolver および ipaclient_dns_servers Ansible ipaclient ロール変数  

以前は、ansible-freeipa ipaclient ロールを使用して Identity Management (IdM) クライアントをインストールする場合、インストールプロセス中に DNS リゾルバーを指定できませんでした。インストール前に DNS リゾルバーを設定する必要がありました。   

この機能強化により、ipaclient ロールを使用して IdM クライアントをインストールするときに、ipaclient_configure_dns_resolver 変数と ipaclient_dns_servers 変数を使用して DNS リゾルバーを指定できるようになりました。その結果、ipaclient ロールは、ansible-freeipa ipaserver ロールが IdM サーバー上で行うのと同様の方法で、resolv.conf ファイル、NetworkManager および systemd-resolved ユーティリティーを変更して、クライアント上で DNS リゾルバーを設定します。その結果、ipaclient ロールを使用して IdM クライアントをインストールする際の DNS の設定がより効率的になりました。

注記

ipa-client-install コマンドラインインストーラーを使用して IdM クライアントをインストールするには、インストール前に DNS リゾルバーを設定する必要があります。

Jira:RHELPLAN-137406

ipaclient ロールを使用して IdM クライアントを OTP とともにインストールするには、Ansible コントローラーを事前に変更する必要はありません。

以前は、Ansible コントローラーの kinit コマンドは、Identity Management (IdM) クライアントのデプロイメント用のワンタイムパスワード (OTP) を取得するための前提条件でした。Red Hat Ansible Automation Platform (AAP) では、コントローラーで OTP を取得する必要性が問題でした。AAP では、krb5-workstation パッケージがデフォルトでインストールされませんでした。

この更新により、管理者の TGT に対するリクエストは、最初に指定または検出された IdM サーバーに委任されるようになりました。その結果、Ansible コントローラーを追加変更することなく、OTP を使用して IdM クライアントのインストールを承認できるようになりました。これにより、AAP での ipaclient ロールの使用が簡素化されます。

Jira:RHELPLAN-137403

IdM は、Kerberos チケットに MS-PAC 構造体の存在を適用するようになりました。

RHEL 9.2 以降、セキュリティーを向上させるために、Identity Management (IdM) および MIT Kerberos は、RHEL IdM Kerberos Distribution Center (KDC) が発行する Kerberos チケットに 特権属性証明書 (MS-PAC) 構造体の存在を適用するようになりました。

2022 年 11 月、CVE-2022-37967 への対応として、Microsoft はサーバーのチェックサムではなく、MS-PAC 構造体全体で計算される拡張署名を導入しました。RHEL 9.2 以降、IdM KDC が発行する Kerberos チケットに拡張署名も含まれるようになりました。

注記

IdM では、拡張署名の存在はまだ強制されていません。

Jira:RHELPLAN-159146

FIPS 140-3 準拠のキー暗号化を有効にする KDC の新しいレルム設定テンプレート

今回の更新により、/var/kerberos/krb5kdc/kdc.conf ファイルに新しい EXAMPLE.COM レルム設定の例が提供されます。これにより、次の 2 つの変更が行われます。

  • FIPS 140-3 準拠の AES HMAC SHA-2 ファミリーが、キー暗号化でサポートされるタイプのリストに追加されました。
  • KDC マスターキーの暗号化タイプが AES 256 HMAC SHA-1 から AES 256 HMAC SHA-384 に切り替えられます。
警告

この更新は、スタンドアロンの MIT レルムに関するものです。RHEL Identity Management で Kerberos Distribution Center (KDC) 設定を変更しないでください。

新しいレルムには、この設定テンプレートを使用することを推奨します。テンプレートは、すでにデプロイされているレルムには影響しません。テンプレートに従ってレルムの設定をアップグレードすることを計画している場合は、次の点を考慮してください。

マスターキーをアップグレードするには、KDC 設定の設定を変更するだけでは不十分です。MIT Kerberos ドキュメントに記載されているプロセスに従います。https://web.mit.edu/kerberos/krb5-1.20/doc/admin/database.html#updating-the-master-key

AES HMAC SHA-2 ファミリーをキー暗号化のサポートされているタイプに追加しても、KDC 内の既存のエントリーに影響しないため、常に安全です。キーは、新しいプリンシパルを作成するとき、または認証情報を更新するときのみに生成されます。この新しいタイプのキーは、既存のキーに基づいて生成できないことに注意してください。これらの新しい暗号化タイプを特定のプリンシパルで使用できるようにするには、認証情報を更新する必要があります。つまり、サービスプリンシパルのキータブも更新する必要があります。

プリンシパルが AES HMAC SHA-2 キーを備えてはならない唯一のケースは、Active Directory (AD) クロスレルム ticket-granting ticket (TGT) のものです。AD は RFC8009 を実装していないため、AES HMAC SHA-2 暗号化タイプファミリーを使用しません。したがって、AES HMAC SHA-2 で暗号化されたクロスレルム TGT を使用するクロスレルム TGS-REQ は失敗します。MIT Kerberos クライアントが AD に対して AES HMAC SHA-2 を 使用しないようにする最善の方法は、AD クロスレルムプリンシパルに AES HMAC SHA-2 キーを提供しないことです。これを行うには、AD ですべてサポートされているキー暗号化タイプの明示的なリストを使用して、クロスレルム TGT エントリーを作成してください。

  kadmin.local <<EOF
  add_principal +requires_preauth -e aes256-cts-hmac-sha1-96,aes128-cts-hmac-sha1-96 -pw [password] krbtgt/[MIT realm]@[AD realm]
  add_principal +requires_preauth -e aes256-cts-hmac-sha1-96,aes128-cts-hmac-sha1-96 -pw [password] krbtgt/[AD realm]@[MIT realm]
  EOF

MIT Kerboros クライアントが AES HMAC SHA-2 暗号化タイプを使用するようにするには、これらの暗号化タイプをクライアントと KDC 設定の両方で permitted に設定する必要もあります。RHEL では、この設定は crypto-policy システムによって管理されます。たとえば、RHEL 9 では、DEFAULT 暗号化ポリシーを使用するホストは AES HMAC SHA-2 および AES HMAC SHA-1 で暗号化されたチケットを許可しますが、FIPS 暗号化ポリシーを使用するホストは AES HMAC SHA-2 のみを受け入れます。

Bugzilla:2068535

設定ファイルを使用して pam_pwhistory を設定します。

この更新により、/etc/security/pwhistory.conf 設定ファイルで pam_pwhistory モジュールを設定できるようになりました。pam_pwhistory モジュールは、パスワード変更履歴を管理するために、各ユーザーの最後のパスワードを保存します。authselect にもサポートが追加され、pam_pwhistory モジュールを PAM スタックに追加できるようになりました。

Bugzilla:2126640Bugzilla:2142805

IdM が新しい Active Directory 証明書マッピングテンプレートをサポートするようになりました

Active Directory (AD) ドメイン管理者は、altSecurityIdentities 属性を使用して、証明書を AD 内のユーザーに手動でマッピングできます。この属性には 6 つの値がサポートされていますが、3 つのマッピングは安全ではないと考えられています。2022 年 5 月 10 日のセキュリティー更新 の一部として、この更新プログラムがドメインコントローラーにインストールされると、すべてのデバイスが互換モードになります。証明書がユーザーに弱くマッピングされている場合、認証は期待どおりに行われますが、完全強制モードと互換性のない証明書を示す警告メッセージがログに記録されます。2023 年 11 月 14 日以降、すべてのデバイスは完全強制モードに更新され、証明書が強力なマッピング基準を満たさない場合、認証は拒否されます。

IdM は新しいマッピングテンプレートをサポートするようになったため、AD 管理者は両方を維持することなく、新しいルールを使用できるようになりました。IdM は、次の新しいマッピングテンプレートをサポートするようになりました。

  • シリアル番号: LDAPU1:(altSecurityIdentities=X509:<I>{issuer_dn!ad_x500}<SR>{serial_number!hex_ur})
  • Subject Key Id: LDAPU1:(altSecurityIdentities=X509:<SKI>{subject_key_id!hex_u})
  • User SID: LDAPU1:(objectsid={sid})

新しい SID 拡張子を使用して証明書を再発行したくない場合は、AD のユーザーの altSecurityIdentities 属性に適切なマッピング文字列を追加して、手動マッピングを作成できます。

Bugzilla:2087247

samba がバージョン 4.17.5 にリベースされました。

samba パッケージがアップストリームバージョン 4.17.5 にアップグレードされ、以前のバージョンに対するバグ修正と拡張機能が提供されています。最も注目すべき変更点:

  • 以前のリリースでのセキュリティーの向上は、高メタデータワークロードのサーバーメッセージブロック (SMB) サーバーのパフォーマンスに影響を与えました。この更新により、このシナリオでのパフォーマンスが向上します。
  • 詳細なステータス情報を JSON 形式で表示するために、--json オプションが smbstatus ユーティリティーに追加されました。
  • samba.smb.conf モジュールと samba.samba3.smb.conf モジュールが smbconf Python API に追加されました。これらを Python プログラムで使用すると、Samba 設定をネイティブに読み取ったり、必要に応じて書き込むことができます。

Samba 4.11 以降はサーバーメッセージブロックバージョン 1 (SMB1) プロトコルが非推奨となり、今後のリリースで削除されることに注意してください。

Samba を起動する前にデータベースファイルがバックアップされます。smbdnmbd、またはwinbind サービスが起動すると、Samba が tdb データベースファイルを自動的に更新します。Red Hat は、tdb データベースファイルのダウングレードをサポートしていません。

Samba を更新した後、testparm ユーティリティーを使用して /etc/samba/smb.conf ファイルを確認します。

重要な変更点の詳細については、更新する前に、アップストリームリリースノート をお読みください。

Bugzilla:2131993

ipa-client-install が PKINIT による認証をサポートするようになりました。

以前は、ipa-client-install はパスワードベースの認証のみをサポートしていました。この更新により、PKINIT による認証のための ipa-client-install のサポートが提供されます。

以下に例を示します。

ipa-client-install --pkinit-identity=FILE:/path/to/cert.pem,/path/to/key.pem --pkinit-anchor=FILE:/path/to/cacerts.pem

PKINIT 認証を使用するには、IdM と PKINIT 証明書の CA チェーンの間に信頼を確立する必要があります。詳細については、ipa-cacert-manage(1) man ページを参照してください。また、証明書 ID マッピングルールは、ホストの PKINIT 証明書を、ホストレコードを追加または変更する権限を持つプリンシパルにマップする必要があります。詳細については、ipa certmaprule-add man ページを参照してください。

Bugzilla:2143224

Red Hat IdM と Certificate System が EST プロトコルをサポートするようになりました。

Enrollment over Secure Transport (EST) は、RFC 7030 で指定されている新しい Certificate System サブシステム機能で、認証局 (CA) から証明書をプロビジョニングするために使用されます。EST は、/getcacerts/simpleenroll/simplereenroll などのサーバー側の操作を実装します。

Red Hat は、Certificate System で EST とオリジナルの Simple Certificate Enrollment Protocol (SCEP) の両方をサポートしていることに注意してください。

Bugzilla:1849834

ネガティブキャッシュの使用を強化します。

この更新により、セキュリティー識別子 (SID) によるルックアップの SSSD パフォーマンスが向上します。存在しない SID を個々のドメインのネガティブキャッシュに保存し、SID が属するドメインを要求するようになりました。

Bugzilla:1766490

Directory Server が TLS の ECDSA 秘密キーをサポートするようになりました。

以前は、RSA より強力な暗号化アルゴリズムを使用して Directory Server 接続を保護することはできませんでした。この機能強化により、Directory Server は ECDSA キーと RSA キーの両方をサポートするようになりました。

Bugzilla:2096795

Directory Server が検索操作の拡張ログをサポートするようになりました。

以前は、アクセスログの記録には、一部の検索操作で etime 値が非常に大きい理由が示されませんでした。このリリースでは、インデックス検索 (データベース読み取り操作) の数や各検索操作ごとのインデックス検索の全体的な継続時間などの統計のログを有効にすることができます。これらの統計レコードは、etime 値がリソースを非常に高価にする理由を分析するのに役立ちます。

Bugzilla:1859271

NUNC_STANS エラーログレベルは、新しい 1048576 ログレベルに置き換えられました。

以前は、パスワードポリシーの問題を簡単にデバッグできませんでした。エラーログの新しいログレベル 1048576 を使用すると、次のパスワードポリシー情報を確認できるようになりました。

  • どのローカルポリシーがパスワードの更新を拒否または許可するか。
  • どのパスワードポリシーに違反したか。

Bugzilla:2057070

Directory Server ではセキュリティーログが導入されています。

問題を長期にわたって適切に追跡するために、Directory Server にはセキュリティーデータを維持する特殊なログが用意されるようになりました。セキュリティーログは、すべての情報が含まれるアクセスログと比較して、すぐには更新されず、消費するディスクリソースも少なくなりますが、セキュリティーデータを取得するために高価な解析が必要になります。

新しいサーバーログには、認証イベント、認可の問題、DoS/TCP 攻撃、その他のイベントなどのセキュリティーイベントが記録されます。

Directory Server は、セキュリティーログを他のログファイルとともに /var/log/dirsrv/slapd-instance_name/ ディレクトリーに保存します。

Bugzilla:2093981

Directory Server でアーカイブされたログファイルを圧縮できるようになりました。

以前は、アーカイブされたログファイルは圧縮されていませんでした。このリリースでは、アクセス、エラー、監査、監査失敗ログ、セキュリティーログファイルの圧縮を有効にして、ディスク領域を節約できます。デフォルトではセキュリティーログファイルの圧縮のみが有効になっていることに注意してください。

圧縮を管理するには、cn=config エントリーで次の新しい設定属性を使用します。

  • アクセスログ用の nsslapd-accesslog-compress
  • エラーログ用の nsslapd-errorlog-compress
  • 監査ログ用の nsslapd-auditlog-compress
  • 監査失敗ログ用の nsslapd-auditfaillog-compress
  • セキュリティーログ用の nsslapd-securelog-compress

Bugzilla:1132524

新しい pamModuleIsThreadSafe 設定オプションが利用可能になりました

PAM モジュールがスレッドセーフである場合、新しい pamModuleIsThreadSafe 設定オプションを yes に設定することで、その特定のモジュールの PAM 認証のスループットと応答時間を改善できます。

pamModuleIsThreadSafe: yes

この設定は、PAM モジュール設定エントリー (cn=PAM Pass Through Auth,cn=plugins,cn=config の子) に適用されます。

dse.ldif 設定ファイルまたは ldapmodify コマンドの pamModuleIsThreadSafe オプションを使用します。ldapmodify コマンドを使用するには、サーバーを再起動する必要があることに注意してください。

Bugzilla:2142639

Directory Server が証明書バンドルをインポートできるようになりました。

以前は、dsconf または dsctl ユーティリティーを使用して証明書バンドルを追加しようとすると、手順がエラーで失敗し、証明書バンドルはインポートされませんでした。このような動作は、一度に 1 つの証明書しかインポートできない certutil ユーティリティーが原因で発生しました。この更新により、Directory Server は certutil の問題を回避し、証明書バンドルが正常に追加されました。

Bugzilla:1878808

デフォルトの動作の変更: Directory Server が、データベース追加時とまったく同じスペルの DN を返すようになりました。

cn=config エントリーの新しい nsslapd-return-original-entrydn パラメーターを使用すると、検索操作中に Directory Server がエントリーの識別名 (DN) を返す方法を管理できます。

デフォルトでは、nsslapd-return-original-entrydn パラメーターは on に設定されており、Directory Server は最初にデータベースに追加されたときとまったく同じ DN を返します。たとえば、設定がオンの状態で、エントリー uid=User,ou=PEople,dc=ExaMPlE,DC=COM を追加または変更すると、Directory Server はエントリーの DN のスペルと同じもの (uid=User,ou=PEople,dc=ExaMPlE,DC=COM) を返します。

nsslapd-return-original-entrydn パラメーターを off に設定すると、Directory Server は、エントリーの Relative DN (RDN) と、データベース接尾辞設定の cn=userroot,cn=ldbm database,cn=plugins,cn=config に格納されているベース DN を組み合わせてエントリー DN を生成します。ベース DN を ou=people,dc=example,dc=com に設定し、nsslapd-return-original-entrydn 設定を off をオフにした場合、Directory Server は、データベースにエントリーを追加したときの DN のスペルではなく、uid=User,ou=people,dc=example,dc=com を検索時に返します。

Bugzilla:2075017

MIT Kerberos はチケット署名および拡張 KDC MS-PAC 署名をサポートします

この更新により、Red Hat が使用する MIT Kerberos は、最近の CVE に対応して Microsoft が導入した、2 種類の特権属性証明書 (PAC) 署名のサポートを実装します。具体的には、次の署名がサポートされます。

RHSA-2023:2570 および krb5-1.20.1-6.el9 も参照してください。

Bugzilla:2165827

Directory Server 監査ログ用の新しい nsslapd-auditlog-display-attrs 設定パラメーター

以前は、監査ログイベント内のターゲットエントリーを識別する方法は、識別名 (DN) のみでした。新しい nsslapd-auditlog-display-attrs パラメーターを使用すると、監査ログに追加の属性を表示するように Directory Server を設定できます。これにより、変更されたエントリーに関する詳細情報が提供されます。

たとえば、nsslapd-auditlog-display-attrs パラメーターを cn に設定すると、監査ログの出力にはエントリー cn 属性が表示されます。変更されたエントリーのすべての属性を含めるには、パラメーター値としてアスタリスク (*) を使用します。

詳細は、nsslapd-auditlog-display-attrs を参照してください。

Bugzilla:2136610