JAMF Security Cloud のログを収集する

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

このドキュメントでは、Google Cloud Storage V2 を使用して JAMF Security Cloud のログを Google Security Operations に取り込む方法について説明します。

JAMF Security Cloud は、Apple デバイス向けのモバイル脅威防御およびエンドポイント セキュリティ プラットフォームです。DNS レイヤ保護、フィッシング防止、コンテンツ フィルタリング、デバイス リスク評価を対象とする、脅威検出、コンプライアンス、デバイス セキュリティ イベントログを生成します。

始める前に

次の前提条件を満たしていることを確認してください。

  • Google SecOps インスタンス
  • Cloud Storage API が有効になっている GCP プロジェクト
  • GCS バケットと IAM ポリシーを作成、管理する権限
  • JAMF Security Cloud ポータル(Jamf Threat Defense または Jamf Protect コンソール)への特権アクセス

Google Cloud Storage バケットを作成する

  1. Google Cloud コンソール に移動します。
  2. プロジェクトを選択するか、新しいプロジェクトを作成します。
  3. ナビゲーション メニューで、Cloud Storage > バケット に移動します。
  4. [バケットを作成] をクリックします。
  5. 次の構成情報を提供してください。

    設定
    バケットに名前を付ける グローバルに一意の名前を入力します(例: jamf-security-cloud-logs
    ロケーション タイプ ニーズに応じて選択します(リージョン、デュアルリージョン、マルチリージョン)
    ロケーション ロケーションを選択します(例: us-central1
    ストレージ クラス Standard(頻繁にアクセスするログにおすすめ)
    アクセス制御 均一(推奨)
    保護ツール 省略可: オブジェクトのバージョニングまたは保持ポリシーを有効にする
  6. [作成] をクリックします。

JAMF Security Cloud のログを Google Cloud Storage にエクスポートする

JAMF Security Cloud は、イベントデータをクラウド ストレージの宛先にストリーミングすることをサポートしています。JAMF Security Cloud ポータルでデータ エクスポートを構成します。

  1. JAMF Security Cloud ポータルにログインします。
  2. Integrations > Data Streams に移動します。
  3. [Add Stream] をクリックします。
  4. サポートされている宛先タイプを選択します。JAMF Data Streams は、AWS S3 エンドポイントと汎用 HTTP エンドポイントをネイティブにサポートしています。ログを Google Cloud Storage に配信するには、GCS に書き込む Cloud Run 関数を使用する汎用 HTTP エンドポイントを使用するか、S3 互換の中間宛先を構成します。
  5. 次の構成情報を提供してください。
    • ストリーム名: わかりやすい名前を入力します(例: Chronicle GCS Export
    • GCS bucket name: バケット名を入力します(例: jamf-security-cloud-logs
    • Path prefix: フォルダの接頭辞を入力します(例: jamf-security-cloud/
    • Output format: [JSON] を選択します(Chronicle の取り込みにおすすめ)
  6. GCS バケットへの書き込みアクセス権を持つ GCP サービス アカウント認証情報 JSON キーをアップロードまたは貼り付けます。
  7. エクスポートするイベントタイプを選択します。
    • 脅威イベント(ネットワークの脅威、フィッシング、マルウェア)
    • デバイス コンプライアンス イベント
    • DNS セキュリティ イベント
    • アプリのリスク イベント
  8. [保存](または [作成])をクリックします。
  9. 指定した接頭辞の GCS バケットにログファイルが表示されることを確認します。
  • エクスポートに使用する GCP サービス アカウントに、ターゲット バケットに対するStorage Object Creator ロールがあることを確認します。
  • ログファイルは JSON 形式で書き込まれ、各ファイルには 1 つ以上のイベントレコードが含まれています。

Google SecOps サービス アカウントを取得する

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [フィード] に移動します。
  3. [新しいフィードを追加] をクリックします。
  4. [単一フィードを設定] をクリックします。
  5. [Source type] として [Google Cloud Storage V2] を選択します。
  6. [Log type] として [JAMF Security Cloud] を選択します。
  7. [サービス アカウントを取得する] をクリックします。一意のサービス アカウントのメールアドレスが表示されます。例:

    chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com
    
  8. このメールアドレスをコピーします。次のステップでこれを使用します。

  • Google SecOps インスタンスごとに一意のサービス アカウントがあります。他のドキュメントや例のサービス アカウントは使用しないでください。

Google SecOps サービス アカウントに IAM 権限を付与する

  1. [Cloud Storage] > [バケット] に移動します。
  2. バケット名をクリックします。
  3. [権限] タブに移動します。
  4. [アクセス権を付与] をクリックします。
  5. 次の構成情報を提供してください。
    • プリンシパルを追加: Google SecOps サービス アカウントのメールアドレスを貼り付けます
    • ロールを割り当てる: [Storage オブジェクト閲覧者] を選択します
  6. [保存] をクリックします。
  • 削除オプション(転送されたファイルを削除)を使用する場合は、ストレージ オブジェクト閲覧者ではなく、ストレージ オブジェクト管理者 ロールを付与します。

JAMF Security Cloud のログを取り込むように Google SecOps でフィードを構成する

  1. [SIEM 設定] > [フィード] に移動します。
  2. [新しいフィードを追加] をクリックします。
  3. [単一フィードを設定] をクリックします。
  4. [フィード名] フィールドに、フィードの名前を入力します(例: JAMF Security Cloud logs)。
  5. [Source type] として [Google Cloud Storage V2] を選択します。
  6. [Log type] として [JAMF Security Cloud] を選択します。
  7. [次へ] をクリックします。
  8. 次の入力パラメータの値を指定します。

    フィールド
    Storage bucket URI gs://jamf-security-cloud-logs/jamf-security-cloud/
    Source Deletion Option 必要に応じて削除オプションを選択します
    Maximum File Age (Days) デフォルトは 180 日です
    アセットの名前空間 アセットの名前空間
    Ingestion labels このフィードのイベントに適用されるラベル
    • jamf-security-cloud-logs は、実際の GCS バケット名に置き換えます。
    • URI の末尾には必ずスラッシュ(/)を含めてください。
  9. [次へ] をクリックします。

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

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
event_data.account.parentId, event_data.action, event_data.device.os, event_data.dns.recordType, event_data.riskDetails.appRiskIndexThreshold, event_data.riskDetails.deviceRiskIndex, event_data.routeName, event_data.signatureId.id, event_data.signatureId.name, event_data.threat.result, event_data.tld, customer.parentId, customer.resellerId, device.deviceId, device.deviceName, device.carrier.carrierName, device.carrier.isoCountryCode, device.carrier.mcc, device.carrier.mnc, device.hw.deviceModel, device.hw.hwPlatform, device.hw.imei, device.hw.platform, device.lastNetworkTrafficUtcMs, device.lastUpdatedUtcMs, device.location.isoCountryCode, device.mdm.lastMdmCheckInUtcMs, device.mdm.mdmId, device.network.ssid, device.os.osVersion, device.state.activated, device.state.deploymentState, device.state.vpnActive, device.state.wifiActive, device.user.id, device.user.name, device.wanderaApp.version, trigger.triggerTimeUtcMs, trigger.triggerType, app.appId.packageName, app.appId.appName, app.appId.appVersion, app.category.label, app.category.system, app.installation.installationTimeUtcMs, app.installation.installedBy, app.developer, app.threats, app.permissions, event_data.accessPoint, event_data.alertId, event_data.event_dataType, event_data.software.softwareId, event_data.software.softwareVersion, event_data.software.softwareName, event_data.cve.id, event_data.cve.baseScore, event_data.cve.exploitAvailable, event_data.cve.attribution, event_data.threat.types, event_data.app.id, event_data.app.name, event_data.app.version additional.fields ソースから特定のキーと値を持つラベルとして統合
event_data.dns.ttl dns_answers.ttl uinteger に変換
event_data.dns.category dns_questions.name 値を直接コピー
event_data.receiptTime metadata.collected_timestamp 値を直接コピー
event_data_event_dataType_description, event_data.cve.description metadata.description event_data_event_dataType_description が空でない場合はその値、それ以外の場合は event_data.cve.description
has_principal, has_user metadata.event_type has_principal が true の場合は STATUS_UPDATE、has_user が true の場合は USER_UNCATEGORIZED、それ以外の場合は GENERIC_EVENT に設定
event_data.md1.product, md1.product metadata.product_event_type event_data.md1.product が空でない場合はその値、それ以外の場合は md1.product
event_data.device.externalId, event_data.externalId metadata.product_log_id event_data.device.externalId が空でない場合はその値、それ以外の場合は event_data.externalId
event_data.md1.schemaVersion, schemaVersion metadata.product_version event_data.md1.schemaVersion が空でない場合はその値、それ以外の場合は schemaVersion
dns_answers network.dns.answers dns_answers から統合
dns_questions network.dns.questions dns_questions から統合
event_data.dns.responseStatus network.dns.response NOERROR の場合は true、それ以外の場合は false に設定
event_data.domain principal.administrative_domain 値を直接コピー
event_data.application principal.application 値を直接コピー
event_data.hostName, event_data.device.userDeviceName principal.asset.hostname event_data.hostName が空でない場合はその値、それ以外の場合は event_data.device.userDeviceName
event_data.source.ip principal.asset.ip 値を直接コピー
event_data.hostName, event_data.device.userDeviceName principal.hostname event_data.hostName が空でない場合はその値、それ以外の場合は event_data.device.userDeviceName
event_data.source.ip principal.ip 値を直接コピー
event_data.source.port principal.port 整数に変換
event_data_event_dataType_id principal.process.pid 値を直接コピー
event_data.event_dataUrl, event_data.cve.consoleUrl principal.url event_data.event_dataUrl が空でない場合はその値、それ以外の場合は event_data.cve.consoleUrl
device.user.email principal.user.email_addresses メールの正規表現に一致する場合は統合
event_data.account.name, event_data.user.userName principal.user.user_display_name event_data.account.name が空でない場合はその値、それ以外の場合は event_data.user.userName
event_data.account.customerId, customer.customerId, event_data.customerId, device.user.email principal.user.userid event_data.account.customerId が空でない場合はその値、それ以外の場合は customer.customerId が空でない場合はその値、それ以外の場合は event_data.customerId が空でない場合はその値、それ以外の場合は device.user.email がメールでない場合はその値
event_data.blocked security_result.action true の場合は BLOCK、false の場合は ALLOW に設定
event_data_event_dataType_name security_result.description 値を直接コピー
app.threats, app.permissions, event_data.cve.id, event_data.cve.baseScore, event_data.cve.exploitAvailable, event_data.cve.attribution security_result.detection_fields ソースからラベルとして統合
event_data.severity security_result.severity 2 の場合は INFORMATIONAL、4 の場合は LOW、6 の場合は MEDIUM、8 の場合は HIGH、10 の場合は CRITICAL に設定
event_data.blockReason security_result.summary 値を直接コピー
event_data.cve.cveDetailUrl security_result.url_back_to_product 値を直接コピー
event_data.device.deviceId target.asset.asset_id 'CS:' 接頭辞を付けて連結
event_data.destination.ips, event_data.destinationIp, event_data.destination.ip, device.carrier.ipAddress, device.network.assignedIp, device.network.publicIp target.asset.ip ソースから統合
app_id_md5 target.file.md5 値を直接コピー
app_id_sha1 target.file.sha1 値を直接コピー
app_id_sha256 target.file.sha256 値を直接コピー
event_data.destination.name target.hostname 値を直接コピー
event_data.destination.ips, event_data.destinationIp, event_data.destination.ip, device.carrier.ipAddress, device.network.assignedIp, device.network.publicIp target.ip ソースから統合
device.location.countryName target.location.country_or_region 値を直接コピー
device.hw.wifiMacAddress, event_data.accessPointBssid, device.network.bssid target.mac ソースから統合
event_data.device.osType, event_data_device_os_osType, device.os.osType target.platform Win に一致する場合は WINDOWS、IOS または MAC_OS の場合は MAC、Lin の場合は LINUX、それ以外の場合は UNKNOWN_PLATFORM に設定(event_data、device の順)
event_data_device_os_osVersion, device.os.osVersion target.platform_version event_data_device_os_osVersion が空でない場合はその値、それ以外の場合は device.os.osVersion
event_data.destination.port target.port 整数に変換
event_data.device.deviceName target.resource.name 値を直接コピー
event_data.user.email target.user.email_addresses メールの正規表現に一致する場合は統合
event_data.user.email, event_data.user.name target.user.userid event_data.user.email がメールでない場合はその値、それ以外の場合は event_data.user.name
metadata.product_name 「JAMF_SECURITY_CLOUD」に設定
metadata.vendor_name 「JAMF_SECURITY_CLOUD」に設定

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