2014/09/17

Windows Server 2012 R2 Essentials パスワードの使い回しは(基本)無理なのね!~パスワード ポリシー

Windows Server 2012 R2 Essentials のドメインに参加しているユーザーがパスワードを変更する時があります。
例えば、ドメイン ユーザーとMicrosoft オンライン アカウントを関連付けた場合や一定期間が過ぎた場合。
パスワード ポリシーについてよく理解していなかったので、Windows Server 2012 R2 Essentials のユーザー パスワードのポリシーについて調べてみました。
2014.12.28 Windows Server Essentials専用PowerShell コマンドレットからパスワード ポリシーを確認する方法(リンク)を加筆しました。

主な標準パスワード ポリシー

Windows Server 2012 R2 Essentialsの<主な>標準パスワード ポリシーは下記の通りです。
  • パスワード長は7文字以上
  • 有効期間は180日
  • 履歴は24個

過去に設定したパスワードは記憶されています

ありがちな話になりますが、下記のようなパスワードを設定していたりしませんか?
  • パスワードの数値、又は一部文字をインクリメントする
    1. Test001 / TestA
    2. Test002 / TestB
    3. Test003 / TestC
    4. ・・・・
  • パスワードの数値、又は一部文字をを交互に変更する
    1. Test001 / TestA
    2. Test002 / TestB
    3. Test001 / TestA
    4. ・・・・
Windows Server 2012 R2 Essentials では、過去のパスワードを履歴として記録しているため過去に設定したパスワードは基本使えません。
過去に設定したパスワードを再度使ってみるとエラーになります。
前回と同じパスワードが使えるようになるには24回後ですから、有効期限180日×24=12年後になります。
残念ながら12年もWindows Server 2012 R2 Essentialsを使う企業はないと思いますので、実質同じパスワードは二度と使えないと考えています。

ユーザー パスワードのポリシーの確認、及び変更

Windows Server のパスワードにはいくつかのポリシーがあり、設定はグループ ポリシー管理エディターから確認できます。
確認方法は下記の通り。
  1. [アプリ]から[グループ ポリシーの管理]を選択
    ※スタート画面から検索した方が速いと思います。
  2. 左のフォルダ ペインにある[グループ ポリシーの管理]→[フォレスト:xxx.local]→[ドメイン]→[xxx.local]→[グループ ポリシー オブジェクト]を開く
  3. [Default Domain Policy]を選択
  4. 右側のペインの[設定]タブを選択
  5. 右上の[すべて表示]をクリックする
image
基本設定変更をする事はないはずですが、変更したい場合は下記手順で行います。
  1. フォルダ ペインの[Defualt Domain Policy]を右クリック、[編集]を選択
  2. [コンピューターの構成]→[Windows の設定]→[セキュリティの設定]→[アカウント ポリシー]→[パスワードのポリシー]を選択
  3. 右側一覧から設定変更したいポリシーを選択、[プロパティ]を選択
当然ですが、設定変更を行うことで運用ポリシーが変更されます。十二分に検討してから設定変更をしましょう。
2014-09-05_214722
2014.12.28 追加
Windows Server 2012 R2 Essentials専用のPowerShell コマンドレットを使うと簡単にパスワード ポリシーを確認出来ます。
Windows Server 2012 R2 Essentials パスワード ポリシーをPowerShellから確認する~Get-WssPasswordPolicy

各パスワード ポリシー の説明

パスワードの長さ
  • パスワードの最小文字数を指定します
  • パスワードが不要な場合は0を、パスワードが必要な場合は1~14
  • 既定値は、ドメイン コントローラーは7、スタンドアロン サーバーは0
  • Windows Server 2012 R2 Essentialsはドメイン コントローラーとして動作するため、「7文字以上」が設定されます
パスワードの変更禁止期間
  • 新しくパスワードを変更できるようになるまでの最小の日数を設定します
  • 標準設定は「0日」=有効期限は無制限となっています。
  • [パスワードの履歴を記録する]を有効にしている場合は、[パスワードの変更禁止期間]は1以上に設定
パスワードの有効期間
  • 1つのパスワードを使用できる期間 (日数)を設定します
  • 有効期間なしにする場合は0、指定する場合は1~999
  • [パスワードの変更禁止期間]値は、[パスワードの有効期間]の値よりも小さくする
    [パスワードの有効期間]を180日にした場合、[パスワードの変更禁止期間]は0~179日にする
  • プロパティの既定値は42ですが、Windows Server 2012 R2 Essentialsの設定値は180日
パスワードの履歴を記録する
  • 新しいパスワードを作成する際に、現在のパスワードまたは最近使ったパスワードと同じパスワードを使えないようにします
  • パスワードが不要な場合は0を、パスワードが必要な場合は1~14
  • 既定値は、ドメイン コントローラーは24、スタンドアロン サーバーは0
  • Windows Server 2012 R2 Essentialsはドメイン コントローラーとして動作するため、「24回」が設定されます
暗号化を元に戻せる状態でパスワードを保存する
このポリシーはTechnet Windows Server 2008 R2 のヒント集「ヒント: パスワードのポリシーを適用するためのベスト プラクティス」には下記のように説明されています。
パスワード データベースのパスワードは暗号化されています。通常、この暗号化は解除できません。
組織で、パスワードを読み取る必要があるアプリケーションを使用する場合にのみ、この設定を変更する必要があります。
この場合、[暗号化を元に戻せる状態でパスワードを保存する] ポリシーを有効にします。
ただし、このポリシーを有効にすると、パスワードはテキスト形式で保存されたも同然なので、テキスト ファイルにパスワードを保存したときと同じセキュリティ上のリスクが発生します。
このことを踏まえると、ユーザーごとにオプションを有効にし、必要になった場合にのみ対応する方が適切です。
既定値は無効になっていますので、「どうしても必要」になった場合は、ユーザー毎にオプションを有効にし、必要になった場合のみ有効にする対応の方が適切だそうです。
複雑さの要件を満たす必要があるパスワード
  • パスワードが複雑さの要件を満たす必要があるかどうかを決定する設定です
  • 有効にした場合、下記最少要件を満たす必要があります
    1. ユーザー アカウント名、又はフル ネームに含まられる3文字以上連続する文字列は使えない
    2. パスワード長は6文字以上
    3. 次の4カテゴリのうち3つから文字を使う
      1. 英大文字(A~Z)
      2. 英小文字(a~z)
      3. 10進数の文字(0~9)
      4. アルファベット以外の文字(!,$,#,%など)
  • 既定値は、ドメイン コントローラーは有効、スタンドアロン サーバーは無効
  • Windows Server 2012 R2 Essentialsはドメイン コントローラーのため、有効になっています

パスワードの変更禁止期間はなぜ0なのか?

今回調べて不思議に思ったことは
[パスワードの履歴を記録する]が24回に設定されているが、変更禁止期間が0、かつ、パスワードの有効期間が180日になっている
事です。
[パスワードの履歴を記録する]の[説明]タブには
既定では、メンバー コンピューターはそのドメイン コントローラーの構成に従います。
パスワードの履歴の有効性を保つために、パスワードの変更禁止期間セキュリティ ポリシーも有効にして、パスワードを変更した直後にはパスワードを変更できないようにしてください
パスワードの変更禁止期間セキュリティ ポリシーの詳細については、「パスワードの変更禁止期間」を参照してください。
と書かれており、[パスワードの変更禁止期間]の[説明]タブには
[パスワードの履歴を記録する] を有効にする場合は、パスワードの変更禁止期間を 1 以上に設定してください
パスワードの変更禁止期間を指定しない場合、ユーザーはパスワードを繰り返し変更して、以前のパスワードを再度利用することができます
と書かれています。
Windows Server 2012 R2 Essentials の設定は上記説明と矛盾があるぞ!と思いましたが、[パスワードの変更禁止期間]の説明に理由がしっかり説明されていました。
既定の設定はこの推奨事項に従っていません。
これは、管理者がユーザーのパスワードを設定しておき、管理者指定のパスワードをログオン時に変更するようユーザーに要求できるようにするためです。
[Office 365との統合]機能を有効にし、Microsoft オンライン アカウントをユーザーに割り当てた後にサインインするとパスワード変更が要求します。
この動作を行うためには、[パスワードの変更禁止期間]を0に設定していると考えています。
※Office 365との統合後に行うパスワード変更 手順を確認したい方は下記記事をお読みください。
Office 365のMicrosoft オンライン アカウントを割り当てる手順~Windows Server 2012 R2 Essentials
参考にしたサイト
スポンサーリンク

スポンサーリンク