Windows の認証済みスキャン
適用対象:
重要
この機能は 2025 年 11 月末までに非推奨となり、その日を超えてサポートされることはありません。 この変更の詳細については、 Windows 認証済みスキャンの非推奨に関する FAQ を参照してください。
Windows の認証済みスキャンでは、アンマネージド Windows デバイスでスキャンを実行できます。 IP 範囲またはホスト名でリモートでターゲットを設定し、Microsoft Defender 脆弱性の管理にデバイスにリモートアクセスするための資格情報を提供することで Windows サービスをスキャンできます。 構成すると、対象の管理されていないデバイスがソフトウェアの脆弱性を定期的にスキャンします。 既定では、スキャンは 4 時間ごとに実行され、この間隔を変更するか、1 回だけ実行するオプションが表示されます。
注:
この機能を使用するには、スタンドアロンMicrosoft Defender 脆弱性の管理、または既にプラン 2 のお客様Microsoft Defender for Endpointしている場合は、Defender 脆弱性の管理 アドオンが必要です。
セキュリティ管理者は、最新のセキュリティに関する推奨事項を確認し、Microsoft Defender ポータルで対象デバイスの最近検出された脆弱性を確認できます。
ヒント
Microsoft Defender 脆弱性の管理のすべての機能を無料で試すことができることをご存知でしたか? 無料試用版にサインアップする方法について説明します。
スキャナーのインストール
ネットワーク デバイス認証スキャンと同様に、スキャナーがインストールされたスキャン デバイスが必要です。 スキャナーをまだインストールしていない場合は、スキャナーをダウンロードしてインストールする手順については、「 スキャナー をインストールする」を参照してください。
注:
既存のインストール済みスキャナーに変更は必要ありません。
前提条件
次のセクションでは、Windows の認証スキャンを使用するように構成する必要がある前提条件の一覧を示します。
アカウントのスキャン
デバイスにリモートでアクセスするには、スキャン アカウントが必要です。 これは 、グループ管理サービス アカウント (gMsa) である必要があります。
注:
gMSA アカウントは、必要なスキャンアクセス許可のみを持つ最小限の特権アカウントであり、パスワードを定期的に循環するように設定することをお勧めします。
gMsa アカウントを作成するには:
PowerShell ウィンドウのドメイン コントローラーで、次のコマンドを実行します。
New-ADServiceAccount -Name gmsa1 -PrincipalsAllowedToRetrieveManagedPassword scanner-win11-i$ -KerberosEncryptionType RC4, AES128, AES256 -Verbose
- gmsa1 は作成しているアカウントの名前を表し、scanner-win11-I$ はスキャナー エージェントが実行されるマシン名を表します。 アカウント パスワードを取得できるのは、このマシンだけです。 マシンのコンマ区切りの一覧を指定できます。
- 既存のアカウントの変更は、Get-ADServiceAccount と Set-ADServiceAccount を使用して行うことができます
AD サービス アカウントをインストールするには、管理者特権の PowerShell ウィンドウを使用してスキャナー エージェントを実行するコンピューターで、次を実行します。
Install-ADServiceAccount -Identity gmsa1
PowerShell でこれらのコマンドが認識されない場合は、必要な PowerShell モジュールが見つからない可能性があります。 モジュールをインストールする方法の手順は、オペレーティング システムによって異なります。 詳細については、「グループ管理サービス アカウントを使用したはじめに」を参照してください。
スキャンするデバイス
スキャンする各デバイスで、スキャン アカウントに必要なアクセス許可と共に、必要な構成に関するガイダンスについては、次の表を参照してください。
注:
次の手順は、スキャンする各デバイスのアクセス許可を構成し、パフォーマンス モニター Users グループを使用する推奨される方法の 1 つだけです。 次の方法でアクセス許可を構成することもできます。
- アカウントを別のユーザー グループに追加し、そのグループに必要なすべてのアクセス許可を付与します。
- これらのアクセス許可をスキャン アカウントに明示的に付与します。
グループ ポリシーを使用してスキャンするデバイスのグループにアクセス許可を構成して適用するには、「グループ ポリシーを使用して デバイスのグループを構成する」を参照してください。
スキャンされるデバイスの要件 | 説明 |
---|---|
Windows Management Instrumentation (WMI) が有効になっている | リモート Windows 管理インストルメンテーション (WMI) を有効にするには:
|
アカウントのスキャンは、ユーザー グループのメンバーパフォーマンス モニター | スキャンアカウントは、スキャンするデバイス上のパフォーマンス モニター Users グループのメンバーである必要があります。 |
パフォーマンス モニターユーザー グループには、Root/CIMV2 WMI 名前空間に対する "アカウントの有効化" と "リモート有効化" アクセス許可があります | これらのアクセス許可を確認または有効にするには:
|
パフォーマンス モニターユーザー グループには DCOM 操作に対するアクセス許可が必要です | これらのアクセス許可を確認または有効にするには:
|
グループ ポリシーを使用してデバイスのグループを構成する
グループ ポリシーを使用すると、スキャンするデバイスのグループに、必要な構成と、スキャン アカウントに必要なアクセス許可を一括で適用できます。
ドメイン コントローラーで次の手順に従って、同時にデバイスのグループを構成します。
手順 | 説明 |
---|---|
新しいグループ ポリシー オブジェクトを作成する |
|
Windows 管理インストルメンテーション (WMI) を有効にする | リモート Windows 管理インストルメンテーション (WMI) を有効にするには:
|
ファイアウォール経由で WMI を許可する | ファイアウォール経由で Windows Management Instrumentation (WMI) を許可するには:
|
DCOM 操作を実行するためのアクセス許可を付与する | DCOM 操作を実行するためのアクセス許可を付与するには:
|
グループ ポリシーを使用して PowerShell スクリプトを実行して、Root\CIMV2 WMI 名前空間にアクセス許可を付与します。 |
|
PowerShell スクリプトの例
グループ ポリシーを使用して Root\CIMV2 WMI 名前空間にアクセス許可を付与する開始点として、次の PowerShell スクリプトを使用します。
Param ()
Process {
$ErrorActionPreference = "Stop"
$accountSID = "S-1-5-32-558" # Performance Monitor Users built-in group, please change or pass parameter as you wish
$computerName = "."
$remoteparams = @{ComputerName=$computerName}
$invokeparams = @{Namespace="root\cimv2";Path="__systemsecurity=@"} + $remoteParams
$output = Invoke-WmiMethod @invokeparams -Name GetSecurityDescriptor
if ($output.ReturnValue -ne 0) {
throw "GetSecurityDescriptor failed: $($output.ReturnValue)"
}
$acl = $output.Descriptor
$CONTAINER_INHERIT_ACE_FLAG = 0x2
$ACCESS_MASK = 0x21 # Enable Account + Remote Enable
$ace = (New-Object System.Management.ManagementClass("win32_Ace")).CreateInstance()
$ace.AccessMask = $ACCESS_MASK
$ace.AceFlags = $CONTAINER_INHERIT_ACE_FLAG
$trustee = (New-Object System.Management.ManagementClass("win32_Trustee")).CreateInstance()
$trustee.SidString = $accountSID
$ace.Trustee = $trustee
$ACCESS_ALLOWED_ACE_TYPE = 0x0
$ace.AceType = $ACCESS_ALLOWED_ACE_TYPE
$acl.DACL += $ace.psobject.immediateBaseObject
$setparams = @{Name="SetSecurityDescriptor";ArgumentList=$acl.psobject.immediateBaseObject} + $invokeParams
$output = Invoke-WmiMethod @setparams
if ($output.ReturnValue -ne 0) {
throw "SetSecurityDescriptor failed: $($output.ReturnValue)"
}
}
GPO ポリシーがデバイスに適用されると、必要なすべての設定が適用され、gMSA アカウントがデバイスにアクセスしてスキャンできるようになります。
新しい認証済みスキャンを構成する
新しい認証済みスキャンを構成するには:
Microsoft Defender ポータルの [設定>デバイス検出>認証スキャン] に移動します。
[ 新しいスキャンの追加] を選択し、[ Windows 認証スキャン ] を選択し、[ 次へ] を選択します。
[スキャン名] を入力します。
[ スキャン デバイス]: アンマネージド デバイスのスキャンに使用するオンボード デバイスを選択します。
[ターゲット (範囲)] を入力します。スキャンする IP アドレス範囲またはホスト名。 アドレスを入力するか、CSV ファイルをインポートできます。 ファイルをインポートすると、手動で追加されたアドレスがオーバーライドされます。
[スキャン間隔] を選択 します。 既定では、スキャンは 4 時間ごとに実行されます。スキャン間隔を変更するか、[繰り返さない] を選択して 1 回だけ実行できます。
[認証方法] を選択します。次の 2 つのオプションから選択できます。
- Kerberos (推奨)
- 交渉する
注:
ネゴシエート オプションは、Kerberos が失敗した場合に NTLM にフォールバックします。 NTLM はセキュリティで保護されたプロトコルではないため、NTLM の使用はお勧めしません。
デバイスへのリモート アクセスに使用Microsoft Defender 脆弱性の管理資格情報を入力します。
- Azure KeyVault を使用する: Azure KeyVault で資格情報を管理する場合は、スキャン デバイスからアクセスする Azure KeyVault URL と Azure KeyVault シークレット名を入力して、資格情報を提供できます
- Azure KeyVault シークレット値の場合は、ドメインという形式で gMSA アカウントの詳細 を使用 します。ユーザー名
[ 次へ ] を選択して、テスト スキャンを実行またはスキップします。 テスト スキャンの詳細については、「 ネットワーク デバイスのスキャンと追加」を参照してください。
[ 次へ ] を選択して設定を確認し、[ 送信 ] を選択して新しい認証済みスキャンを作成します。
注:
認証スキャナーでは現在、連邦情報処理標準 (FIPS) に準拠していない暗号化アルゴリズムが使用されているため、organizationが FIPS 準拠アルゴリズムの使用を強制している場合、スキャナーは動作できません。
FIPS に準拠していないアルゴリズムを許可するには、スキャナーを実行するデバイスのレジストリに次の値を設定します。Enabled という名前の DWORD 値と値を持つ Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy 0x0
FIPS 準拠のアルゴリズムは、米国連邦政府の部門と機関に関連してのみ使用されます。
Windows API の認証済みスキャン
API を使用して新しいスキャンを作成し、organizationで構成されているすべての既存のスキャンを表示できます。 詳細については、以下を参照してください:
- すべてのスキャン定義を取得する
- スキャン定義の追加、削除、または更新
- すべてのスキャン エージェントを取得する
- Id でスキャン エージェントを取得する
- 定義別にスキャン履歴を取得する
- セッション別にスキャン履歴を取得する