Microsoft System Center Endpoint Protection(SCEP)のログを収集する

以下でサポートされています。

このドキュメントでは、Microsoft Azure Blob Storage V2 を使用して Google Security Operations フィードを設定し、Microsoft System Center Endpoint Protection(SCEP)ログを収集する方法について説明します。

Microsoft System Center Endpoint Protection(SCEP)は、System Center Configuration Manager(SCCM)と統合されたエンタープライズ マルウェア対策およびウイルス対策ソリューションです。SCEP は、Windows ベースのエンドポイントに対してマルウェア、ウイルス、スパイウェア、その他の悪意のあるソフトウェアに対するリアルタイムの保護を提供します。SCEP はセキュリティ イベントを Microsoft-Windows-Windows Defender/Operational Windows イベントログ チャネルに書き込みます。このチャネルは Azure Monitor エージェントを使用して収集し、Azure Blob Storage にエクスポートできます。

始める前に

次の前提条件を満たしていることを確認します。

  • Google SecOps インスタンス
  • Microsoft Azure ポータルへの特権アクセス(次の権限を持つ)。
    • ストレージ アカウントを作成する
    • Log Analytics ワークスペースを作成して管理する
    • データ収集ルールを作成して管理する
    • データ エクスポート ルールを構成する
    • アクセスキーを管理する
  • SCEP がインストールされている Windows Server 2012 R2 以降、または Windows Defender Antivirus がインストールされている Windows Server 2016 以降
  • Windows サーバーにインストールされた Azure Monitor エージェント(オンプレミス サーバーの場合は Azure Arc が必要、Azure VM の場合はネイティブ サポートが必要)
  • SCEP がデプロイされている Windows サーバーに対する管理者アクセス権

Azure Storage アカウントを構成する

ストレージ アカウントを作成する

  1. Azure ポータルで、[ストレージ アカウント] を検索します。
  2. [+ 作成] をクリックします。
  3. 次の構成情報を提供してください。

    設定
    サブスクリプション Azure サブスクリプションを選択する
    リソース グループ 既存のものを選択するか、新しいものを作成する
    ストレージ アカウント名 一意の名前を入力します(例: sceplogssa)。
    リージョン リージョンを選択します(例: East US)。
    パフォーマンス 標準(推奨)
    冗長性 GRS(Geo 冗長ストレージ)または LRS(ローカル冗長ストレージ)
  4. [Review + create] をクリックします。

  5. アカウントの概要を確認して、[作成] をクリックします。

  6. デプロイが完了するまで待ちます。

ストレージ アカウントの認証情報を取得する

  1. 作成した ストレージ アカウントに移動します。
  2. 左側のナビゲーションで、[セキュリティとネットワーキング] の [アクセスキー] を選択します。
  3. [キーを表示] をクリックします。
  4. 後で使用できるように、次の値をコピーして保存します。
    • ストレージ アカウント名: 作成した名前(例: sceplogssa
    • キー 1 またはキー 2: 共有アクセスキー(base64 でエンコードされた 512 ビットのランダムな文字列)

Blob Service エンドポイントを取得する

  1. 同じストレージ アカウントで、左側のナビゲーションから [エンドポイント] を選択します。
  2. Blob サービスのエンドポイント URL をコピーして保存します。
    • 例: https://sceplogssa.blob.core.windows.net/

Log Analytics ワークスペースを作成する

  1. Azure ポータルで、ログ分析ワークスペースを検索します。
  2. [+ 作成] をクリックします。
  3. 次の構成情報を提供してください。

    設定
    サブスクリプション Azure サブスクリプションを選択する
    リソース グループ ストレージ アカウントと同じリソース グループを選択します
    名前 一意の名前を入力します(例: scep-logs-workspace)。
    リージョン ストレージ アカウントと同じリージョンを選択します。
  4. [レビュー + 作成] をクリックします。

  5. [作成] をクリックします。

  6. デプロイが完了するまで待ちます。

Windows サーバーに Azure Monitor エージェントをインストールする

SCEP を実行するオンプレミス サーバーの場合は、まずサーバーを Azure Arc にオンボーディングしてから、Azure Monitor エージェントをインストールする必要があります。

Azure Arc にオンボーディングする(オンプレミス サーバーのみ)

  1. Azure portal で、Azure Arc を検索します。
  2. [インフラストラクチャ] で [サーバー] を選択します。
  3. [+ Add] をクリックします。
  4. [単一サーバーを追加] を選択し、[スクリプトを生成] をクリックします。
  5. 次の構成の詳細を入力します。
    • Subscription: Azure サブスクリプションを選択します。
    • リソース グループ: リソース グループを選択します
    • リージョン: ストレージ アカウントと同じリージョンを選択します。
    • オペレーティング システム: [Windows] を選択します。
  6. [スクリプトをダウンロードして実行] をクリックします。
  7. SCEP を実行している Windows サーバーで、管理者として PowerShell を開きます。
  8. ダウンロードしたスクリプトを実行して、Azure Arc のオンボーディングを完了します。

Azure Monitor エージェントをインストールする

  1. Azure ポータルで、[Azure Arc] > [サーバー](Azure VM の場合は [仮想マシン])に移動します。
  2. SCEP を実行しているサーバーを選択します。
  3. 左側のナビゲーションで、[設定] の [拡張機能] を選択します。
  4. [+ Add] をクリックします。
  5. [Azure Monitor エージェント] を検索して選択します。
  6. [次へ]、[レビュー + 作成] の順にクリックします。
  7. [作成] をクリックします。
  8. 拡張機能のインストールが完了するまで待ちます。

SCEP イベントのデータ収集ルールを作成する

  1. Azure ポータルで、[モニタリング] を検索します。
  2. [設定] で [データ収集ルール] を選択します。
  3. [+ 作成] をクリックします。
  4. [基本] タブで、次の構成の詳細を指定します。
    • ルール名: わかりやすい名前を入力します(例: dcr-scep-events)。
    • Subscription: Azure サブスクリプションを選択します。
    • リソース グループ: リソース グループを選択します
    • リージョン: ログ分析ワークスペースと同じリージョンを選択します。
    • プラットフォーム タイプ: [Windows] を選択します。
  5. [次へ: リソース] をクリックします。
  6. [リソース] タブで、次の操作を行います。
    1. [+ リソースを追加] をクリックします。
    2. リソース グループを開き、SCEP を実行しているサーバー(Azure Arc サーバーまたは Azure VM)を選択します。
    3. [適用] をクリックします。
  7. [次へ: 集荷と配送] をクリックします。
  8. [収集と配信] タブで、次の操作を行います。

    1. [+ データソースを追加] をクリックします。
    2. [データソースのタイプ] プルダウンで、[Windows イベントログ] を選択します。
    3. [カスタム] を選択して、XPath クエリを入力します。
    4. [+ XPath クエリを追加] をクリックし、次の XPath クエリを入力して、すべての SCEP イベントと Windows Defender イベントを収集します。

      Microsoft-Windows-Windows Defender/Operational!*[System[(Level=1 or Level=2 or Level=3 or Level=4 or Level=5)]]
      

      この XPath クエリは、Windows Defender 運用チャネルからすべてのイベント(重大、エラー、警告、情報、詳細)を収集します。特定のイベント ID(マルウェアの検出など)のみを収集するには、次のようなより的を絞ったクエリを使用します。

      Microsoft-Windows-Windows Defender/Operational!*[System[(EventID=1006 or EventID=1007 or EventID=1116 or EventID=1117 or EventID=2000 or EventID=2001 or EventID=5007)]]
      
    5. [宛先] タブで、[+ 宛先を追加] をクリックします。

    6. [宛先タイプ] として [Azure Monitor ログ] を選択します。

    7. 先ほど作成した Log Analytics ワークスペース(scep-logs-workspace など)を選択します。

  9. [データソースを追加] をクリックします。

  10. [Review + create] をクリックします。

  11. [作成] をクリックします。

収集されたキーイベント ID

データ収集ルールは Microsoft-Windows-Windows Defender/Operational チャネルからイベントを収集します。これには、次の主要な SCEP イベント ID が含まれます。

イベント ID 説明
1006 マルウェア対策エンジンによって検出されたマルウェア
1007 検出されたマルウェアに対して実行されたマルウェア対策アクション
1116 リアルタイム保護でマルウェアまたは望ましくないソフトウェアが検出されました
1117 リアルタイム保護がマルウェアに対処しました
2000 マルウェア対策シグネチャの更新を開始しました
2001 マルウェア対策シグネチャの更新が完了しました
5007 マルウェア対策プラットフォームの構成が変更されました

Log Analytics ワークスペースから Azure Blob Storage へのデータ エクスポートを構成する

Microsoft.Insights リソース プロバイダを登録する

  1. Azure ポータルで、[サブスクリプション] に移動します。
  2. 定期購入を選択します。
  3. 左側のナビゲーションで、[設定] の [リソース プロバイダ] を選択します。
  4. Microsoft.Insights を検索します。
  5. ステータスが [登録済み] でない場合は、選択して [登録] をクリックします。

データ エクスポート ルールを作成する

  1. Azure ポータルで、Log Analytics ワークスペースscep-logs-workspace など)に移動します。
  2. 左側のナビゲーションで、[設定] の [データ エクスポート] を選択します。
  3. [+ 新しいエクスポート ルール] をクリックします。
  4. [基本] タブで、次の操作を行います。
    • データ エクスポート ルール名: わかりやすい名前を入力します(例: export-scep-to-blob)。
  5. [次へ: ソース] をクリックします。
  6. [ソース] タブで、[イベント] テーブルを選択します。

  7. [次へ: 宛先] をクリックします。

  8. [送信先] タブで次の操作を行います。

    • 宛先の種類: [ストレージ アカウント] を選択します。
    • Subscription: ストレージ アカウントを含むサブスクリプションを選択します。
    • ストレージ アカウント: 先ほど作成したストレージ アカウント(例: sceplogssa)を選択します。
  9. [次へ: 確認と作成] をクリックします。

  10. [作成] をクリックします。

  • 構成後、イベントは Storage アカウントに自動的にエクスポートされます。ストレージ アカウントに am-Event という名前のコンテナが作成されます。Blob は、次のパス構造を使用して 5 分間のフォルダに保存されます。

    am-Event/
      └── WorkspaceResourceId=/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/microsoft.operationalinsights/workspaces/{workspace}/
          └── y={year}/m={month}/d={day}/h={hour}/m={minute}/
              └── PT05M.json
    

データのエクスポートを確認する

  1. Azure ポータルで、ストレージ アカウントsceplogssa など)に移動します。
  2. 左側のナビゲーションで、[データ ストレージ] の [コンテナ] を選択します。
  3. コンテナ am-Event が存在することを確認します。
  4. コンテナに移動し、イベントデータを含む JSON ファイルがフォルダ構造に作成されていることを確認します。

Microsoft System Center Endpoint Protection(SCEP)のログを取り込むように Google SecOps でフィードを構成する

  1. [SIEM 設定] > [フィード] に移動します。
  2. [Add New Feed] をクリックします。
  3. 次のページで [単一フィードを設定] をクリックします。
  4. [フィード名] フィールドに、フィードの名前を入力します(例: Microsoft SCEP Logs)。
  5. [ソースタイプ] で [Microsoft Azure Blob Storage V2] を選択します。
  6. [ログタイプ] として [Microsoft System Center Endpoint Protection(SCEP)] を選択します。
  7. [次へ] をクリックします。
  8. 次の入力パラメータの値を指定します。

    • Azure URI: コンテナパスを含む Blob Service エンドポイント URL を入力します。
    https://sceplogssa.blob.core.windows.net/am-Event/
    

    次のように置き換えます。

    • sceplogssa: Azure ストレージ アカウント名。
    • am-Event: エクスポートされたイベントが保存される Blob コンテナの名前。
    • Source deletion option: 必要に応じて削除オプションを選択します。
      • なし: 転送後にファイルを削除しません。
      • 転送されたファイルを削除する: 転送が完了した後にファイルを削除します。
      • 転送されたファイルと空のディレクトリを削除する: 転送が完了した後にファイルと空のディレクトリを削除します。
    • ファイルの最大経過日数: 過去の日数内に変更されたファイルを含めます(デフォルトは 180 日)。
    • 共有キー: ストレージ アカウントから取得した共有キーの値(アクセスキー)を入力します。
    • アセットの名前空間: アセットの名前空間
    • Ingestion labels: このフィードのイベントに適用されるラベル
  9. [次へ] をクリックします。

  10. [Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。

Azure Storage ファイアウォールを構成する(有効になっている場合)

Azure Storage アカウントでファイアウォールを使用している場合は、Google SecOps の IP 範囲を追加する必要があります。

  1. Azure ポータルで、ストレージ アカウントに移動します。
  2. [セキュリティとネットワーキング] で [ネットワーキング] を選択します。
  3. [ファイアウォールと仮想ネットワーク] で、[選択した仮想ネットワークと IP アドレスから有効] を選択します。
  4. [ファイアウォール] セクションの [アドレス範囲] で、[+ IP 範囲を追加] をクリックします。
  5. 各 Google SecOps IP 範囲を CIDR 表記で追加します。

    現在の IP 範囲を取得するには:

  6. また、[信頼されたサービスのリストにある Azure サービスによるこのストレージ アカウントへのアクセスを許可する] チェックボックスをオンにして、Log Analytics ワークスペースのデータ エクスポートでストレージ アカウントへの書き込みを許可します。

  7. [保存] をクリックします。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
about.hostname about.hostname 「%{_DB_HOST}」に設定します。
_DB_PORT about.port 値が直接コピーされ、整数に変換されます。
_DB_DRIVER about.resource.name 「%{_DB_DRIVER}」に設定します。
_DB_URL about.url 「%{_DB_URL}」に設定
signature_labels event.idm.read_only_udm.additional.fields signature が空でない場合は signature_labels から、PendingAction が空でない場合は pending_action から、ExecutionStatus が空でない場合は execution_status から、RecordID が空でない場合は record_id から、ErrorCode が空でない場合は error_code から、ActionSuccess が空でない場合は action_success からマージされます。
pending_action event.idm.read_only_udm.additional.fields
execution_status event.idm.read_only_udm.additional.fields
record_id event.idm.read_only_udm.additional.fields
error_code event.idm.read_only_udm.additional.fields
action_success event.idm.read_only_udm.additional.fields
source_url event.idm.read_only_udm.src.url source_url が空でない場合はその値、空の場合は my_string1 が空でない場合はその値
my_string1 event.idm.read_only_udm.src.url
has_principal metadata.event_type has_principal と has_target が true の場合は「NETWORK_CONNECTION」、has_principal が true の場合は「STATUS_UPDATE」、no_target_host が false で path_available が true の場合は「SCAN_FILE」、no_target_host が false の場合は「STATUS_UNCATEGORIZED」、has_user が true の場合は「USER_UNCATEGORIZED」、それ以外の場合は「GENERIC_EVENT」に設定します。
has_user metadata.event_type
has_target metadata.event_type
no_target_host metadata.event_type
path_available metadata.event_type
名前 metadata.product_event_type 値を直接コピーしました
DetectionID metadata.product_log_id 値を直接コピーしました
metadata.product_name metadata.product_name 「MICROSOFT SYSTEM CENTER ENDPOINT PROTECTION」に設定します。
metadata.vendor_name metadata.vendor_name 「MICROSOFT」に設定
NTdomain principal.administrative_domain 値を直接コピーしました
hostname principal.asset.hostname 空でない場合はホスト名から、それ以外の場合は TargetHost からの値
TargetHost principal.asset.hostname
action_type principal.group.attribute.labels action_type が空でない場合は action_type_label から統合されます
hostname principal.hostname 空でない場合はホスト名から、それ以外の場合は TargetHost からの値
TargetHost principal.hostname
プロセス principal.process.file.full_path Process が空でない場合は値を直接コピー
ユーザー名 principal.user.user_display_name 値を直接コピーしました
ユーザー名 principal.user.userid UserName が空でない場合は UserName の値、空の場合は user の値
ユーザー principal.user.userid
アクション security_result.action アクション値(成功/作成/開始/配信/許可の場合は ALLOW、失敗/ブロック/ティアダウン/延期/削除/拒否/ドロップ/エラー/ロックの場合は BLOCK、acl_modified/変更の場合は ALLOW_WITH_MODIFICATION、隔離の場合は QUARANTINE)または CleanAction(失敗の場合は FAIL、隔離の場合は QUARANTINE、許可の場合は ALLOW、ブロックの場合は BLOCK)に基づいて設定します。
CleanAction security_result.action
CleanAction security_result.action_details CleanAction が空でない場合は値を直接コピー
category security_result.category_details 空でない場合はカテゴリからマージし、空の場合は Category からマージします
カテゴリ security_result.category_details
DetectionID security_result.detection_fields DetectionID が空でない場合は DetectionID_field、detectionid が空でない場合は detectionid_field、detection_source が空でない場合は detection_source_labels、pending_action が空でない場合は pending_action_labels、source_url と file_path と Path が空でない場合は detection_Path から統合されます。
detectionid security_result.detection_fields
detection_source security_result.detection_fields
pending_action security_result.detection_fields
パス security_result.detection_fields
重要度 security_result.severity 重大度(0/1/2/3/LOW は LOW、4/5/6/MEDIUM/SUBSTANTIAL/INFO は MEDIUM、7/8/HIGH/SEVERE は HIGH、9/10/VERY-HIGH/CRITICAL は CRITICAL)または SeverityID(1 は LOW、2 は MEDIUM、4 は HIGH、5 は CRITICAL、それ以外は UNKNOWN_SEVERITY)に基づいて設定されます。
SeverityID security_result.severity
SeverityID security_result.severity_details 値を直接コピーしました
ThreatID security_result.threat_id 値を直接コピーしました
ThreatName security_result.threat_name 値を直接コピーしました
MaliciousFileCt security_result.verdict_info 値が直接コピーされ、整数に変換され、malicious_file_ct として統合されます
dest_nt_domain target.administrative_domain 値を直接コピーしました
dest_name target.asset.hostname dest_name が空でない場合、値が直接コピーされます
file_path target.file.full_path file_path が空でない場合は file_path の値、file_path が空の場合は Path の値、my_string が空でない場合は my_string の値
パス target.file.full_path
my_string target.file.full_path
dest_name target.hostname dest_name が空でない場合、値が直接コピーされます
ResourceID target.resource.name ResourceID の値(空でない場合)、それ以外の場合は resourceid の値(空でない場合)
resourceid target.resource.name
ユーザー target.user.userid ユーザーが空でない場合、値が直接コピーされる
時間 metadata.event_timestamp 時刻が空でない場合は「MMM dd HH:mm:ss」形式を使用して時刻から変換されます。それ以外の場合は、UNIX_MS を使用して DetectionTime または detectiontime から変換されます。
DetectionTime metadata.event_timestamp
detectiontime metadata.event_timestamp

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。