Windowsのパスワードポリシーの一つ「複雑さの要件を満たす必要があるパスワード」の説明には、誤りが2つあります。1つは、Windowsのあるバージョンから誤りになってしまったもの。もう1つは、そもそもそんな要件など最初からなかったというものです。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
次の説明は、Active Directoryドメインの「グループポリシー」「ローカルコンピューターポリシー(Gpedit.msc)」「ローカルセキュリティポリシー(Secpol.msc)」で参照できる「複雑さの要件を満たす必要があるパスワード」ポリシーのものです(画面1)。
1つ目の誤りは「長さは6文字以上にする」です。2つ目の誤りは、「既定値:無効(スタンドアロンサーバーの場合)」です。
1つ目の誤りについては、Microsoftも認識しており、「Windows XP」から「Windows 7」と「Windows Server 2003」から「Windows Server 2008 R2」を対象としたサポート情報「“複雑さの要件を満たす必要がある”を有効にしてもパスワードの長さを6文字以上にする必要が無い(KB2617632)」が公開されていました(現在は削除されています)。
実際には、「複雑さの要件を満たす必要があるパスワード」ポリシーを有効にしても、パスワードの長さが6文字以上であるかどうかは一切チェックされません。パスワードの長さに関係するとすれば「4つのカテゴリのうち3つから文字を使う」なので最小3文字、それがユーザー名に含まれる連続した3文字でなければ、「複雑さの要件を満たすパスワード」になります。例えば、ユーザー名「user01」にとって、「Pw1」というパスワードは複雑さの要件を満たしているのです。
ただし、それは“ワークグループ構成のWindows Serverのローカルアカウント”の場合です。ドメインに参加するWindows Serverのローカルアカウント、およびドメインユーザーには、「Default Domain Policy」のパスワードのポリシーが適用されます。
ドメインのパスワードポリシーでは「複雑さの要件を満たす必要があるパスワード」ポリシーに加え、「パスワードの長さ:7文字以上」ポリシーが既定で「有効」になっています。そのため、「複雑さの要件を満たす必要があるパスワード」ポリシーの6文字以上の制限が実際には存在しないことに気付きにくくなっています。
2つ目の誤りである「既定値:無効(スタンドアロンサーバーの場合)」は、もともとは正しい説明でした。現在サポートされている(拡張セキュリティ更新プログラムを除く)Windowsの場合、Windowsクライアント(Homeエディションを除く)では「複雑さの要件を満たす必要があるパスワード」ポリシーが「無効」になっていて、Windows Serverでは「有効」になっているのが実際の既定値です。
そこで、仮想環境にアーカイブしている過去のさまざまなバージョンのWindows Serverを引っ張り出し、「複雑さの要件を満たす必要があるパスワード」ポリシーの説明の誤りが一体いつから生じたものなのか調べてみました。
2つ目の誤り(既定値:無効《スタンドアロンサーバーの場合》)はすぐに判明しました。「Windows Server 2008」までは「複雑さの要件を満たす必要があるパスワード」ポリシーの既定は「無効」でした。そして、Windows Server 2008 R2で既定値が「有効」に変更されました。
「複雑さの要件を満たす必要があるパスワード」ポリシーの“説明”が初めて登場したのは、Windows Server 2003(およびWindows XP)です(画面2)。その1つ前の「Windows 2000 Server」には“説明”がありませんでした(画面3)。
そして、Windows Server 2003とWindows 2000 Serverで「複雑さの要件を満たす必要があるパスワード」ポリシーを「有効」にし、「Pw1」というパスワードを設定できるかどうかを試してみたら、問題なく設定できました。つまり、「複雑さの要件を満たす必要があるパスワード」ポリシーに最初から「6文字以上」というチェックは含まれていなかったのです。
ヒントは以下の公式ドキュメントにありました。「強力なパスワード」の項に「Windows Server 2003以降では、オペレーティングシステムのセットアップ時に、管理者アカウントのパスワードの複雑さが確認されます」と記述されています。
実際にWindows Server 2003を途中まで新規インストールして確かめてみました。すると、「Windowsセットアップ」の「コンピューター名とAdministratorのパスワード」のところで、空のパスワードや簡単なパスワードで進もうとすると、確認のダイアログボックスが表示されました(画面4)。
複雑なパスワードを強制するものではなく、空のパスワードや簡単なパスワードのまま進むことは可能です。しかし、ここで説明されている強力なパスワードを設定するには、説明の条件を満たす必要がありました。
つまり、ここで「6文字以上」のチェックが入るのです。「複雑さの要件を満たす必要があるパスワード」ポリシーをパスする「Pw1」は受け付けてくれません。また、「複雑さの要件を満たす必要があるパスワード」ポリシーではユーザー名の連続した3文字をチェックしていますが、「Windowsセットアップ」は「Admin1」は受け付けず、「Adm123」は受け付けます。
Windows Server 2003およびWindows Server 2003 R2の「Windowsセットアップ」は、ビルトインAdministratorに可能なら強力なパスワードを設定してもらいたいという独自のチェックを行っていて、そこで「6文字以上」というチェックが行われていました。「複雑さの要件を満たす必要があるパスワード」ポリシーは別物ですが、説明が流用されたのではないかと想像します。
実は、「Windows Server 2003以降では、オペレーティングシステムのセットアップ時に、管理者アカウントのパスワードの複雑さが確認されます」には例外があります。それはWindows Server 2008です。
Windows Server 2008(およびWindows Vista)は、インストールがイメージベース(ファイルをコピーするのではなく、WIMイメージをディスクに展開する方式)に変更されました。インストールの最終段階でビルトインAdministratorのパスワードの設定を求められますが、それはAdministratorアカウントにセットされた「ユーザーは次回ログオン時にパスワードの変更」オプションによって実現されています。現行の最新バージョン「Windows Server 2019」でも同様です。
しかし、「複雑さの要件を満たす必要があるパスワード」ポリシーは、Windows Server 2008までは既定で「無効」でした。そのため、「Windowsセットアップ」が行っていた強力なパスワードのチェックは行われなくなり、空のパスワードや簡単なパスワードの設定で進むことができてしまいます(画面5)。
Windows Server 2008 R2で「複雑さの要件を満たす必要があるパスワード」ポリシーが既定で「有効」に変更されたのは、これがあったからでしょう(画面6)。しかし、「複雑さの要件を満たす必要があるパスワード」ポリシーでは「6文字以上」というチェックは行いません。
こうして、「パスワードの長さ6文字以上」というチェックは、Windowsの世界から消滅したのでした。
岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(2020-2021)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows版Docker&Windowsコンテナーテクノロジ入門』(日経BP社)、『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.