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

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

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [フィード] に移動します。
  3. [Add New Feed] をクリックします。
  4. [単一フィードを設定] をクリックします。
  5. [ソースタイプ] として [Google Cloud Storage V2] を選択します。
  6. [ログタイプ] として [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. [保存] をクリックします。
  • 削除オプション(転送されたファイルを削除する)を使用する場合は、Storage オブジェクト閲覧者ではなく、Storage オブジェクト管理者ロールを付与します。

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

  1. [SIEM 設定] > [フィード] に移動します。
  2. [Add New Feed] をクリックします。
  3. [単一フィードを設定] をクリックします。
  4. [フィード名] フィールドに、フィードの名前を入力します(例: JAMF Security Cloud logs)。
  5. [ソースタイプ] として [Google Cloud Storage V2] を選択します。
  6. [ログタイプ] として [JAMF Security Cloud] を選択します。
  7. [次へ] をクリックします。
  8. 次の入力パラメータの値を指定します。

    フィールド
    ストレージ バケット URI gs://jamf-security-cloud-logs/jamf-security-cloud/
    ソース削除オプション 必要に応じて削除オプションを選択します。
    最大ファイル経過日数 デフォルトは 180 日
    アセットの名前空間 アセットの名前空間
    取り込みラベル このフィードのイベントに適用されるラベル
    • 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 event_data、デバイスの順に、Win と一致する場合は WINDOWS、IOS または MAC_OS と一致する場合は MAC、Lin と一致する場合は LINUX、それ以外の場合は UNKNOWN_PLATFORM に設定します。
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」に設定
user.userEmail principal.user.email_addresses 変更履歴からマッピング
timestamp metadata.event_timestamp 変更履歴からマッピング
eventTimeUtcMs additional.fields 変更履歴からマッピング
cve.severity security_result.severity 変更履歴からマッピング
app.id", "app.name", "app.version additional.fields 変更履歴からマッピング

変更履歴

このパーサーの変更ログを表示する

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