ワークグループ環境のWindows NAS、ここがパスワード管理の“落とし穴”山市良のうぃんどうず日記(210)

今回もWindows ServerベースのNASの話です。NASを小規模なワークグループ環境で運用する場合、NASにローカルユーザーを作成して、ユーザー名/パスワードの認証で共有フォルダへのアクセスを提供することになると思いますが、そのパスワードを誰が、どう管理するのかということで悩んだことはないでしょうか。実際に導入してみないと気が付かない“落とし穴”があったりします(本稿は、とあるオンラインセミナーでも少し触れたものです)。

» 2021年07月07日 05時00分 公開
[山市良テクニカルライター]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「山市良のうぃんどうず日記」のインデックス

山市良のうぃんどうず日記

ファイルサーバのローカルユーザーパスワード、有効期限が切れたら……

 Windows ServerベースのファイルサーバやNAS(ネットワーク接続型記憶域)専用機をワークグループ環境、つまりActive Directoryドメインに参加しない環境で利用する場合、ファイルサーバやNAS(以下、サーバ)のWindows Serverにローカルユーザーとグループを作成し、共有フォルダへのアクセス許可を設定することになると思います。

 共有フォルダにアクセスするユーザーは、共有フォルダに接続する際にファイルサーバやNASに登録されているユーザーのユーザー名/パスワードを入力して認証を受けます。

 サーバ側でローカルユーザーを作成するには、一般的に「コンピューターの管理」(Compmgmt.msc)や「ローカルユーザーとグループ」(Lusrmgr.msc)スナップインを使用します(他にも、コマンドラインや「Windows Admin Center」などを使う方法があります)。その際、「パスワードを無期限にする」オプションをチェック(有効化)しないと、既定では最後にパスワードを設定(例えば、ユーザー作成時)してから「42日後」にパスワードの有効期限が切れてしまいます。

 パスワードの有効期限は、「ローカルグループポリシーエディター」(Gpedit.msc)スナップインで「ローカルコンピューターポリシー」を開くと、以下の場所に設定されています(Active Directoryの場合はドメインの「Default Domain Policy」)。ユーザーごとに「パスワードを無期限にする」オプションをチェックする代わりに、以下のポリシーを「0日」に設定することで、パスワードの有効期限を無期限にすることができます。

  • コンピューターの構成\Windows の設定\セキュリティの設定\アカウント ポリシー\パスワードのポリシー
  • パスワードの有効期間:42日(既定)、0日(無期限)

 パスワードの有効期限が切れてしまった場合、「ユーザーは次回ログオン時にパスワードの変更が必要」オプションをチェックしたときと同様に、パスワードを変更するまでログオンまたはネットワーク経由で認証をパスすることはできなくなります(画面1)。

画面1 画面1 「ユーザーは次回ログオン時にパスワードの変更が必要」がチェックされている場合、およびパスワードの有効期限が切れている場合、何らかの方法で現在のパスワードを新しいものに変更しない限り、共有フォルダにアクセスできなくなる

 ユーザーがサーバのローカルコンソール(サーバに接続されたディスプレイ、キーボード、マウス)に物理的にアクセスできる場合は、「ユーザーは次回ログオン時にパスワードの変更が必要」オプションが有効な場合でも、パスワードの有効期限が切れていても、ローカルログオンしたときにパスワードの変更が可能です。

 また、ログオン後は[Ctrl]+[Alt]+[Del]キーで「セキュリティオプション」に切り替え、「パスワードの変更」から自分のパスワードを変更できます。しかし、NAS専用機の場合、通常、ローカルコンソールは接続されていません。

 古くからWindows Serverを、それもワークグループ環境で利用してきたサーバ管理者やユーザーであれば、ネットワーク上の別のWindows PCで[Ctrl]+[Alt]+[Del]キーを押し、「パスワードの変更」画面で「サーバ名\ユーザー名」を指定して、古いパスワードと新しいパスワードを入力すれば、有効期限が切れている/切れていないに関係なく、パスワードを変更できることをご存じかもしれません。この後説明することも、既知の情報かもしれません。

 しかし、普通にできると思っていたことが実は簡単にはできないと分かると、慌ててしまうと思います。例えば、「Windows Server 2019」ベースのファイルサーバで手元のWindows PCから、サーバのローカルユーザーのパスワードをリモートから変更しようとすると、「アクセスが拒否されました」のメッセージが表示され、失敗するでしょう(画面2)。少なくとも、Windows Server 2019の既定のセキュリティ設定ではそうなります。

画面2 画面2 ワークグループ構成のWindows Server 2019では、従来の方法によるローカルのWindowsからのパスワードの変更は「アクセス拒否」エラーで失敗する

 「ユーザーは次回ログオン時にパスワードの変更が必要」オプションをチェックして多数のユーザーを準備し、運用を始めようとしたとき、あるいは「42日」というパスワードの有効期限を知らずに運用を始めていた場合、有効期限が切れたところで、ネットワーク経由で変更できず、他に変更する方法が見当たらないことに気が付くことになります。

 「リモートデスクトップ接続でできるじゃないか」(リモートデスクトップ接続の場合は[Ctrl]+[Alt]+[End]キー)という声が聞こえてきそうですが、一般ユーザーにリモートデスクトップ接続を許可するには、「リモートデスクトップサービス(RDS)」環境の構築と「RDS CAL(クライアントアクセスライセンス)」が必要です。

 ワークグループ環境で可能な限り、RDSはコストをかけたくないという企業や組織には向きません。もし、RDSを利用するにしても、有効期限が切れたパスワードの変更は「ネットワークレベル認証(NLA)」の接続ではできなくなりました(その代わりというわけではありませんが、RDSのRD Webアクセスポータルにパスワードの変更機能があります)。

 そもそも、「Windows Server IoT 2019 for Storage」や「Windows Storage Server 2016」のNASを利用している場合は、ライセンス上、RDSを有効化して利用することは許可されていません。ローカルログオンしようにも、NASには常時ディスプレイやマウス、キーボードが接続されているわけではありません。

昔使えたパスワード変更操作は、もう使えない?

 実は筆者自身、Windows Server 2019の既定のセキュリティ設定ではサーバのローカルユーザーのパスワードをリモートから変更できないことに、つい先日気が付きました。

 最初、「アクセス拒否」でパスワード変更が失敗するのは、2016年に提供された「MS16-101」および11月の「MS16-137」のセキュリティ更新の影響と想像しましたが、そうではないようです。確かに「MS16-101」のセキュリティ更新で一時的に失敗するようになったようですが、その後の「MS16-137」のセキュリティ更新で別のアプローチに変更され、既知の問題の多くは解消されたようなのです。

従来の方法でリモートからローカルユーザーのパスワードを変更するには

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。