Windows ServerにRDP接続する際、ユーザにパスワード変更を求めるようにしたくてハマったこと

記事タイトルとURLをコピーする

コーヒーが好きな木谷映見です。

AWS環境でWindows Serverを構築してリモートデスクトップ接続(RDP接続)する際、初回ログイン時のパスワード変更がうまくいかなくてハマりました。本エントリでは原因と私が実施した対処法を記載します。

環境と構成図

今回RDP接続する先のWindows Serverのバージョンは以下になります。*1

  • Windows Server 2019 Datacenter
  • バージョン 1809 (OSビルド 17763.2565)

以下の図のように、パブリックサブネットに構築したLinuxサーバを踏み台にポートフォワードし、プライベートサブネットに構築したWindows Server 2019にRDP接続するという構成です。

発生した事象

Windows Serverで新たにRDP接続を許可したユーザを作成し、初回ログオン時にパスワードの変更を要求するよう設定します。
作成したユーザでRDP接続を試みると、以下のエラーが出て、新しく作成したユーザでパスワード変更することができません。

リモートデスクトップ接続
最初にログオンする前にパスワードを変更する必要があります。 パスワードを更新するか、システム管理者またはテクニカルサポートに問い合わせてください。

原因

Windows XP SP3、Windows Server 2008 以降では、RDP接続にネットワーク レベル認証 (NLA) が採用され、不用意にリモート デスクトップセッションを確立させないよう接続先のセキュリティレベルを高めています。

NLAでは、サーバーがユーザーとのセッションを確立する際に認証情報のやり取りをおこなうのですが、そのやり取りの中でパスワードの変更処理を受け渡す動作が含まれていないため、RDP接続ではログオン時にユーザのパスワード変更ができません。

Windows Server 2012、Windows 8 までは、リモートデスクトップ接続の設定でNLAを強制しないようチェックを外しておくことで、パスワードの変更ができていました。

Windows Server 2012 R2、Windows 8.1以降の場合、上記のチェックを外すだけではNLAが完全に無効化されないため、RDP接続でパスワード変更を実施することができません。
これはWindows OS のアップグレードに伴い、Windows Server 2012 R2 および Windows 8.1 以降でRDP接続の処理が変わったことが原因となります。

こちらのMicrosoftの記事に事象の原因と回避策が詳しく載っていますので、ご参照ください。

docs.microsoft.com

実施した対応

回避策としてMicrosoftの記事に以下3つが記載されているのですが、私は1.を実施することでうまくいきました。その手順を記載します。

1. NLAを完全に無効化する
2. RD Webアクセス経由でパスワードを変更する
3. .rdpファイルを作成し、CredSSPを用いた接続を行わないよう設定をする

NLAを完全に無効化する手順

デフォルトで払い出されるAdministratorユーザでWindows ServerにRDP接続し、Win + R キーで[ファイル名を指定して実行] を開きます。
"gpedit.msc" と入力し、[OK] をクリックします。

以下のポリシーを展開します。

[コンピューターの構成]-[管理用テンプレート]-[Windows コンポーネント]-[リモート デスクトップ サービス]-[リモート デスクトップ セッション ホスト]-[セキュリティ]

以下の ポリシーを設定します。

  1. リモート (RDP) 接続に特定のセキュリティ レイヤーの使用を必要とする
    状態: "有効"
    セキュリティ レイヤー: "RDP"
  2. リモート接続にネットワーク レベル認証を使用したユーザー認証を必要とする
    状態: "無効"

コマンド プロンプトを起動し、 "gpupdate /force" を実行し、ポリシーを適用します。

一旦Windows Serverからサインアウトします。
再度、新しく作成したユーザでRDP接続します。

以下のように、無事パスワードが求められました。 OKをクリックし、新しいパスワードを入力します。 無事パスワードの変更ができました。

終わりに

今回はWindows Server 2019 Datacenterで実施した結果を紹介してきました。 OSのバージョンによって挙動が異なる可能性もございますので、実施の前にMicrosoftの公式ドキュメントをご確認いただきますようお願いいたします。

*1:コミュニティAMIで「Windows_Server-2019-Japanese-Full-Base-2022.02.10」を選択し、Windows Server 2019を立ち上げています。

emi kitani(執筆記事の一覧)

AS部LX課。2022/2入社、亀の歩みで頑張っています。コーヒーとサウナが好きです。AWS認定11冠