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. Selain itu, kode ini menangani berbagai jenis data dan menggabungkan entity yang diekstrak ke dalam struktur UDM.

Sebelum memulai

Pastikan Anda memenuhi prasyarat berikut:

  • Instance Google SecOps.
  • Akses ke Microsoft Sentinel.

Menyiapkan feed dari Setelan SIEM > Feed

Untuk mengonfigurasi feed, ikuti langkah-langkah berikut:

  1. Buka Setelan SIEM > Feed.
  2. Klik Tambahkan Feed Baru.
  3. Di halaman berikutnya, klik Konfigurasi satu feed.
  4. Di kolom Feed name, masukkan nama untuk feed; misalnya, Microsoft Sentinel Logs.
  5. Pilih Webhook sebagai Jenis sumber.
  6. Pilih Microsoft Sentinel sebagai Jenis log.
  7. Klik Berikutnya.
  8. Opsional: Tentukan nilai untuk parameter input berikut:
    • Pemisah pemisahan: pemisah yang digunakan untuk memisahkan baris log, seperti \n.
  9. Klik Berikutnya.
  10. Tinjau konfigurasi feed baru Anda di layar Selesaikan, lalu klik Kirim.
  11. Klik Buat Kunci Rahasia untuk membuat kunci rahasia guna mengautentikasi feed ini.
  12. 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.
  13. Dari tab Detail, salin URL endpoint feed dari kolom Informasi Endpoint. Anda perlu menentukan URL endpoint ini di aplikasi klien Anda.
  14. Klik Selesai.

Membuat kunci API untuk feed webhook

  1. Buka konsolGoogle Cloud > Kredensial.

    Buka Kredensial

  2. Klik Create credentials, lalu pilih API key.

  3. Membatasi akses kunci API ke Chronicle API.

Tentukan URL endpoint

  1. Di aplikasi klien Anda, tentukan URL endpoint HTTPS yang disediakan di feed webhook.
  2. Aktifkan autentikasi dengan menentukan kunci API dan kunci rahasia 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 Aplikasi Logika untuk Insiden Microsoft Sentinel

Untuk mengonfigurasi Logic App for Microsoft Sentinel Incidents, ikuti langkah-langkah berikut:

  1. Login ke Azure Portal.
  2. Klik Buat resource.
  3. Telusuri Logic App.
  4. Klik Buat 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 wilayah.
    • Ruang kerja Log Analytics: Pilih ruang kerja Log Analytics.
  6. Klik Review + create.
  7. Klik Buat.
  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 Aplikasi Logika untuk Pemberitahuan Microsoft Sentinel

Untuk mengonfigurasi Logic App for Microsoft Sentinel Alerts, ikuti langkah-langkah berikut:

  1. Buka Halaman Beranda Azure Portal.
  2. Klik Buat resource.
  3. Telusuri Logic App.
  4. Klik Buat 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 wilayah.
    • Ruang kerja Log Analytics: Pilih ruang kerja Log Analytics.
  6. Klik Review + create.
  7. Klik Buat.
  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 Pemberitahuan 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 Microsoft Sentinel Workspace Anda.
  2. Klik Konfigurasi > Otomatisasi.
  3. Klik Buat.
  4. Pilih Aturan otomatisasi.
  5. Tentukan nilai untuk parameter input berikut:
    • Nama: Masukkan nama untuk aturan otomatisasi.
    • Pemicu: pilih Saat insiden dibuat.
    • Tindakan: pilih Run playbook > Logic App created for incidents.
  6. Klik Terapkan.
  7. Klik Buat.
  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 Run playbook > Logic App created for incidents.
  10. Klik Terapkan.
  11. Klik Buat.
  12. Pilih Aturan otomatisasi.
  13. Tentukan nilai untuk parameter input berikut:
    • Nama: Masukkan nama untuk aturan otomatisasi.
    • Pemicu: pilih Saat pemberitahuan dibuat.
    • Actions: pilih Run playbook > Logic App created for alerts.
  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 HIGH, MEDIUM, LOW, CRITICAL, atau UNKNOWN_SEVERITY, nilai tersebut dipetakan ke security_result.severity. Jika tidak, nilai ini 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 dipetakan ke target.ip. Jika tidak, kolom ini 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 adalah alamat IP yang valid, nilai tersebut dipetakan ke principal.asset.ip. Jika tidak, nilai ini 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 parsing 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 dipetakan ke principal.ip. Jika tidak, kolom ini 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 Diuraikan sebagai stempel waktu menggunakan format UNIX atau UNIX_MS.
(Logika Parser) metadata.event_type Ditetapkan ke "USER_RESOURCE_ACCESS" jika principal, 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".

Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.