Active Directory
KeeperPAMを使用してActive Directoryのユーザーアカウントを遠隔でローテーション

概要
このガイドでは、KeeperPAMを使用して Active Directory ユーザーアカウントのパスワードをリモートでローテーションする方法を説明します。
要件
このガイドを実施する前に、次の条件を満たしている必要があります。
自身のロールにローテーションポリシーが設定されている
Keeperシークレットマネージャーのアプリケーションが作成されている
Keeperゲートウェイがオンラインになっている
KeeperゲートウェイがLDAPS (ポート 636) 経由でActive Directoryに接続できる状態になっている
1. PAMユーザーレコードを設定する
Keeperのローテーション機能は、このPAMユーザーレコード内の認証情報を使用して、ディレクトリ内の他のアカウントをローテーションします。このアカウントはドメイン管理者である必要はありませんが、他のアカウントのパスワードを正常に変更できる権限を持っている必要があります。

PAMユーザーレコードのフィールド
レコードタイプ
PAMユーザー
タイトル
Keeperレコードのタイトル
ログイン
Active Directory 管理者のユーザー名。ユーザー名の形式は、対象システムやサービスの種類によって異なります。
例: Administrator [email protected]
パスワード
Active Directory上の管理者ユーザーのパスワード。
識別名
Active Directory上の管理者ユーザーの完全な識別名 (DN)。
2. PAM構成のセットアップ
PAM構成は、環境とKeeperゲートウェイおよび認証情報を関連付けるものです。この事例用のPAM構成がまだ設定されていない場合は、新しく作成してください。
タイトル
構成名。例: My Active Directory
環境
Domain Controller を選択
ゲートウェイ
ディレクトリサーバーにアクセスできる Gateway を選択
アプリケーションフォルダ
手順1で作成した PAM ユーザーレコードを含む共有フォルダを選択
管理用認証情報
手順1で作成した PAM ユーザーレコードを選択
ホスト名またはIPアドレス
Active Directory ドメインのドメイン名またはIPアドレスを入力
ポート
636 (LDAPS) を入力。389 (LDAP) はローテーションに対応していません。
SSLを使用
このチェックボックスがオンになっていることを確認
3. PAMユーザーレコードのセットアップ
KeeperPAMは、PAMユーザーレコードにリンクされた認証情報を使用して、環境内の他のPAMユーザーレコードをローテーションします。PAMユーザーの認証情報は、シークレットマネージャーアプリケーションに割り当てられた共有フォルダに保存する必要があります。以下の例では、ADユーザー「demouser」をローテーションします。

PAMユーザーレコードのフィールド
レコードタイプ
PAM ユーザー
タイトル
Keeper レコードのタイトル。例: AD User - demouser
ログイン
ローテーション対象アカウントのユーザー名。ユーザー名の形式は、対象システムやサービスの種類によって異なります。
例: demouser [email protected]
パスワード
アカウントのパスワード (任意)。多くの場合、既存のパスワードを入力しなくてもローテーションを実行できますが、プロトコルやシナリオによっては必要になる場合があります。
識別名
ユーザーのLDAP DN。
例: CN=Demo User,CN=Users,DC=lureydemo,DC=local
ユーザーのDNが分からない場合は、次のPowerShellコマンドで確認できます。
Get-ADUser -Identity <username> -Properties DistinguishedName4. レコードでローテーションを構成する
PAMユーザーレコードを選択し、レコードの編集画面から [パスワードローテーション設定] を開きます。
PAMユーザーレコードの編集権限を持ち、かつローテーションを許可するポリシーが適用されているユーザーであれば、そのレコードに対してローテーションを設定できます。

「ローテーション」は「IAMユーザー」タイプに設定します。
「PAM構成」フィールドには、手順2で作成したActive DirectoryのPAM構成を指定します。
任意のスケジュールとパスワードの複雑度を選択します。
保存すると、ローテーションボタンが有効になり、手動または指定したスケジュールでローテーションを実行できるようになります。
トラブルシューティング
LDAPが正しく構成されているかを確認する簡単な方法は、「LDP.exe」を実行して接続をテストすることです。この接続が成功すれば、Keeperのローテーションも正常に実行できるはずです。

自己署名証明書を使用したテスト
KeeperでActive Directoryユーザーアカウントのローテーションをテストする場合は、LDAPS接続が有効であり、正しい証明書を使用していることを確認する必要があります。テスト目的であり、本番環境用の証明書をお持ちでない場合は、以下の手順で自己署名証明書を作成できます。
Active Directoryで自己署名証明書を使用するのはテスト目的のみにしてください。本番環境では使用しないでください。
証明書のインストール
このスクリプトは、証明書マネージャーの個人セクションにある証明書を検出し、それを信頼済みドメインにコピーします。スクリプトの1行目にある「company」パラメーターは、手順1で使用したドメイン名に置き換えてください。
# 作成した証明書を取得
$cert = Get-ChildItem -Path "Cert:\LocalMachine\My" | Where-Object {$_.Subject -like "*company*"}
$thumbprint = ($cert.Thumbprint | Out-String).Trim()
# レジストリを介して NTDS にコピー
$certStoreLoc = 'HKLM:/Software/Microsoft/Cryptography/Services/NTDS/SystemCertificates/My/Certificates'
if (!(Test-Path $certStoreLoc)) {
New-Item $certStoreLoc -Force
}
Copy-Item -Path HKLM:/Software/Microsoft/SystemCertificates/My/Certificates/$thumbprint -Destination $certStoreLoc
# 信頼されたルートストアにコピー
$rootStore = New-Object System.Security.Cryptography.X509Certificates.X509Store([System.Security.Cryptography.X509Certificates.StoreName]::Root, 'LocalMachine')
$rootStore.Open('ReadWrite')
$rootStore.Add($cert)
$rootStore.Close()最終更新


