Windows の認証済みスキャン

適用対象:

注:

この機能を使用するには、スタンドアロンMicrosoft Defender 脆弱性の管理、または既に Microsoft Defender for Endpoint プラン 2 の顧客である場合は、Defender 脆弱性管理アドオンが必要です。

Windows の認証済みスキャンでは、アンマネージド Windows デバイスでスキャンを実行できます。 IP 範囲またはホスト名でリモートでターゲットを設定し、Microsoft Defender 脆弱性の管理にデバイスにリモートアクセスするための資格情報を提供することで Windows サービスをスキャンできます。 構成すると、対象の管理されていないデバイスがソフトウェアの脆弱性を定期的にスキャンします。 既定では、スキャンは 4 時間ごとに実行され、この間隔を変更するか、1 回だけ実行するオプションが表示されます。

セキュリティ管理者は、最新のセキュリティに関する推奨事項を確認し、Microsoft Defender ポータルで対象デバイスの最近検出された脆弱性を確認できます。

ヒント

Microsoft Defender 脆弱性の管理のすべての機能を無料で試すことができることをご存知でしたか? 無料試用版にサインアップする方法について説明します。

スキャナーのインストール

ネットワーク デバイス認証スキャンと同様に、スキャナーがインストールされたスキャン デバイスが必要です。 スキャナーをまだインストールしていない場合は、スキャナーをダウンロードしてインストールする手順については、「 スキャナー をインストールする」を参照してください。

注:

既存のインストール済みスキャナーに変更は必要ありません。

前提条件

次のセクションでは、Windows の認証スキャンを使用するように構成する必要がある前提条件の一覧を示します。

アカウントのスキャン

デバイスにリモートでアクセスするには、スキャン アカウントが必要です。 これは 、グループ管理サービス アカウント (gMsa) である必要があります。

注:

gMSA アカウントは、必要なスキャンアクセス許可のみを持つ最小限の特権アカウントであり、パスワードを定期的に循環するように設定することをお勧めします。

gMsa アカウントを作成するには:

  1. PowerShell ウィンドウのドメイン コントローラーで、次のコマンドを実行します。

    New-ADServiceAccount -Name gmsa1 -PrincipalsAllowedToRetrieveManagedPassword scanner-win11-i$ -KerberosEncryptionType RC4, AES128, AES256 -Verbose
    
    • gmsa1 は作成しているアカウントの名前を表し、scanner-win11-I$ はスキャナー エージェントが実行されるマシン名を表します。 アカウント パスワードを取得できるのは、このマシンだけです。 マシンのコンマ区切りの一覧を指定できます。
    • 既存のアカウントの変更は、Get-ADServiceAccountSet-ADServiceAccount を使用して行うことができます
  2. AD サービス アカウントをインストールするには、管理者特権の PowerShell ウィンドウを使用してスキャナー エージェントを実行するコンピューターで、次を実行します。

    Install-ADServiceAccount -Identity gmsa1
    

PowerShell でこれらのコマンドが認識されない場合は、必要な PowerShell モジュールが見つからない可能性があります。 モジュールをインストールする方法の手順は、オペレーティング システムによって異なります。 詳細については、「グループ管理サービス アカウントを使用したはじめに」を参照してください。

スキャンするデバイス

スキャンする各デバイスで、スキャン アカウントに必要なアクセス許可と共に、必要な構成に関するガイダンスについては、次の表を参照してください。

注:

次の手順は、スキャンする各デバイスのアクセス許可を構成し、パフォーマンス モニター Users グループを使用する推奨される方法の 1 つだけです。 次の方法でアクセス許可を構成することもできます。

  • アカウントを別のユーザー グループに追加し、そのグループに必要なすべてのアクセス許可を付与します。
  • これらのアクセス許可をスキャン アカウントに明示的に付与します。

グループ ポリシーを使用してスキャンするデバイスのグループにアクセス許可を構成して適用するには、「グループ ポリシーを使用して デバイスのグループを構成する」を参照してください。

スキャンされるデバイスの要件 説明
Windows Management Instrumentation (WMI) が有効になっている リモート Windows 管理インストルメンテーション (WMI) を有効にするには:
  • Windows Management Instrumentation サービスが実行されていることを確認します。
  • [コントロール パネル>すべてのコントロール パネル項目>Windows Defenderファイアウォール>が許可されているアプリケーションに移動し、Windows 管理インストルメンテーション (WMI) が Windows ファイアウォール経由で許可されていることを確認します。
アカウントのスキャンは、ユーザー グループのメンバーパフォーマンス モニター スキャンアカウントは、スキャンするデバイス上のパフォーマンス モニター Users グループのメンバーである必要があります。
パフォーマンス モニターユーザー グループには、Root/CIMV2 WMI 名前空間に対する "アカウントの有効化" と "リモート有効化" アクセス許可があります これらのアクセス許可を確認または有効にするには:
  • wmimgmt.msc を実行します。
  • [WMI コントロール (ローカル)] を右クリックし、[プロパティ] を選択します
  • [セキュリティ] タブに移動します。
  • 関連する WMI 名前空間を選択し、[ セキュリティ] を選択します。
  • 指定したグループを追加し、 を選択して特定のアクセス許可を許可します。
  • [ 詳細] を選択し、指定したエントリを選択し、[編集] を選択 します
  • [適用先] を [この名前空間とサブネームスペース] に設定します。
パフォーマンス モニターユーザー グループには DCOM 操作に対するアクセス許可が必要です これらのアクセス許可を確認または有効にするには:
  • dcomcnfg を実行します。
  • [コンポーネント サービス>コンピューター][マイ コンピューター] の順に>移動します。
  • [マイ コンピューター] を右クリックし、[プロパティ] を選択 します
  • [COM セキュリティ] タブに移動します。
  • [起動とアクティブ化のアクセス許可] に移動し、[制限の編集] を選択します。
  • 指定したグループを追加し、 を選択して リモート ライセンス認証を許可します。

グループ ポリシーを使用してデバイスのグループを構成する

グループ ポリシーを使用すると、スキャンするデバイスのグループに、必要な構成と、スキャン アカウントに必要なアクセス許可を一括で適用できます。

ドメイン コントローラーで次の手順に従って、同時にデバイスのグループを構成します。

手順 説明
新しいグループ ポリシー オブジェクトを作成する
  • ドメイン コントローラーで、グループ ポリシー管理コンソールを開きます。
  • グループ ポリシー オブジェクトをCreateするには、次の手順に従います。
  • グループ ポリシー オブジェクト (GPO) が作成されたら、GPO を右クリックし、[編集] を選択してグループ ポリシー管理エディターコンソールを開き、以下の手順を実行します。
Windows 管理インストルメンテーション (WMI) を有効にする リモート Windows 管理インストルメンテーション (WMI) を有効にするには:
  • [コンピューターの構成>ポリシー>] [Windows 設定][セキュリティ設定] [システム サービス] >> の順に移動します。
  • [Windows 管理インストルメンテーション] を右クリックします。
  • [ このポリシー設定を定義 する] ボックスを選択し、[自動] を選択 します
ファイアウォール経由で WMI を許可する ファイアウォール経由で Windows Management Instrumentation (WMI) を許可するには:
  • [コンピューターの構成>ポリシー>] [Windows の設定][セキュリティ設定]>>Windows Defender、[ファイアウォールと高度なセキュリティ>の受信規則] の順に移動します。
  • 右クリックし、[ 新しい規則] を選択します。
  • [ 定義済み ] を選択し、一覧から [Windows Management Instrumentation (WMI)] を選択します。 [次へ] を選択します。
  • [ Windows 管理インストルメンテーション (WMI-In)] チェック ボックスをオンにします。 [次へ] を選択します。
  • [接続を許可する] を選択します。 次に、[完了] を選択 します
  • 新しく追加したルールを右クリックし、[プロパティ] を選択 します
  • [詳細設定] タブに移動し、ドメインのみが必要であるため、[プライベート] オプションと [パブリック] オプションをオフにします。
DCOM 操作を実行するためのアクセス許可を付与する DCOM 操作を実行するためのアクセス許可を付与するには:
  • [コンピューターの構成>ポリシー>] [Windows 設定][セキュリティ設定]>>[ローカル ポリシー] [セキュリティ操作] の順に>移動します。
  • [DCOM: Machine Launch Restrictions in Security Descriptor Definition Language (SDDL)] 構文を右クリックし、[プロパティ] を選択します
  • [ このポリシー設定を定義 する] ボックスを選択し、[ セキュリティの編集] を選択します。
  • アクセス許可を付与するユーザーまたはグループを追加し、[ リモート アクティブ化] を選択します。
グループ ポリシーを使用して PowerShell スクリプトを実行して、Root\CIMV2 WMI 名前空間にアクセス許可を付与します。
  • PowerShell スクリプトをCreateします。 必要に応じて変更できる推奨スクリプトについては、この記事の後半の 「PowerShell スクリプトの例」を参照してください。
  • [コンピューターの構成>ポリシー>] [Windows 設定>スクリプト ](スタートアップ/シャットダウン)>[スタートアップ] に移動します
  • [PowerShell スクリプト] タブに移動します。
  • [ ファイルの表示] を 選択し、作成したスクリプトをこのフォルダーにコピーします
  • スクリプト構成ウィンドウに戻り、[ 追加] を選択します。
  • スクリプト名を入力します。

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 アカウントがデバイスにアクセスしてスキャンできるようになります。

新しい認証済みスキャンを構成する

新しい認証済みスキャンを構成するには:

  1. Microsoft Defender ポータル[設定] [デバイス検出>認証済みスキャン] > に移動します。

  2. [ 新しいスキャンの追加] を選択し、[ Windows 認証スキャン ] を選択し、[ 次へ] を選択します。

    新しい認証済みスキャンの追加画面のスクリーンショット

  3. [スキャン名] を入力します。

  4. [ スキャン デバイス]: アンマネージド デバイスのスキャンに使用するオンボード デバイスを選択します。

  5. [ターゲット (範囲)] を入力します。スキャンする IP アドレス範囲またはホスト名。 アドレスを入力するか、CSV ファイルをインポートできます。 ファイルをインポートすると、手動で追加されたアドレスがオーバーライドされます。

  6. [スキャン間隔] を選択 します。 既定では、スキャンは 4 時間ごとに実行されます。スキャン間隔を変更するか、[繰り返さない] を選択して 1 回だけ実行できます。

  7. [認証方法] を選択します。次の 2 つのオプションから選択できます。

    • Kerberos (推奨)
    • 交渉

    注:

    ネゴシエート オプションは、Kerberos が失敗した場合に NTLM にフォールバックします。 NTLM はセキュリティで保護されたプロトコルではないため、NTLM の使用はお勧めしません。

  8. デバイスへのリモート アクセスに使用Microsoft Defender 脆弱性の管理資格情報を入力します。

    • Azure KeyVault を使用する: Azure KeyVault で資格情報を管理する場合は、スキャン デバイスからアクセスする Azure KeyVault URL と Azure KeyVault シークレット名を入力して、資格情報を提供できます
    • Azure KeyVault シークレット値の場合は、ドメインという形式で gMSA アカウントの詳細 を使用 します。名
  9. [ 次へ ] を選択して、テスト スキャンを実行またはスキップします。 テスト スキャンの詳細については、「 ネットワーク デバイスのスキャンと追加」を参照してください。

  10. [ 次へ ] を選択して設定を確認し、[ 送信 ] を選択して新しい認証済みスキャンを作成します。

注:

認証スキャナーでは現在、連邦情報処理標準 (FIPS) に準拠していない暗号化アルゴリズムが使用されているため、organizationが FIPS 準拠アルゴリズムの使用を強制している場合、スキャナーは動作できません。

FIPS に準拠していないアルゴリズムを許可するには、スキャナーを実行するデバイスのレジストリに次の値を設定します。Enabled という名前の DWORD 値と値を持つ Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy 0x0

FIPS 準拠のアルゴリズムは、米国連邦政府の部門と機関に関連してのみ使用されます。

Windows API の認証済みスキャン

API を使用して新しいスキャンを作成し、organizationで構成されているすべての既存のスキャンを表示できます。 詳細については、以下を参照してください: