【AD】GPOで複数のパスワードポリシーを適用したい時はPSOで解決!

こんにちはますのです。
定期パスワード更新について総務省が「定期パスワードの変更は不要」と2018年に話題になっていましたね。

 これまでは、パスワードの定期的な変更が推奨されていましたが、2017年に、米国国立標準技術研究所(NIST)からガイドラインとして、サービスを提供する側がパスワードの定期的な変更を要求すべきではない旨が示されたところです
※NIST SP800-63B(電子的認証に関するガイドライン)
引用:https://www.soumu.go.jp/main_sosiki/joho_tsusin/security/business/staff/01.html
総務省からのパスワード定期更新不要に則って変更検証をしようとしたところあら不思議。GPOってパスワードポリシーの設定が1つしか出来ないのですね。
基本的にはDefault Domain Policyに設定すると思うのですが、ドメインに直接リンクした優先度の高いパスワードポリシーが適用される様子。
検証出来ないじゃん!OU毎に段階的にとか出来ないじゃん!と思っていたら、ActiveDirectory管理センター内のPassword Setting Object(※以降はPSO)でADグループ単位で設定が出来そうでした。

事前準備:ActiveDirectoryにPSOを設定するグループを作成する

AD上にPSOを適用させるグループを作成

  • グループ名:PSO-Group
  • グループのスコープ:グローバル
  • グループの種類:セキュリティ

「PSO-Group」にテストユーザを追加

作成したADグループ「PSO-Group」へテスト用のユーザを参加させます。

PSOを設定する

PSOの設定がユーザに反映されるタイミングは、設定の最後でグループ追加するタイミングとなります。
それまでは設定を触ってもユーザ影響はないためGUI操作でポチポチしていきましょう。

サーバーマネージャーから「Active Directory 管理センター」を起動する

サーバーマネージャを起動>ツール>Active Directory 管理センターをクリック

Password Settings Containerを開く

左カラム:(ドメイン名)>「System」をクリック>「Password Settings Container」をクリックして開く

Password Settings Containerの空白部分で右クリック>「パスワードの設定」をクリック

パスワードポリシーを設定する

パスワードの設定の作成画面上でGPOとは異なるパスワードポリシーを作成していきます。
設定を適用するユーザはGPO上で設定されているパスワードポリシーは適用されません。そのため、全てのチェックを外して適用した場合はパスワードポリシーが全く適用されない状態となります。継承という概念は捨てましょう。

今回は以下の内容で設定します。

  1. パスワードの最小の長さ:12文字
  2. 大文字、小文字、数字、記号の組み合わせを必要とする
  3. パスワード変更有効期間は設けない
  4. 設定するADグループは「PSO-Group」のみとする

「複雑さの要件を満たす必要がある」に適用される内容はコチラ。
– ユーザーのアカウント名またはフル ネームに含まれる 3 文字以上連続する文字列を使用しない。
– 長さは 6 文字以上にする。
– 次の 4 つのカテゴリのうち 3 つから文字を使う。
 ・ 英大文字 (A ~ Z)
 ・ 英小文字 (a ~ z)
 ・ 10 進数の数字 (0 ~ 9)
 ・ アルファベット以外の文字 (!、$、#、% など)
以上の設定をすると「PSO-Group」に所属するユーザが、次回パスワード変更のタイミングから設定内容が適用されます。

PSOが設定されたか確認する

Active Directory管理センター>概要>グローバル検索で対象のユーザアカウントを入力して検索する

対象ユーザ「test-user」を選択>右カラム:プロパティをクリック

拡張>属性エディター>「フィルター:構築済み」にチェックを入れる>「msDS-ResultansPSO」を確認する
ここに先ほど作成したPSOがCNに適用されていれば完了です。
※今回は「test-policy」をPSOで作成しているので「CN=test-policy」となっています。

余談:net user /domainではGPOの内容が表示される

パスワード期限等を調べる時、コマンドプロンプトで「net user [ユーザ名] /domain」で検索しています。
PSOで設定している場合でも「net user [ユーザ名] /domain」の結果はGPOを基準に表示されるため注意しましょう。

いつものごとくグループポリシーでOU毎にポリシー作れば検証出来るでしょ!と思っていたら全然反映されないので焦ったであります。パスワードポリシーは1つでしか管理出来ないのは収穫でした。

複数設定したい場合はPSOで設定すると幸せになれることが多いかと思います。
コマンドプロンプトの結果に目をつぶれるのであれば運用もありかと感じた次第です。

最新情報をチェックしよう!