20.11. アカウントロックアウト属性の複製

アカウントのロックアウトポリシーにより、ログイン試行が失敗した回数を超えると、ユーザー ID が Directory Server にアクセスできなくなります。これにより、ハッカーやその他の悪意のあるユーザーは、パスワードを推測することで Directory Server に不正にアクセスできなくなります。パスワードポリシーはローカルに設定され、通常、アカウントロックアウト属性は各レプリカに対してローカルになります。つまり、アカウントのロックアウト回数に達するまでは、あるレプリカにログインを試み、すぐに別のレプリカで再試行することができるのです。それを防ぐには、アカウントのロックアウト回数に関連する属性をエントリーに複製し、1 つのサプライヤーでログイン試行に失敗した場合に、悪意のあるユーザーが設定内のすべてのサプライヤーとコンシューマーのレプリカからロックアウトされるようにします。
デフォルトでは、他のパスワード属性がある場合でも、3 つのパスワードポリシー属性は複製されません。これらの属性は、ログインの失敗およびロックアウト期間に関連します。
  • passwordRetryCount
  • retryCountResetTime
  • accountUnlockTime

20.11.1. アカウントロックアウトおよびレプリケーションの管理

パスワードとアカウントのロックアウトポリシーの適用は、複製された環境では若干異なります。
  • パスワードポリシーはデータサプライヤーで実施されます。
  • アカウントロックアウトは、レプリケーションに参加するすべてのサーバーに適用されます。
ディレクトリー内のパスワードポリシー情報の一部は、自動的に複製されます。
  • passwordMinAge および passwordMaxAge
  • passwordExp
  • passwordWarning
ただし、設定情報はローカルに保持され、複製されません。この情報には、パスワード構文とパスワード変更の履歴が含まれます。アカウントロックアウトカウンターおよび層は、特にレプリケーション用に設定されていない限り複製されません。
複製された環境でパスワードポリシーを設定する場合は、これらの要素が有効であることを確認し、パスワードポリシーとアカウントロックアウト設定が一貫して実行されるようにします。
  • パスワードの有効期限が迫っていることを示すサーバーからの警告は、すべてのレプリカで発行されます。この情報は、各サーバーにローカルに保存されるため、ユーザーが複数のレプリカにバインドされた場合は、同じ警告が複数回発行されます。また、ユーザーがパスワードを変更した場合は、その情報がレプリカに反映されるまでに時間がかかることがあります。ユーザーがパスワードを変更してすぐに再バインドすると、レプリカが変更を登録するまでバインドに失敗することがあります。
  • サプライヤーやレプリカなど、すべてのサーバーで同じバインド動作が発生する必要があります。各サーバーで同じパスワードポリシー設定情報を作成してください。
  • アカウントロックアウトカウンターは、マルチサプライヤー環境で期待どおりに機能しない可能性があります。アカウントのロックアウトカウンターは、デフォルトでは複製されません (ただし、設定は可能です)。アカウントのロックアウト属性がまったく複製されない場合、あるユーザーがあるサーバーからロックアウトされていても、別のサーバーには正常にバインドできる可能性があります (または、あるサーバーではロックが解除されていても、別のサーバーではブロックされている場合もあります)。アカウントロックアウト属性が複製されると、アカウントのロックアウトの変更と、その変更が他のサーバーに伝播されるときにラグが発生することがあります。これはレプリケーションのスケジュールにより異なります。
  • レプリケーション用に作成されるエントリー (例: サーバーアイデンティティー) には有効期限のないパスワードが必要です。これらの特別なユーザーに有効期限のないパスワードがあることを確認するには、エントリーに passwordExpirationTime 属性を追加し、その値を 20380119031407Z 有効な範囲内に) 指定します。
注記
パスワードポリシーが有効になり、alwaysRecordLogin パラメーターが yes に設定されている場合、lastLoginTime 属性の値は、サプライヤーと読み取り専用レプリカで異なる場合があります。たとえば、ユーザーが読み取り専用のレプリカにログインすると、lastLoginTime 属性はローカルに更新されますが、値はサプライヤーサーバーに複製されません。

20.11.2. パスワードポリシー属性を複製する Directory Server の設定

特別なコア設定属性は、パスワードポリシーの操作属性が複製されるかどうかを制御します。これは、コンシューマー Directory Server 設定で有効になっている passwordIsGlobalPolicy 属性で、コンシューマーがパスワードポリシーの操作属性を受け入れるようにします。
デフォルトでは、この属性は off に設定されます。
これらの属性を複製できるようにするには、コンシューマーで passwordIsGlobalPolicy 設定パラメーターを変更します。
# dsconf -D "cn=Directory Manager" ldap://server.example.com pwpolicy set --pwdisglobal="on"
この値を on に変更すると、passwordRetryCountretryCountResetTime、および accountUnlockTime が複製されます。

20.11.3. パスワードポリシー属性に対する一部レプリケーションの設定

passwordIsGlobalPolicy 属性を設定すると、コンシューマーがそれらの属性への更新を受け取ることができるように、レプリケーションのコンシューマーに影響します。パスワードポリシー属性がサプライヤーによって実際に複製されるかどうかを制御するには、特定のエントリー属性が複製されるものを制御する一部レプリケーションを使用します。
パスワードポリシー属性を複製する必要がある場合は (デフォルトでは設定) 一部レプリカ合意にこれらの属性が含まれていることを確認してください。
コンシューマーで passwordIsGlobalPolicy 属性が off に設定されているため、パスワードポリシー属性を複製する必要がない場合は、一部レプリケーション (「一部レプリケーションを使用した属性のサブセットの複製」で説明) を使用してサプライヤーでレプリケーションを強制し、それらの属性をレプリカ合意から明確に除外します。
レプリケーションの設定に関する詳細は、以下を参照してください。
上記のリンクでレプリカ合意を作成する場合は、一部レプリケーションを設定します。
  1. サプライヤーにレプリカ合意を設定する場合は、Show Advanced Settings をクリックします。
  2. Exclude Attributes フィールドに passwordRetryCount 属性、retryCountResetTime 属性、および accountUnlockTime 属性の名前を入力します。
  3. レプリカ合意の設定を終了します。