Menu Close

4.13. ID 管理

IdM は新しいパスワードポリシーオプションをサポートするように

今回の更新で、Identity Management(IdM)が追加の libpwquality ライブラリーオプションに対応するようになりました。

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

ipa pwpolicy-mod を使用して、このオプションを適用します。たとえば、マネージャーグループのユーザーが提案するすべての新しいパスワードに、ユーザー名の確認を適用します。

*$ ipa pwpolicy-mod --usercheck=True managers*

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

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

(JIRA:RHELPLAN-89566)

各要求に一意の ID タグを追加して、SSSD デバッグのロギングを改善

SSSD は非同期的に要求を処理するため、異なるリクエストからのメッセージが同じログファイルに追加されるため、バックエンドログの個々のリクエストのログエントリーを追跡するのは容易ではありません。デバッグログの可読性を向上させるために、ログメッセージにRID#<integer> の形式で一意のリクエスト ID が追加されました。これにより、個々の要求に関連するログを分離でき、複数のSSSDコンポーネントからのログファイル全体でリクエストを最初から最後まで追跡できます。

たとえば、SSSD ログファイルからの以下の出力例は、2 つの異なる要求について一意の識別子の RID#3 および RID#4 を示しています。

(2021-07-26 18:26:37): [be[testidm.com]] [dp_req_destructor] (0x0400): RID#3 Number of active DP request: 0
(2021-07-26 18:26:37): [be[testidm.com]] [dp_req_reply_std] (0x1000): RID#3 DP Request AccountDomain #3: Returning [Internal Error]: 3,1432158301,GetAccountDomain() not supported
(2021-07-26 18:26:37): [be[testidm.com]] [dp_attach_req] (0x0400): RID#4 DP Request Account #4: REQ_TRACE: New request. sssd.nss CID #1 Flags [0x0001].
(2021-07-26 18:26:37): [be[testidm.com]] [dp_attach_req] (0x0400): RID#4 Number of active DP request: 1

(JIRA:RHELPLAN-92473)

IdM が、automember および server Ansible モジュールに対応可能に

今回の更新で、ansible-freeipa パッケージに ipaautomember モジュールおよび ipaserver モジュールが含まれるようになりました。

  • ipaautomember を使用して、自動メンバールールおよび条件の追加、削除、および変更を行うことができます。その結果、条件を満たす今後の IdM ユーザーおよびホストが、IdM グループに自動的に割り当てられます。
  • ipaserver モジュールを使用すると、IdM トポロジーでサーバーの有無に関わらず、さまざまなパラメーターを保証できます。また、レプリカを非表示にしたり、表示したりすることもできます。

(JIRA:RHELPLAN-96640)

IdMパフォーマンスベースライン

今回の更新により、4つのCPUと8 GBのRAMを搭載したRHEL 8.5のIdMサーバーで、130のIdMクライアントを同時に登録できることが確認されました。

(JIRA:RHELPLAN-97145)

SSSDのKerberosキャッシュのパフォーマンスが改善されました。

システムセキュリティサービスデーモン(SSSD)のKerberos Cache Manager(KCM)サービスに、新しいオペレーションKCM_GET_CRED_LISTが追加されました。この機能強化により、クレデンシャルキャッシュを繰り返し使用する際の入出力操作の回数が減り、KCMのパフォーマンスが向上しました。

(BZ#1956388)

SSSD がデフォルトでバックトレースをログするようになりました。

この改善により、SSSD は詳細なデバッグログをメモリー内のバッファーに保存し、障害発生時にログファイルに追加できるようになりました。デフォルトでは、以下のエラーレベルが原因でバックトレースが発生します。

  • レベル 0: 致命的な障害
  • レベル 1: 重大な障害
  • レベル 2: 重大な障害

この動作は、sssd.conf 設定ファイルの対応するセクションにある debug_level オプションを設定することで、SSSD プロセスごとに変更できます。

  • デバッグレベルを 0 に設定すると、レベル 0 のイベントのみがバックトレースをトリガーします。
  • デバッグレベルを 1 に設定すると、レベル 0 と 1 でバックトレースが発生します。
  • デバッグレベルを 2 以上に設定すると、レベル 0 から 2 のイベントでバックトレースが発生します。

sssd.conf の対応するセクションで debug_backtrace_enabled オプションを false に設定することで、SSSD プロセスごとにこの機能を無効にできます。

[sssd]
debug_backtrace_enabled = true
debug_level=0
...

[nss]
debug_backtrace_enabled = false
...

[domain/idm.example.com]
debug_backtrace_enabled = true
debug_level=2
...

...

(BZ#1949149)

SSSD KCMがチケットを付与するチケットの自動更新に対応しました

この機能拡張により、システムセキュリティサービスデーモン(SSSD)のKerberos Cache Manager(KCM)サービスが、Identity Management(IdM)サーバー上のKCMクレデンシャルキャッシュに保存されているチケットを付与するチケット(TGT)を自動更新するように設定できるようになりました。更新は、チケットの有効期間の半分に達したときにのみ行われます。自動更新を使用するためには、IdMサーバー上のキー配布センター (KDC)が、更新可能なKerberosチケットをサポートするように設定されている必要があります。

/etc/sssd/sssd.confファイルの[kcm]セクションを変更することで、TGTの自動更新を有効にすることができます。例えば、ファイルに以下のオプションを追加することで、60分ごとにKCMに保存された更新可能なTGTをチェックし、チケットの有効期間の半分に達した場合に自動更新を試みるようにSSSDを設定できます。

[kcm]
tgt_renewal = true
krb5_renew_interval = 60m

既存のドメインから更新用のkrb5オプションを継承するように SSSD を設定することもできます。

[kcm]
tgt_renewal = true
tgt_renewal_inherit = domain-name

詳細については、sssd-kcmのmanページの「Renewals」セクションを参照してください。

(BZ#1627112)

Samba がバージョン 4.14.4 にリベース

samba パッケージがアップストリームバージョン 4.14.4 にアップグレードされ、以前のバージョンに対するバグ修正や機能強化が追加されました。

  • Active Directory(AD)の公開プリンターの信頼性が向上し、AD で公開されている情報に新たなプリンター機能が追加されました。また、Samba は ARM64 アーキテクチャーの Windows ドライバーに対応するようになりました。
  • ctdb isnotrecmaster コマンドが削除されました。別の方法としては、ctdb pnn または ctdb recmaster コマンドを使用します。
  • クラスター化されたトリビアルデータベース(CTDB)のctdb natgw master および slave-onlyパラメーターの名前がctdb natgw leader および follower-onlyに変更されました。

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

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

主な変更の詳細は、更新前に アップストリームのリリースノートを参照してください。

(BZ#1944657)

dnaInterval 設定属性がサポートされるようになりました。

今回の更新で、Red Hat Directory Server は、cn=<DNA_config_entry>,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config エントリーで Distributed Numeric Assignment (DNA)プラグインの dnaInterval 属性の設定をサポートするようになりました。DNA プラグインは、指定された属性に一意の値を生成します。レプリケーション環境では、サーバーは同じ範囲を共有できます。異なるサーバーで重複を回避するために、dnaInterval 属性を設定して一部の値をスキップできます。たとえば、間隔が 3 で、範囲の最初の番号が 1 の場合、範囲で使用される次の数字は 4、続いて 7、次が 10 になります。

詳細は dnaInterval パラメーターの説明を参照してください。

(BZ#1938239)

Directory Server がバージョン 1.4.3.27 にリベース

389-ds-baseパッケージがアップストリームバージョン 1.4.3.27 にアップグレードされ、以前のバージョンに対するバグ修正や機能強化が数多く追加されました。主な変更点の一覧は、更新前にアップストリームのリリースノートを参照してください。

(BZ#1947044)

Directory Server が一時パスワードに対応

今回の機能拡張により、管理者はグローバルおよびローカルパスワードポリシーで一時パスワードルールを設定できるようになりました。これらのルールを使用すると、管理者がユーザーのパスワードをリセットすると、パスワードは一時的で、特定時間と定義された試行回数にのみ有効となるように設定できます。さらに、管理者がパスワードを変更した時点から有効期限が開始されないように設定できます。これにより、Directory Server では、一時パスワードを使用して、決められた時間または試行回数のみユーザーを認証できます。ユーザーが認証に成功すると、Directory Server により、このユーザーはパスワードの変更のみが許可されます。

(BZ#1626633)

Directory Server は、ロックの枯渇によって生じるデータベースの破損を防ぐ監視設定を提供します。

今回の更新で、nsslapd-db-locks-monitoring-enable パラメーターが cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config エントリーに追加されています。有効になっている場合(デフォルト)、アクティブなデータベースロックの数がnsslapd-db-locks-monitoring-thresholdで設定されているパーセンテージしきい値よりも大きい場合、DirectoryServerはすべての検索を中止します。問題が発生した場合、管理者は cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config エントリーの nsslapd-db-locks パラメーターで、データベースロックの数を増やすことができます。これにより、データの破損を防ぐことができます。さらに、管理者はスレッドがチェック間でスリープする間隔をミリ秒単位で設定できるようになりました。

詳細は、Red Hat Directory Server 設定、コマンド、およびファイルリファレンス のパラメーターの説明を参照してください。

(BZ#1812286)

Directory Server は、レトロチェンジログデータベースから属性とサフィックスを除外できます。

今回の機能拡張で、nsslapd-exclude-attrs および nsslapd-exclude-suffix パラメーターが Directory Server に追加されました。これらのパラメーターを cn=Retro Changelog Plugin,cn=plugins,cn=config エントリーに設定し、レトロチェンジログデータベースから特定の属性またはサフィックスを除外できます。

(BZ#1850664)

Directory Server で entryUUID 属性のサポート

今回の機能拡張により、Directory Server は、RFC 4530 に準拠するように entryUUID 属性をサポートするようになりました。たとえば、entryUUID サポートにより、OpenLDAP からの移行が容易になります。デフォルトでは、Directory Server は entryUUID 属性を新規エントリーのみに追加します。既存のエントリーに手動で追加するには、dsconf <instance_name> plugin entryuuid fixup コマンドを使用します。

(BZ#1944494)

nsSSLPersonalitySSLの設定に役立つ新しいメッセージを追加

これまでは、TLS 証明書のニックネームが設定パラメータnsSSLPersonalitySSL の値と一致しない場合に、RHDS インスタンスの起動に失敗することが多くありました。この不一致は、お客様が以前のインスタンスからNSS DBをコピーしたり、証明書のデータをエクスポートしたりした際に、nsSSLPersonalitySSLの値を適切に設定しなかった場合に発生しました。今回のアップデートでは、nsSSLPersonalitySSLを正しく設定するための追加メッセージがログに記録されます。

(BZ#1895460)