NFLabs. エンジニアブログ

セキュリティやソフトウェア開発に関する情報を発信する技術者向けのブログです。

Microsoft Entra ID と Microsoft Intune を利用したLAPS

はじめに

この記事は、NFLaboratories Advent Calendar 2023 - Adventar 1日目の記事です。

こんにちは。研究開発部 システム&セキュリティ担当の豊田です。

先日、2023 年 10 月 23 日の時点で一般提供されたMicrosoft Entra ID と Microsoft Intune のサポートを備えた Windows LAPS(以下、LAPS)について紹介します。

どんな記事か

LAPSとはLocal Administrator Password Solutionの略称です。
この記事では、Microsoft Entra ID と Microsoft Intune を利用したLAPSの基本的な操作と、確認した挙動について記載します。
確認した挙動については少し単調な記載になっていますが、後述するLAPSポリシーの設定値上、確認するのに思ったより時間がかかったので見てくれたら嬉しいです。
利用する上で気になりそうなポイントも確認したつもりなので、LAPSを利用しようか迷っている方の参考になれば幸いです。

この記事における前提

必要なライセンス

  • Microsoft Entra ID Free 以上
  • Microsoft Intune Plan 1 以上

端末の条件

  • Microsoft Entra joinまたはMicrosoft Entra hybrid join
  • 2023年4月以降の品質更新プログラムが適用された、以下OS

 Windows 10、バージョン 22H2
 Windows 10、バージョン 21H2
 Windows 10、バージョン 20H2
 Windows 11、バージョン 22H2
 Windows 11、バージョン 21H2

Microsoft Entra ID と Microsoft Intune を利用したLAPSでできること

  • 後述するポリシーで指定したローカルアカウントに対して、ランダムで複雑なパスワードを設定できます
  • 定期的に自動でパスワード変更を実行できます
  • パスワードを一時的に利用後、自動でパスワード変更を実行できます
  • Microsoft Entra 管理センター/Microsoft Intune管理センターからパスワード変更をプッシュできます
  • Microsoft Entra 管理センター/Microsoft Intune管理センターでパスワードを確認できます
  • Microsoft Entra 管理センターでパスワード変更ログなどを確認できます

管理センター上の設定

LAPSの有効化とポリシー作成

事前にLAPSの有効化と、LAPSの動作に関するポリシーを作成する必要があります。

LAPSの有効化

1. Microsoft Entra 管理センターにて、デバイス>すべてのデバイス>デバイスの設定>ローカル管理者設定 からLAPSを有効化します

LAPSのポリシー作成

1. Microsoft Intune管理センターにて、エンドポイント セキュリティ>アカウント保護>ポリシー作成 からLAPSプロファイルを作成します

2. 「基本」にて任意の名称を指定し、設定を進めます
3. 「構成設定」にて対象アカウントや、パスワードの条件などを指定し、設定を進めます。例えば以下のように設定します。
バックアップ ディレクトリ:パスワードを Azure AD のみにバックアップする
パスワード有効期間日数:オン(7)
管理者のアカウント名:構成されていません*1
パスワードの複雑さ:大文字+小文字+数字+特殊文字
パスワードの長さ:オン(16)
認証後のアクション:パスワードのリセット:猶予期間が過ぎると、マネージド アカウントのパスワードがリセットされます
認証後のリセット遅延:オン(1)*2

構成設定

4. その他設定を進めて、作成を完了します*3

管理センター上の操作とログの確認

管理センター上のパスワード確認方法

LAPSポリシーで設定したバックアップディレクトリにバックアップされます。
Microsoft Entra 管理センター/Microsoft Intune管理センターで以下のように確認できます。

  • Microsoft Entra 管理センター>デバイス>すべてのデバイス>ローカル管理者パスワードの回復
  • Microsoft Intune管理センター>デバイス>対象のデバイス>ローカル管理者パスワード


管理センターからパスワードローテーションの手動実行

Microsoft Entra 管理センター/Microsoft Intune管理センターでは以下のようにパスワードローテーションを手動実行できます。
管理センターから実行後、PCの再起動後にパスワード変更が実施され、管理センターにバックアップされます。

  • デバイス>対象のデバイス>ローカル管理者パスワードのローテーション


管理センター上のログの確認

Microsoft Entra 管理センターで確認ができます。

  • Microsoft Entra 管理センター>デバイス>監査ログ


Recover device local administrator password:管理センター上でパスワードが確認されたことを表すログです
Update device local administrator password:パスワードのローテーションが実行されたことを表すログです

PC上のログの確認

イベントビューアーで確認ができます。管理センターで見るよりも詳細で、LAPSがどう動作しているのか面白いです。

  • アプリケーションとサービスログ>Microsoft>Windows>LAPS>Operational


確認した挙動の紹介

パスワード認証後のアクション

パスワード認証後のアクションはポリシー作成時に以下の3つから1つ選択します。

  1. パスワードのリセット
  2. パスワードをリセットし、マネージドアカウントをログオフします
  3. パスワードをリセットして再起動する

時間ピッタリに実行されるのか、強制的に実行されるのかなど挙動が気になったので、3つそれぞれ以下のケースでどのような挙動になるか確認してみました。

  • User権限のアカウントでWindowsログインした状態で、LAPSでパスワード管理しているアカウントの情報を使ってコマンドプロンプトを管理者として実行
  • LAPSでパスワード管理しているアカウントでWindowsログイン
パスワードのリセット

以下のポリシーで実施しました。

User権限のアカウントでWindowsログインした状態で、LAPSでパスワード管理しているアカウントの情報を使ってコマンドプロンプトを管理者として実行

  • LAPSでパスワード管理しているアカウントの情報を使ってコマンドプロンプトを管理者として実行したタイミングで、認証後アクションを実行するようにタスクがスケジュールされます


  • 1時間後、認証後アクションが完了しました


  • 確かに認証後アクションが完了したタイミングで、パスワードが変更されています


  • しかしながら、1時間経過後もコマンドプロンプトを閉じなければ、管理者権限が必要なコマンドは実行できる状態でした。ただし、閉じてしまえば再度コマンドプロンプトを管理者として実行はできません

LAPSでパスワード管理しているアカウントでWindowsログイン

  • Windowsログインしたタイミングで、認証後アクションを実行するようにタスクがスケジュールされます


  • 1時間後、認証後アクションが完了しました


  • 確かに認証後アクションが完了したタイミングで、パスワードが変更されています


  • しかしながら、1時間経過後も管理者権限が必要なコマンドは実行できる状態で、ロックやサインアウトしなければ管理者としてWindows操作を継続できる状態でした


パスワードをリセットし、マネージドアカウントをログオフします

以下のポリシーで実施しました。

User権限のアカウントでWindowsログインした状態で、LAPSでパスワード管理しているアカウントの情報を使ってコマンドプロンプトを管理者として実行

  • LAPSでパスワード管理しているアカウントの情報を使ってコマンドプロンプトを管理者として実行したタイミングで、認証後アクションを実行するようにタスクがスケジュールされます


  • 1時間後、認証後アクションが完了しました。User権限のアカウントでWindowsログインした状態でしたが、サインアウトされませんでした。


  • 確かに認証後アクションが完了したタイミングで、パスワードは変更されています


  • しかしながら、1時間経過後もコマンドプロンプトを閉じなければ、管理者権限が必要なコマンドは実行できる状態でした。ただし、閉じてしまえば再度コマンドプロンプトを管理者として実行はできません

LAPSでパスワード管理しているアカウントでWindowsログイン

  • Windowsログインしたタイミングで、認証後アクションを実行するようにタスクがスケジュールされます


  • 1時間後、画面上にログオフに関するポップアップが表示されました。キャンセルするような選択肢やログオフまでの時間を変更する選択肢はありませんでした。ポップアップを閉じると、表示の時間内であれば操作できましたので、そのうちに保存などをする時間は短いですがあります。



パスワードをリセットして再起動する

以下のポリシーで実施しました。

User権限のアカウントでWindowsログインした状態で、LAPSでパスワード管理しているアカウントの情報を使ってコマンドプロンプトを管理者として実行

  • LAPSでパスワード管理しているアカウントの情報を使ってコマンドプロンプトを管理者として実行したタイミングで、認証後アクションを実行するようにタスクがスケジュールされます


  • 1時間後、画面上にシャットダウンに関するポップアップが表示されました。キャンセルするような選択肢やシャットダウンまでの時間を変更する選択肢はありませんでした。ポップアップを閉じると、表示の時間内であれば操作できましたので、そのうちに保存などをする時間は短いですがあります。


LAPSでパスワード管理しているアカウントでWindowsログイン
こちらも1時間後、画面上にシャットダウンに関するポップアップが表示される挙動でした。

パスワード認証後のアクション実行日時にWindowsPCが電源オフかつ、オフラインだとどのような挙動になるか

パスワード認証後のアクションは1-24時間後に実行されます。
実行日時に電源オフかつ、オフラインだと失敗して終わり。だと困ります。疑似的にその状況を作って試してみました。
以下のポリシーで実施しました。

  • 管理センターで前回のパスワードローテーション日時を確認しておきます


  • パスワード認証後、認証後アクションを実行するようにタスクがスケジュールされます。1時間後に、アクションが実行されるのでWindowsPCを電源オフかつ、オフラインにします


  • 1時間経過後にWindowsPCを起動します。オフラインの状態です。認証後のアクションが実行されていますが、エラーがでていることがわかります



  • パスワードリセットは実行されませんでした


  • 確かに、前回のパスワードローテーション日時から変化ありません。管理センター上も当然変化なしです。



  • WindowsPCをオンライン状態にします。前回の認証後のアクション実行後、30分後に再度認証後のアクションが実行されました。


  • 確かに、管理センター上でパスワードローテーション日時が更新されています。実行日時に電源オフかつ、オフラインだったとしても再試行されて実行されることがわかりました。


対象アカウントが無効でもパスワードは変更されるのか

対象アカウントが有効化されてからLAPSポリシーがあたるのでは、タイムラグがあってセキュリティ的にも緊急時のヘルプデスク対応的にも困りそうです。
対象アカウントが無効の状態で、パスワードローテーションの手動実行を試してみました。
以下のポリシーで実施しました。

  • パスワード変更前


  • パスワードローテーションの手動実行


  • パスワード変更ログ


  • パスワード変更後。対象アカウントが無効でもパスワードは変更されました。


パスワード認証後、認証後のアクションの実行日時までの間に、再度パスワード認証をするとどうなるか

パスワード認証後の、認証後アクションの実行日時が都度更新されていくと困ります。

こちらは、再度のパスワード認証を契機とした、認証後アクションを実行するタスクはスケジュールされませんでした。

最後に

今回は、LAPSの基本的な使い方と、確認した挙動について記載しました。
利用するのか、しないのか、利用するならどう利用するのかは環境によりけりだと思いますが、
例えば、以下のようなケースにおいて、LAPSを利用することはセキュリティの向上に寄与すると思います。

  • 何かしらの理由で既定の Administrator アカウントを有効にしてPCを運用している
  • 何かしらの理由でエンドユーザーに管理者権限を付与しており、既定の Administrator アカウントを有効化できる

既定の Administrator アカウントは、良く知られた名前であり、PCにデフォルトで存在します。攻撃者が権限を昇格させる際、狙われやすいアカウントです。*4
管理者アカウント セキュリティ計画ガイド - 第 3 章 | Microsoft Learnにおいても
以下の記載があるように、攻撃面を少なくするために、既定の Administrator アカウントは無効であることが望ましいです。

ビルトイン Administrator アカウントへの攻撃に対する最善の防御策は、新しい管理者アカウントを作成し、ビルトイン アカウントは無効にすることです。

無効にすることが望ましいですが、上記ケースのように既定の Administrator アカウントが有効化または有効化できる状態において、LAPSを使用することはパスワードを強固にするという点で
セキュリティの向上を期待できるのではないでしょうか。*5

*1:管理者のアカウント名の項目を省略すると既定の Administrator アカウントが対象となります。既定の Administrator アカウント以外に、特定のアカウントを対象にできますが、対象PCにそのアカウントが存在する必要があります。アカウントの作成は実行されません。

*2:ここで指定した時間(1-24)が経過すると、認証後のアクションで指定したアクションが実行されます

*3:割り当てについてはデバイスグループが推奨されています。ユーザー グループの割り当てもサポートされていますが、デバイスのユーザーが変更されると、新しいポリシーがデバイスに適用され、デバイスがバックアップするアカウントや、パスワードが次にローテーションされるタイミングなど、一貫性のない動作が発生する可能性があります。

*4:PCの新規インストールの場合、Out of Box Experience (OOBE) の指示に従いユーザアカウントを作成すると自動的に既定の Administrator アカウントは無効になります。 ビルトイン アカウントの Administrator を有効または無効にする | Microsoft Learn

*5:今回は既定の Administrator アカウントを対象としていますが、ポリシーで指定することで任意で特定のアカウントを対象とすることもできます。