Mengumpulkan log Microsoft Sentinel

Didukung di:

Ringkasan

Parser ini mengekstrak kolom dari log JSON Microsoft Sentinel, melakukan transformasi seperti ekstraksi alamat IP dan manipulasi string, serta memetakan data yang diekstrak ke UDM, termasuk kolom principal, target, security_result, dan metadata. Fungsi ini juga menangani berbagai jenis data dan menggabungkan entitas yang diekstrak ke dalam struktur UDM.

Sebelum memulai

  • Pastikan Anda memiliki instance Google Chronicle.
  • Akses ke Microsoft Sentinel.

Mengonfigurasi feed di Google SecOps untuk menyerap log Microsoft Sentinel

  1. Buka SIEM Settings > Feeds.
  2. Klik Tambahkan baru.
  3. Di kolom Nama feed, masukkan nama untuk feed (misalnya, Log Microsoft Sentinel).
  4. Pilih Webhook sebagai Jenis sumber.
  5. Pilih Microsoft Sentinel sebagai Jenis log.
  6. Klik Berikutnya.
  7. Opsional: Tentukan nilai untuk parameter input berikut:
    • Pemisah pemisahan: pembatas yang digunakan untuk memisahkan baris log, seperti \n.
    • Namespace aset: namespace aset.
    • Label penyerapan: label yang akan diterapkan ke peristiwa dari feed ini.
  8. Klik Berikutnya.
  9. Tinjau konfigurasi feed baru Anda di layar Finalize, lalu klik Submit.
  10. Klik Buat Kunci Rahasia untuk membuat kunci rahasia guna mengautentikasi feed ini.
  11. Salin dan simpan kunci rahasia karena Anda tidak dapat melihat rahasia ini lagi. Anda dapat membuat kunci rahasia baru lagi, tetapi pembuatan ulang kunci rahasia akan membuat kunci rahasia sebelumnya tidak berlaku lagi.
  12. Dari tab Detail, salin URL endpoint feed dari kolom Endpoint Information. Anda perlu menentukan URL endpoint ini di aplikasi klien.
  13. Klik Done.

Membuat kunci API untuk feed webhook

  1. Buka Konsol Google Cloud > Kredensial.

    Buka Kredensial

  2. Klik Create credentials, lalu pilih API key.

  3. Batasi akses kunci API ke Google Security Operations API.

Menentukan URL endpoint

  1. Di aplikasi klien, tentukan URL endpoint HTTPS yang diberikan di feed webhook.
  2. Aktifkan autentikasi dengan menentukan kunci API dan kunci secret sebagai bagian dari header kustom dalam format berikut:

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

    Rekomendasi: Tentukan kunci API sebagai header, bukan menentukannya di URL. Jika klien webhook Anda tidak mendukung header kustom, Anda dapat menentukan kunci API dan kunci rahasia menggunakan parameter kueri dalam format berikut:

    ENDPOINT_URL?key=API_KEY&secret=SECRET
    

Ganti kode berikut:

  • ENDPOINT_URL: URL endpoint feed.
  • API_KEY: kunci API untuk mengautentikasi ke Google Security Operations.
  • SECRET: kunci rahasia yang Anda buat untuk mengautentikasi feed.

Mengonfigurasi Logic App untuk Insiden Microsoft Sentinel

Untuk mengonfigurasi Logic App untuk Insiden Microsoft Sentinel, ikuti langkah-langkah berikut:

  1. Login ke Azure Portal.
  2. Klik Buat resource.
  3. Telusuri Logic App.
  4. Klik Create untuk memulai proses pembuatan.
  5. Tentukan nilai untuk parameter input berikut:
    • Langganan: Pilih langganan.
    • Grup resource: Pilih grup resource.
    • Nama: Masukkan nama untuk Logic App.
    • Region: Pilih region.
    • Ruang kerja Log Analytics: Pilih ruang kerja Log Analytics.
  6. Klik Review + create.
  7. Klik Create.
  8. Setelah Logic App dibuat, klik Go to resource.
  9. Klik Development Tools > Logic App Designer.
  10. Klik Tambahkan pemicu.
  11. Telusuri Microsoft Sentinel.
  12. Pilih Insiden Microsoft Sentinel sebagai pemicu.
  13. Jika belum membuat koneksi ke Microsoft Sentinel, Anda harus melakukannya sekarang. Klik Buat baru dan ikuti petunjuk untuk melakukan autentikasi.
  14. Klik Sisipkan langkah baru.
  15. Klik Tambahkan tindakan.
  16. Telusuri dan pilih HTTP sebagai tindakan.
  17. Tentukan nilai untuk parameter input berikut:
    • URI: URL endpoint feed.
    • Metode: POST
    • Header: Tambahkan header berikut:
      • Content-Type: application/json
      • X-goog-api-key: kunci API untuk mengautentikasi ke Google Security Operations.
      • X-Webhook-Access-Key: kunci rahasia yang Anda buat untuk mengautentikasi feed.

Mengonfigurasi Logic App untuk Pemberitahuan Microsoft Sentinel

Untuk mengonfigurasi Logic App untuk Pemberitahuan Microsoft Sentinel, ikuti langkah-langkah berikut:

  1. Buka Halaman Beranda Azure Portal.
  2. Klik Buat resource.
  3. Telusuri Logic App.
  4. Klik Create untuk memulai proses pembuatan.
  5. Tentukan nilai untuk parameter input berikut:
    • Langganan: Pilih langganan.
    • Grup resource: Pilih grup resource.
    • Nama: Masukkan nama untuk Logic App.
    • Region: Pilih region.
    • Ruang kerja Log Analytics: Pilih ruang kerja Log Analytics.
  6. Klik Review + create.
  7. Klik Create.
  8. Setelah Logic App dibuat, klik Go to resource.
  9. Klik Development Tools > Logic App Designer.
  10. Klik Tambahkan pemicu.
  11. Telusuri Microsoft Sentinel.
  12. Pilih Peringatan Microsoft Sentinel sebagai pemicu.
  13. Jika belum membuat koneksi ke Microsoft Sentinel, Anda harus melakukannya sekarang. Klik Buat baru dan ikuti petunjuk untuk melakukan autentikasi.
  14. Klik Sisipkan langkah baru.
  15. Klik Tambahkan tindakan.
  16. Telusuri dan pilih HTTP sebagai tindakan.
  17. Tentukan nilai untuk parameter input berikut:
    • URI: URL endpoint feed.
    • Metode: POST
    • Header: Tambahkan header berikut:
      • Content-Type: application/json
      • X-goog-api-key: kunci API untuk mengautentikasi ke Google Security Operations.
      • X-Webhook-Access-Key: kunci rahasia yang Anda buat untuk mengautentikasi feed.

Mengonfigurasi aturan Otomatisasi untuk Microsoft Sentinel

Untuk mengonfigurasi Aturan otomatisasi untuk Microsoft Sentinel, ikuti langkah-langkah berikut:

  1. Buka Ruang Kerja Microsoft Sentinel.
  2. Klik Konfigurasi > Otomatisasi.
  3. Klik Create.
  4. Pilih Aturan otomatisasi.
  5. Tentukan nilai untuk parameter input berikut:
    • Nama: Masukkan nama untuk aturan otomatisasi.
    • Pemicu: pilih Saat insiden dibuat.
    • Tindakan: pilih Jalankan playbook > Logic App yang dibuat untuk insiden.
  6. Klik Terapkan.
  7. Klik Create.
  8. Pilih Aturan otomatisasi.
  9. Tentukan nilai untuk parameter input berikut:
    • Nama: Masukkan nama untuk aturan otomatisasi.
    • Pemicu: pilih Saat insiden diperbarui.
    • Kondisi: klik Tambahkan > Kondisi (Dan) > Status > Berubah.
    • Tindakan: pilih Jalankan playbook > Logic App yang dibuat untuk insiden.
  10. Klik Terapkan.
  11. Klik Create.
  12. Pilih Aturan otomatisasi.
  13. Tentukan nilai untuk parameter input berikut:
    • Nama: Masukkan nama untuk aturan otomatisasi.
    • Pemicu: pilih Saat pemberitahuan dibuat.
    • Tindakan: pilih Jalankan playbook > Logic App yang dibuat untuk pemberitahuan.
  14. Klik Terapkan.

Tabel Pemetaan UDM

Kolom Log Pemetaan UDM Logika
AlertGenerationStatus security_result.detection_fields.AlertGenerationStatus Dipetakan langsung dari kolom ExtendedProperties setelah penguraian JSON.
AlertLink principal.labels.AlertLink Dipetakan secara langsung.
AlertName security_result.rule_name Dipetakan secara langsung.
AlertSeverity security_result.severity Dipetakan secara langsung, dikonversi menjadi huruf besar. Jika nilainya adalah salah satu dari HIGH, MEDIUM, LOW, CRITICAL, atau UNKNOWN_SEVERITY, nilai tersebut akan dipetakan ke security_result.severity. Jika tidak, kolom akan dipetakan ke security_result.severity_details.
AlertType security_result.threat_name Dipetakan secara langsung.
Category security_result.detection_fields.Category Dipetakan langsung dari kolom ExtendedProperties setelah penguraian JSON.
CompromisedEntity principal.resource.attribute.labels.CompromisedEntity Dipetakan secara langsung.
CompromisedEntityId security_result.detection_fields.CompromisedEntityId Dipetakan langsung dari kolom ExtendedProperties setelah penguraian JSON.
ConfidenceLevel security_result.confidence_details Dipetakan secara langsung.
ConfidenceScore security_result.detection_fields.ConfidenceScore Dipetakan secara langsung.
cribl_pipe additional.fields.cribl_pipe Dipetakan secara langsung.
Description security_result.description Dipetakan secara langsung.
DestinationDevice security_result.detection_fields.DestinationDevice ATAU target.ip Dipetakan dari kolom ExtendedProperties setelah penguraian JSON. Jika nilainya adalah alamat IP yang valid, nilai tersebut akan dipetakan ke target.ip. Jika tidak, kolom akan dipetakan sebagai kolom deteksi.
DestinationDeviceAddress target.ip Dipetakan dari kolom ExtendedProperties setelah penguraian JSON, hanya jika alamat IP valid.
DeviceId security_result.detection_fields.DeviceId Dipetakan langsung dari kolom ExtendedProperties setelah penguraian JSON.
DisplayName security_result.summary Dipetakan secara langsung.
EndTime about.labels.EndTime Dipetakan secara langsung.
Entities.Address principal.asset.ip Diekstrak dari array Entities setelah penguraian JSON. Hanya alamat IP yang dipetakan.
Entities.HostName principal.asset.hostname ATAU principal.asset.ip Diekstrak dari array Entities setelah penguraian JSON. Jika nilainya berupa alamat IP yang valid, nilai tersebut akan dipetakan ke principal.asset.ip. Jika tidak, kolom akan dipetakan ke principal.asset.hostname.
Entities.IoTDevice.DeviceId security_result.detection_fields.IoTDeviceID Diekstrak dari array Entities setelah penguraian JSON.
Entities.IoTDevice.DeviceType security_result.detection_fields.IoTDeviceType Diekstrak dari array Entities setelah penguraian JSON.
Entities.IoTDevice.DeviceTypeId security_result.detection_fields.IoTDeviceTypeId Diekstrak dari array Entities setelah penguraian JSON.
Entities.IoTDevice.Importance security_result.detection_fields.IoTDeviceImportance Diekstrak dari array Entities setelah penguraian JSON.
Entities.IoTDevice.IoTSecurityAgentId security_result.detection_fields.IoTSecurityAgentId Diekstrak dari array Entities setelah penguraian JSON.
Entities.IoTDevice.Manufacturer security_result.detection_fields.IoT Manufacturer Diekstrak dari array Entities setelah penguraian JSON.
Entities.IoTDevice.OperatingSystem principal.asset.platform_software.platform_version Diekstrak dari array Entities setelah penguraian JSON, spasi di akhir dihapus.
Entities.IoTDevice.PurdueLayer security_result.detection_fields.IoT PurdueLayer Diekstrak dari array Entities setelah penguraian JSON.
Entities.IoTDevice.Sensor security_result.detection_fields.IoT Sensor Diekstrak dari array Entities setelah penguraian JSON.
ExtendedProperties.Protocol security_result.detection_fields.Protocol Dipetakan langsung dari kolom ExtendedProperties setelah penguraian JSON.
ExtendedProperties.SensorId security_result.detection_fields.SensorId Dipetakan langsung dari kolom ExtendedProperties setelah penguraian JSON.
ExtendedProperties.SourceDevice principal.ip ATAU security_result.detection_fields.SourceDevice Dipetakan dari kolom ExtendedProperties setelah penguraian JSON. Jika nilainya adalah alamat IP yang valid, nilai tersebut akan dipetakan ke principal.ip. Jika tidak, kolom akan dipetakan sebagai kolom deteksi.
ExtendedProperties.SourceDeviceAddress principal.ip Dipetakan dari kolom ExtendedProperties setelah penguraian JSON, hanya jika alamat IP valid.
IsIncident security_result.detection_fields.IsIncident Dipetakan langsung, dikonversi menjadi string.
ProcessingEndTime about.labels.ProcessingEndTime Dipetakan secara langsung.
ProductComponentName principal.resource.attribute.labels.ProductComponentName Dipetakan secara langsung.
ProductName principal.resource.attribute.labels.ProductName Dipetakan secara langsung.
ProviderName principal.resource.attribute.labels.ProviderName Dipetakan secara langsung.
ResourceId principal.resource.product_object_id, target.resource.name Dipetakan secara langsung.
SourceComputerId principal.asset.asset_id Dipetakan secara langsung, diawali dengan "SourceComputerId:".
SourceSystem security_result.detection_fields.SourceSystem Dipetakan secara langsung.
StartTime about.labels.StartTime Dipetakan secara langsung.
Status security_result.detection_fields.Status Dipetakan secara langsung.
SystemAlertId metadata.product_log_id Dipetakan secara langsung.
Tactics security_result.attack_details.tactics.name Diekstrak dari kolom Tactics setelah penguraian JSON dan penghapusan garis miring terbalik.
Techniques security_result.attack_details.techniques.id Diekstrak dari kolom Techniques setelah penguraian JSON dan penghapusan garis miring terbalik.
TenantId additional.fields.TenantId Dipetakan secara langsung.
TimeGenerated about.labels.TimeGenerated Dipetakan secara langsung.
timestamp metadata.event_timestamp, events.timestamp Dipetakan secara langsung.
VendorName metadata.vendor_name Dipetakan secara langsung.
VendorOriginalId additional.fields.VendorOriginalId Dipetakan secara langsung.
_time metadata.event_timestamp, events.timestamp Diurai sebagai stempel waktu menggunakan format UNIX atau UNIX_MS.
(Logika Parser) metadata.event_type Tetapkan ke "USER_RESOURCE_ACCESS" jika akun utama, target, dan ResourceId ada. Jika tidak, tetapkan ke "GENERIC_EVENT".
(Logika Parser) metadata.log_type Tetapkan ke "MICROSOFT_SENTINEL".
(Logika Parser) metadata.product_name Tetapkan ke "MICROSOFT_SENTINEL".

Perubahan

2023-11-03

  • Memetakan "ResourceId" ke "target.resource.name".
  • Jika "ResourceId" adalah 'not null' dan peristiwa memiliki salah satu dari "principal" atau "target" sebagai 'not null', petakan "metadata.event_type" ke "USER_RESOURCE_ACCESS".

2023-08-31

  • Parser yang baru dibuat.