Atlassian Jira のログを収集する

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

概要

このパーサーは、SYSLOG 形式と JSON 形式の Atlassian Jira ログを処理します。まず、メッセージを JSON として解析しようとします。失敗した場合は、grok パターンを使用して SYSLOG 形式のメッセージを解析し、IP アドレス、ユーザー名、HTTP メソッド、レスポンス コードなどのさまざまなフィールドを抽出し、それらを UDM にマッピングします。また、パーサーはログインの成功と失敗などの特定の Jira 監査イベントを処理し、関連するフィールドを UDM 内のセキュリティ結果属性にマッピングします。

始める前に

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

  • Google SecOps インスタンス。
  • Atlassian Jira への特権アクセス。

フィードを設定する

Google SecOps プラットフォームでフィードを設定するには、次の 2 つのエントリ ポイントがあります。

  • [SIEM 設定] > [フィード]
  • [Content Hub] > [Content Packs]

[SIEM 設定] > [フィード] でフィードを設定する

フィードを構成する手順は次のとおりです。

  1. [SIEM Settings] > [Feeds] に移動します。
  2. [Add New Feed] をクリックします。
  3. 次のページで [単一のフィードを設定] をクリックします。
  4. [フィード名] フィールドに、フィードの名前を入力します(例: Atlassian Jira Logs)。
  5. [Source type] として [Webhook] を選択します。
  6. [Log type] で [Atlassian Jira] を選択します。
  7. [次へ] をクリックします。
  8. 省略可: 次の入力パラメータの値を指定します。
    • 分割区切り文字: ログ行を区切るために使用される区切り文字(\n など)。
    • Asset namespace: アセットの名前空間
    • Ingestion labels: このフィードのイベントに適用されるラベル。
  9. [次へ] をクリックします。
  10. [Finalize] 画面でフィードの設定を確認し、[Submit] をクリックします。
  11. [秘密鍵を生成する] をクリックして、このフィードを認証するためのシークレット キーを生成します。
  12. 秘密鍵をコピーして保存します。この秘密鍵を再び表示することはできません。必要に応じて、新しい秘密鍵を再生成できますが、この操作により以前の秘密鍵は無効になります。
  13. [詳細] タブで、[エンドポイント情報] フィールドから、フィードのエンドポイント URL をコピーします。このエンドポイント URL をクライアント アプリケーション内で指定する必要があります。
  14. [完了] をクリックします。

コンテンツ ハブからフィードを設定する

次のフィールドに値を指定します。

  • Split delimiter: ログ行を区切るために使用される区切り文字(\n など)。

詳細オプション

  • フィード名: フィードを識別する事前入力された値。
  • ソースタイプ: Google SecOps にログを収集するために使用される方法。
  • アセットの名前空間: フィードに関連付けられた名前空間。
  • Ingestion Labels: このフィードのすべてのイベントに適用されるラベル。

  • [秘密鍵を生成する] をクリックして、このフィードを認証するためのシークレット キーを生成します。

  • 秘密鍵をコピーして保存します。この秘密鍵を再び表示することはできません。必要に応じて、新しい秘密鍵を再生成できますが、この操作により以前の秘密鍵は無効になります。

  • [詳細] タブで、[エンドポイント情報] フィールドから、フィードのエンドポイント URL をコピーします。このエンドポイント URL をクライアント アプリケーション内で指定する必要があります。

Webhook フィード用の API キーを作成する

  1. Google Cloud コンソール > [認証情報] に移動します。

    [認証情報] に移動

  2. [認証情報を作成] をクリックして [API キー] を選択します。

  3. API キーのアクセスを Google Security Operations API に制限します。

エンドポイント URL を指定する

  1. クライアント アプリケーション内で、Webhook フィードで提供される HTTPS エンドポイント URL を指定します。
  2. 次の形式でカスタム ヘッダーの一部として API キーと秘密鍵を指定して、認証を有効にします。

    X-goog-api-key = API_KEY
    X-Webhook-Access-Key = SECRET
    

    推奨事項: API キーは URL 内ではなくヘッダーとして指定してください。Webhook クライアントがカスタム ヘッダーをサポートしていない場合は、次の形式のクエリ パラメータを使用して API キーと秘密鍵を指定できます。

    ENDPOINT_URL?key=API_KEY&secret=SECRET
    

以下を置き換えます。

  • ENDPOINT_URL: フィード エンドポイントの URL。
  • API_KEY: Google Security Operations に対する認証に使用する API キー。
  • SECRET: フィードの認証用に生成した秘密鍵。

Google SecOps 用に Atlassian Jira で Webhook を作成する

  1. 管理者として Jira インスタンスにアクセスします。
  2. [Settings] settings > [System] > [WebHooks] に移動します。
  3. [Create a WebHook] をクリックします。
  4. 次の Webhook の詳細を構成します。
    • Name: Webhook のわかりやすい名前を入力します(例: Google SecOps Integration)。
    • URL: Google SecOps API エンドポイント URL を入力します。
    • Events: Webhook をトリガーする Jira イベントを選択します。セキュリティ モニタリングの必要性に応じてイベントを選択します(問題の発生、問題の更新、コメントの追加など)。必要に応じて [All Events] を選択できます。
    • 省略可: JQL Filter: JQL フィルタを使用して、Webhook をトリガーするイベントをさらに絞り込みます。これは、特定のプロジェクト、問題タイプ、その他の条件に焦点を当てる場合に便利です。
    • Exclude body: このチェックボックスはオフのままにします。Webhook は、イベントデータを JSON 形式で Google SecOps に送信する必要があります。
  5. [Create] をクリックして、Webhook の構成を保存します。

UDM マッピング テーブル

ログフィールド UDM マッピング 論理
affectedObjects.id target.resource.attribute.labels.value affectedObjects 配列の各オブジェクト内の id フィールドは、キー「ID_[index]」を持つラベルにマッピングされます。[index] は、配列内のオブジェクトの位置です。
affectedObjects.name target.resource.attribute.labels.value affectedObjects 配列の各オブジェクト内の name フィールドは、キー「Name_[index]」を持つラベルにマッピングされます。[index] は、配列内のオブジェクトの位置です。
affectedObjects.type target.resource.attribute.labels.value affectedObjects 配列の各オブジェクト内の type フィールドは、キー「Type_[index]」を持つラベルにマッピングされます。[index] は、配列内のオブジェクトの位置です。
associatedItems.0.id target.user.userid associatedItems.0.typeName が「USER」の場合、このフィールドは target.user.userid にマッピングされます。それ以外の場合は、security_result.detection_fields のキー「associatedItems Id」を持つラベルにマッピングされます。
associatedItems.0.name target.user.user_display_name associatedItems.0.typeName が「USER」の場合、このフィールドは target.user.user_display_name にマッピングされます。それ以外の場合は、security_result.detection_fields のキー「associatedItems Name」を持つラベルにマッピングされます。
associatedItems.0.parentId target.process.parent_process.pid associatedItems.0.typeName が「USER」の場合、このフィールドは target.process.parent_process.pid にマッピングされます。
associatedItems.0.parentName target.resource.parent associatedItems.0.typeName が「USER」の場合、このフィールドは target.resource.parent にマッピングされます。
associatedItems.0.typeName security_result.detection_fields.value security_result.detection_fields のキー「associatedItems TypeName」を持つラベルにマッピングされます。
author.id principal.user.userid principal.user.userid にマッピングされます。
author.name principal.user.user_display_name principal.user.user_display_name にマッピングされます。
author.type principal.resource.attribute.labels.value principal.resource.attribute.labels のキー「Author Type」を持つラベルにマッピングされます。
author.uri principal.url principal.url にマッピングされます。
authorAccountId principal.user.userid principal.user.userid にマッピングされます。
authorKey target.resource.attribute.labels.value target.resource.attribute.labels のキー「Author Key」を持つラベルにマッピングされます。
auditType.action security_result.summary security_result.summary にマッピングされます。security_result.actionmetadata.event_type の導出にも使用されます(アクションに「login」が含まれている場合は USER_LOGIN、「successful」の場合は ALLOW、「failed」の場合は BLOCK)。
auditType.area metadata.product_event_type metadata.product_event_type にマッピングされます。
auditType.category security_result.category_details security_result.category_details にマッピングされます。
category metadata.product_event_type metadata.product_event_type にマッピングされます。
changedValues.changedFrom security_result.about.resource.attribute.labels.value security_result.about.resource.attribute.labels のキー「Changed From」を持つラベルにマッピングされます。
changedValues.changedTo security_result.about.resource.attribute.labels.value security_result.about.resource.attribute.labels のキー「Changed To」を持つラベルにマッピングされます。
changedValues.fieldName security_result.about.resource.attribute.labels.value security_result.about.resource.attribute.labels のキー「FieldName」を持つラベルにマッピングされます。
changedValues.i18nKey security_result.about.resource.attribute.labels.value security_result.about.resource.attribute.labels のキー「FieldName」を持つラベルにマッピングされます。
changedValues.key security_result.about.resource.attribute.labels.value security_result.about.resource.attribute.labels のキー「Changed From」を持つラベルにマッピングされます。
changedValues.to security_result.about.resource.attribute.labels.value security_result.about.resource.attribute.labels のキー「Changed To」を持つラベルにマッピングされます。
created metadata.event_timestamp 解析され、metadata.event_timestamp にマッピングされます。
dst_ip target.ip target.ip にマッピングされます。
extraAttributes.name principal.resource.attribute.labels.value principal.resource.attribute.labels のキー「Name」を持つラベルにマッピングされます。
extraAttributes.value principal.resource.attribute.labels.value principal.resource.attribute.labels のキー「Value」を持つラベルにマッピングされます。
http_method network.http.method network.http.method にマッピングされます。
http_referral_url network.http.referral_url network.http.referral_url にマッピングされます。
id metadata.product_log_id metadata.product_log_id にマッピングされます。
objectItem.id security_result.detection_fields.value security_result.detection_fields のキー「objectItem Id」を持つラベルにマッピングされます。
objectItem.name security_result.detection_fields.value security_result.detection_fields のキー「objectItem Name」を持つラベルにマッピングされます。
objectItem.typeName security_result.detection_fields.value security_result.detection_fields のキー「objectItem TypeName」を持つラベルにマッピングされます。
path principal.url 「-」または「/status」でない場合は、principal.url にマッピングされます。
protocol network.ip_protocol 「HTTP」の場合は network.ip_protocol にマッピングされます。
remoteAddress principal.ip principal.ip にマッピングされます。
response_code network.http.response_code network.http.response_code にマッピングされます。
sent_bytes network.sent_bytes network.sent_bytes にマッピングされます。
source principal.ip 解析して IP アドレスを抽出し、principal.ip に統合されます。
src_ip1src_ip2src_ip3 principal.ip principal.ip にマッピングされます。
summary metadata.description metadata.description にマッピングされます。
user_agent network.http.user_agent network.http.user_agent にマッピングされます。
user_name principal.user.userid principal.user.userid にマッピングされます。auditType.action に「login」が含まれている場合は、「MACHINE」に設定されます。syslog を解析する場合は date_time から、JSON を解析する場合は created から取得されます。timestamp が JSON で使用可能な場合は、created の代わりに使用されます。いずれも存在しない場合は、バッチの create_time が使用されます。他のフィールドの有無に基づいて派生します。dst_ip が存在する場合は NETWORK_HTTP、user_name が存在する場合、または(associatedItems.0.typeName が「USER」で associatedItems.0.id が存在する場合)は USER_UNCATEGORIZED、src_ip1src_ip2src_ip3remoteAddress のいずれかが存在する場合は STATUS_UPDATE、それ以外の場合は GENERIC_EVENT です。auditType.action に「login」が含まれている場合は、USER_LOGIN にオーバーライドされます。常に「ATLASSIAN_JIRA」に設定されます。常に「ATLASSIAN_JIRA」に設定されます。auditType.action に「login successful」が含まれている場合は「ALLOW」、auditType.action に「login failed」が含まれている場合は「BLOCK」に設定されます。

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