2022年7月9日土曜日

Active DirectoryのPSOを作ってパスワードポリシーを設定する

Active Direcotryによるドメインの環境では、グループポリシーを使うことでパスワードのポリシーを設定することができる。

しかし、グループポリシーはOU単位で設定が適用されるため、特定のユーザやセキュリティグループに対してパスワードのポリシーを分ける場合は、OU自体も分ける必要があり、適用先を柔軟に設定することができない。

このような問題を解消する方法として、Active DirecotyではPSO (Password Setting Object) と呼ばれるオブジェクトを作成することで、ユーザやセキュリティグループ単位でパスワードポリシーを適用することができる。

今回、Active DirectoryのPSOを作ってパスワードポリシーを設定する手順を記載する。

環境

Active DirectoryのドメインコントローラーはWindows Server 2016にて確認を行った。

PSOによるパスワードポリシー適用手順

1. Active Directory管理センターを開く

Active DirectoryのドメインコントローラとなっているOSにログインし、「サーバーマネージャー」→「ツール」→「Active Directory管理センター」を選択すると、「Active Directory管理センター」が表示される。

2. Password Settings Containerを開く

左メニューの「ドメイン名」→「System」→「Password Settings Container」を選択する。

PSO未作成の場合は画面右が空欄となっているはずなので、右クリック→「新規」→「パスワードの設定」を選択する。

3. PSOの作成

PSOの作成画面が開くので、セキュリティ要件に従いパスワード要件を設定する。なお、説明欄の記載はあくまで私の見解であり、組織やシステムのセキュリティ要件に従い適切に設定いた抱く必要がある点に注意いただきたい。

設定項目 説明
名前 作成するPSOの任意の名前を設定する。
優先順位 複数のPSOが存在した場合の優先順位を整数で指定する。PSOが1つしかない状況であれば、とりあえず1にしておいてもよいだろう。
パスワードの最小の長さを適用する パスワードの最小文字数の制限をかける設定。デフォルト7文字だが、パスワードの強度を上げる場合は最低でも8文字以上(可能なら14文字以上)で制限をかけるようにしよう。パスワード長は、パスワード長と解読時間の情報などを参考に必要な長さを決定するとよいだろう。
パスワードは要求する複雑さを満たす パスワードの文字列に、英大文字、英小文字、数字、記号を含めるようにする条件。パスワード文字列が十分に長い場合は、本設定は有効にすべきではないとの情報もある (NIST SP800-63-3) が、現実的にはそこまで長いパスワードを設定できないパターンが多いと思われることから、本設定は有効にしたほうがよいのではないかと思う。
パスワードの履歴を記録する 過去に利用したパスワードの再利用を禁止するルール。パスワードの履歴設定および定期的な変更を有効にしても、ユーザはもとのパスワードの文字列を少し変更したものにする傾向にあり、あまり効果的ではないといわれている。なお、通常のグループポリシーは24回が上限であるが、PSOの場合は24以上の値を設定することができる。
暗号化を元に戻せる状態でパスワードを保存する 通常パスワードはパスワード文字列そのものは保存されず、パスワードのハッシュが保存される。同じ文字列であれば同じハッシュ値となることを利用してパスワード認証を行うため、パスワード文字列そのものは保存することは必要とならないため、通常は本設定は無効にすべきだろう。
誤って消されないように保護する 本PSOの設定が削除されるとセキュリティ面で脆弱になることから、右クリックメニューから削除しても「このオブジェクトは保護されています」というエラーを表示し削除できないようにする設定。もし削除したい場合は、一度この設定を無効にしてから、右クリックにて削除する必要がある。
最小パスワード有効期間を適用する パスワード変更後、再変更をできない期間を設定する。
最大パスワード有効期間を適用する パスワードの有効期限を設定する。前述の通り、近年ではパスワードの定期変更は有効な対策にならないことが提唱されているため、設定しないという選択肢もありだろう。
適用するアカウントロックアウトポリシー 悪意のある攻撃者にパスワードの総当たり攻撃などをされた際に、パスワードのロックアウト設定をしておけば防御効果が見込めることから、通常は設定をした方がよいだろう。失敗回数のリセット時間およびロックアウトの解除までの時間は、「分」単位で指定する。

今回は例として、赤枠個所を設定している。

4. PSOの適用先を設定

続けて、適用先のユーザまたはセキュリティグループを設定する。「直接の適用先」から「追加」ボタンを選択し、適用先の情報を指定すればよい。今回はDomain Adminsグループに適用するよう設定した。

5. 設定したPSOの動作確認

設定したPSOが問題なく動作することを確認しよう。リモートデスクトップ接続などで、わざと10回パスワードを間違えてみよう。PSOが適用されていれば、11回目のログイン時に以下のような「ユーザーアカウントはロックされました」といったエラーが表示されるはずだ。

以上で、Active DirectoryのPSOを作ってパスワードポリシーを設定する手順は完了となる。

0 件のコメント:

コメントを投稿

人気の投稿