Active Directory環境におけるローカル管理者アカウント管理ツールとして、LAPS(Local Administrator Password Solution)というものが存在します。 これは、Microsoftが公式に提供している無償ツールであるものの、Windows標準機能ではなくあくまで外部ツールであるため、すべての管理対象端末にインストールする必要があり、導入に一定のハードルがありました。
しかし、このLAPSがWindows標準機能としてOSに組み込まれる予定であり、すでにWindows 11 Insider Preview Buildによって新しいWindows LAPSを使用することができます。 検証環境を用いて、実際に新しいWindows LAPSを触ってみたので、その使い方や従来のLAPSとの違いを紹介します。
※注意
本記事の内容はWindows 11 Insider Preview Buildに含まれる機能を検証したものであり、正式リリース版は内容が異なる可能性があります。
LAPS(Local Administrator Password Solution)とは
LAPS(Local Administrator Password Solution)とは、Active Directoryに参加しているコンピュータのローカル管理者アカウントのパスワードを一括管理するためのツールです。
大量に存在するドメインコンピュータのローカル管理者アカウントすべてに、複雑かつ異なるパスワードを設定し人の手で管理することは容易ではなく、パスワードを使い回している環境は少なくありません。
Active Directory環境を狙う攻撃者は、そういったパスワードの使い回しを悪用し、侵入範囲の拡大を行います1。
そこで活躍するのがLAPSです。LAPSを導入することによって以下のことが可能となります。
- 各ドメインコンピュータのローカル管理者アカウントごとに異なるパスワードを自動で設定
- 設定されたパスワードはドメインコントローラに保存
- 設定されたパスワードはLAPS管理者のみ閲覧可能
- 設定されるパスワードのルール(長さや文字種など)指定や定期的なパスワードの自動変更も可能
具体的なLAPSの導入方法については、Microsoftによるこちらの記事(日本語)が参考になりますが、大まかな流れとしては以下のとおりです。
- LAPSツールのインストール
- Active Directoryの構成変更
- Active Directoryグループポリシーの設定
上記手順のとおり、従来のLAPSを利用するためには以下の端末それぞれにツールのインストールが必須であることから、導入に一定のハードルがありました。
- ドメインコントローラ:GPO Editor templates
- LAPS管理用端末:Management Tools(PowerShell module and Fat client UI)
- すべての管理対象端末:AdmPwd GPO Extension
そんなLAPSですが、2022年6月22日よりリリースされたWindows 11 Insider Preview Build 25145以降のバージョンではWindows LAPSとして生まれ変わり、OSに組み込まれています。
Windows LAPSについて
従来のLAPSと比較したWindow LAPSの最も大きな変更点としては、LAPSクライアントツールとLAPS管理ツールのいずれもWindows標準機能としてOSに組み込まれているため、端末にツールをインストールする必要がないという点です。
そのため、導入の際にいくつかの作業を行う必要がなくなりました。
- 必要のなくなった作業
- すべての管理対象端末に対するLAPSクライアントツール(AdmPwd GPO Extension)のインストール
- LAPS管理用端末へのLAPS管理ツールのインストール
- 現在も必要な作業
- Active Directoryの構成変更(Active Directoryスキーマの拡張や、コンピュータオブジェクトに対するアクセス権の設定など)
その他にも、機能の強化を中心とした変更点がいくつか存在します。
- 保存されるパスワードの暗号化に対応
- DSRMアカウントパスワードのバックアップに対応
- 複数のグループポリシーを追加
- LAPSコマンドレットの変更
- LAPS UI(LAPSを管理するGUIツール)が削除され、PowerShellモジュールに統合
Windows LAPSを実際に使ってみた
検証環境を用意し、Windows 11のWindows LAPSを実際に使ってみました。
用意した検証環境は以下のとおりで、新旧いずれのLAPSも未導入のActive DirectoryにInsider Preview BuildのWindows 11を参加させた状態です。
- 検証環境
Active Directoryスキーマの拡張
従来のLAPSであれば、LAPS管理ツールをインストールした端末上でPowerShellモジュールをインポートしActive Directoryスキーマの拡張を行いますが、Insider Preview BuildのWindows 11にはすでにPowerShellモジュールが入っています。
PS C:\> Get-Command -Module LAPS CommandType Name Version Source ----------- ---- ------- ------ Function Get-LapsAADPassword 1.0.0.0 LAPS Function Get-LapsDiagnostics 1.0.0.0 LAPS Cmdlet Find-LapsADExtendedRights 1.0.0.0 LAPS Cmdlet Get-LapsADPassword 1.0.0.0 LAPS Cmdlet Invoke-LapsPolicyProcessing 1.0.0.0 LAPS Cmdlet Reset-LapsPassword 1.0.0.0 LAPS Cmdlet Set-LapsADAuditing 1.0.0.0 LAPS Cmdlet Set-LapsADComputerSelfPermission 1.0.0.0 LAPS Cmdlet Set-LapsADPasswordExpirationTime 1.0.0.0 LAPS Cmdlet Set-LapsADReadPasswordPermission 1.0.0.0 LAPS Cmdlet Set-LapsADResetPasswordPermission 1.0.0.0 LAPS Cmdlet Update-LapsADSchema 1.0.0.0 LAPS
ちなみに、従来のLAPS PowerShellモジュールのコマンドレットは以下のとおりです。
PS C:\> Get-Command -Module AdmPwd.PS CommandType Name Version Source ----------- ---- ------- ------ Cmdlet Find-AdmPwdExtendedRights 5.0.0.0 AdmPwd.PS Cmdlet Get-AdmPwdPassword 5.0.0.0 AdmPwd.PS Cmdlet Reset-AdmPwdPassword 5.0.0.0 AdmPwd.PS Cmdlet Set-AdmPwdAuditing 5.0.0.0 AdmPwd.PS Cmdlet Set-AdmPwdComputerSelfPermission 5.0.0.0 AdmPwd.PS Cmdlet Set-AdmPwdReadPasswordPermission 5.0.0.0 AdmPwd.PS Cmdlet Set-AdmPwdResetPasswordPermission 5.0.0.0 AdmPwd.PS Cmdlet Update-AdmPwdADSchema 5.0.0.0 AdmPwd.PS
新旧のコマンドレットを比較してみると、コマンドレット名が若干変わり、数も増えていることが分かります。
Update-LapsADSchema
を使用してActive Directoryスキーマの拡張を行います。このとき、「Schema Admins」または「Enterprise Admins」に所属するドメインアカウントを使用します。
PS C:\> Import-Module LAPS PS C:\> Update-LapsADSchema The 'ms-LAPS-Password' schema attribute needs to be added to the AD schema. Do you want to proceed? [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): A
これにより、コンピュータオブジェクトに「msLAPS-Password」や「msLAPS-PasswordExpirationTime」など6つの属性が追加されます。
なお、従来のLAPSで追加される属性は「ms-McsAdmPwd」と「ms-Mcs-AdmPwdExpirationTime」の2つだったので、Windows LAPSでは属性の数も増えていることが分かります。
管理対象端末のコンピュータオブジェクトに対するアクセス権の設定
ドメインコントローラ上で新しくOU(Organization Unit)を作成し、LAPSによるローカル管理者アカウントのパスワード管理の対象となる端末を追加します。ここでは、「LAPS」というOUを作成し「WIN11-WS03」という端末を追加しています。
次に、作成したOUに所属する端末のコンピュータオブジェクトに対するアクセス権を設定します。この作業はドメインコントローラではなく、先ほどActive Directoryスキーマの拡張を行ったPowerShell上で行います。
PS C:\> Set-LapsADComputerSelfPermission -Identity LAPS Name DistinguishedName ---- ----------------- LAPS OU=LAPS,DC=ad,DC=example,DC=local
ローカルグループポリシーの編集
管理対象端末のローカルグループポリシーからLAPSによるパスワード管理を有効化します。
実運用ではグループポリシーによって一括でLAPSを有効化することになると思いますが、現状ドメインコントローラ側にLAPSのGPOテンプレートがないため、ここではローカルグループポリシーを用いています。
(2023.01.24 追記)
ADMXを使用することによってドメインコントローラ側でも設定可能であることを教えていただきました。
ローカルグループポリシーにおけるLAPSのパスは、Computer Configuration -> Administrative Templates -> System -> LAPS
です。設定値は以下の2つの項目を明示的に指定し、残りの項目はデフォルトのままにしています。
- Configure password backup directory:Enabled(Active Directory)
- Enable password encryption:Enabled
なお、各項目の詳細はMicrosoft公式のドキュメントに記載されています。
ちなみに、従来のLAPSのGPOテンプレートは以下の4項目であり、ここでもパスワードの暗号化やDSRMアカウントに関する項目が増えていることを確認できます。
パスワードの確認
Windows 11から一度サインアウトし、ローカル管理者アカウント(Built-in Administrator)によるログオンを試みると、すでにパスワードが変わっているためログオンできないことを確認できます。
ここで、ドメインコントローラから対象コンピュータオブジェクトの「msLAPS-EncryptedPassword」属性を確認してみると、暗号化されたパスワードが保存されていることが分かります。
平文パスワードはGet-LapsADPassword
コマンドで確認が可能です。
PS C:\> Import-Module LAPS PS C:\> Get-LapsADPassword -Identity WIN11-WS03 -AsPlainText ComputerName : WIN11-WS03 DistinguishedName : CN=WIN11-WS03,OU=LAPS,DC=ad,DC=example,DC=local Account : Administrator Password : +4m[25)+DKRfa+ PasswordUpdateTime : 12/26/2022 8:39:50 PM ExpirationTimestamp : 1/25/2023 8:39:50 PM Source : EncryptedPassword DecryptionStatus : Success AuthorizedDecryptor : AD\Domain Admins
なお、デフォルトの設定では暗号化されたパスワードを復号できるのはドメイン管理者アカウント(Domain Admins)のみですが、ローカルグループポリシーの「Configure authorized password decryptors」によって変更することも可能です。
おわりに
本記事では、Windows 11で新しくなったLAPSを実際に使用し、従来のLAPSとの相違点を紹介しました。
Active Directory環境において、マルウェアの感染範囲拡大につながる設定・運用不備はいくつかありますが、ローカル管理者アカウントのパスワードの使い回しもその1つです。
新しくなったWindows LAPSも(現状は)Active Directoryの構成変更が必要であるため、運用中のActive Directoryに気軽に適用とはいかないと思いますが、従来よりもハードルが下がり始めていることは確かです。本記事のような情報が情シス担当者やセキュリティ担当者の方に届き、セキュアな環境が少しでも増えれば嬉しいです。
参考文献
- 実際にパスワードの使い回しを悪用する場合、パスワードの使い回しだけでなく他にもいくつかの条件を満たす必要がありますが、Built-in Administratorのパスワードが使い回されているかつ管理共有が有効(デフォルトの設定)であれば容易に悪用が可能です。パスワードの使い回しを悪用した横展開の条件については、こちらの記事が非常に参考になります。↩
- Microsoft LAPS導入ガイド(引用した画像は一部を修正しています)↩