Mengumpulkan log Microsoft Defender for IoT (CyberX)

Didukung di:

Dokumen ini menjelaskan cara menyerap log Microsoft Defender for IoT (CyberX) ke Google Security Operations menggunakan Bindplane.

Microsoft Defender for IoT (sebelumnya CyberX) adalah platform keamanan IoT/OT tanpa agen yang menyediakan penemuan aset, pengelolaan kerentanan, dan pemantauan ancaman berkelanjutan untuk sistem kontrol industri (ICS) dan lingkungan teknologi operasional (OT). Layanan ini mendeteksi perilaku anomali dan ancaman yang diketahui di seluruh jaringan IoT/OT tanpa memengaruhi proses operasional. Parser mengekstrak kolom dari syslog CyberX dan log berformat key-value. Log ini menggunakan grok dan/atau kv untuk mengurai pesan log, lalu memetakan nilai ini ke Model Data Terpadu (UDM). Layanan ini juga menetapkan nilai metadata default untuk sumber dan jenis peristiwa.

Sebelum memulai

Pastikan Anda memiliki prasyarat berikut:

  • Instance Google SecOps
  • Windows Server 2016 atau yang lebih baru, atau host Linux dengan systemd
  • Jika beroperasi dari balik proxy, pastikan port firewall terbuka sesuai dengan persyaratan agen Bindplane
  • Akses istimewa ke konsol sensor Microsoft Defender for IoT

Mendapatkan file autentikasi penyerapan Google SecOps

  1. Login ke konsol Google SecOps.
  2. Buka Setelan SIEM > Agen Pengumpulan.
  3. Download File Autentikasi Penyerapan. Simpan file dengan aman di sistem tempat BindPlane akan diinstal.

Mendapatkan ID pelanggan Google SecOps

  1. Login ke konsol Google SecOps.
  2. Buka Setelan SIEM > Profil.
  3. Salin dan simpan ID Pelanggan dari bagian Detail Organisasi.

Menginstal agen Bindplane

Instal agen Bindplane di sistem operasi Windows atau Linux Anda sesuai dengan petunjuk berikut.

Penginstalan Windows

  1. Buka Command Prompt atau PowerShell sebagai administrator.
  2. Jalankan perintah berikut:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. Tunggu hingga penginstalan selesai.

  4. Verifikasi penginstalan dengan menjalankan:

    sc query observiq-otel-collector
    

Layanan akan ditampilkan sebagai RUNNING.

Penginstalan Linux

  1. Buka terminal dengan hak istimewa root atau sudo.
  2. Jalankan perintah berikut:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    
  3. Tunggu hingga penginstalan selesai.

  4. Verifikasi penginstalan dengan menjalankan:

    sudo systemctl status observiq-otel-collector
    

Layanan akan ditampilkan sebagai aktif (berjalan).

Referensi penginstalan tambahan

Untuk opsi penginstalan dan pemecahan masalah tambahan, lihat Panduan penginstalan agen BindPlane.

Mengonfigurasi agen BindPlane untuk menyerap syslog dan mengirimkannya ke Google SecOps

Cari file konfigurasi

  • Linux:

    sudo nano /etc/bindplane-agent/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Edit file konfigurasi

  • Ganti seluruh konten config.yaml dengan konfigurasi berikut:

    receivers:
        udplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            creds_file_path: '/path/to/ingestion-authentication-file.json'
            customer_id: 'YOUR_CUSTOMER_ID'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: 'CYBERX'
            raw_log_field: body
            ingestion_labels:
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    

Parameter konfigurasi

  • Ganti placeholder berikut:

    • Konfigurasi penerima:

      • udplog: Gunakan udplog untuk syslog UDP atau tcplog untuk syslog TCP
      • 0.0.0.0: Alamat IP yang akan didengarkan (0.0.0.0 untuk mendengarkan semua antarmuka)
      • 514: Nomor port yang akan diproses (port syslog standar)
    • Konfigurasi eksportir:

      • creds_file_path: Jalur lengkap ke file autentikasi penyerapan:
        • Linux: /etc/bindplane-agent/ingestion-auth.json
        • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
      • YOUR_CUSTOMER_ID: ID Pelanggan dari bagian Dapatkan ID pelanggan
      • endpoint: URL endpoint regional:
        • Amerika Serikat: malachiteingestion-pa.googleapis.com
        • Eropa: europe-malachiteingestion-pa.googleapis.com
        • Asia: asia-southeast1-malachiteingestion-pa.googleapis.com
        • Lihat Endpoint Regional untuk mengetahui daftar lengkapnya
      • log_type: Jenis log persis seperti yang muncul di Chronicle (CYBERX)

Simpan file konfigurasi

  • Setelah mengedit, simpan file:
    • Linux: Tekan Ctrl+O, lalu Enter, lalu Ctrl+X
    • Windows: Klik File > Save

Mulai ulang agen Bindplane untuk menerapkan perubahan

  • Untuk memulai ulang agen Bindplane di Linux, jalankan perintah berikut:

    sudo systemctl restart observiq-otel-collector
    
    1. Pastikan layanan sedang berjalan:

        sudo systemctl status observiq-otel-collector
      
    2. Periksa log untuk mengetahui error:

        sudo journalctl -u observiq-otel-collector -f
      
  • Untuk memulai ulang agen Bindplane di Windows, pilih salah satu opsi berikut:

    • Command Prompt atau PowerShell sebagai administrator:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • Konsol layanan:

      1. Tekan Win+R, ketik services.msc, lalu tekan Enter.
      2. Temukan observIQ OpenTelemetry Collector.
      3. Klik kanan, lalu pilih Mulai Ulang.

      4. Pastikan layanan sedang berjalan:

        sc query observiq-otel-collector
        
      5. Periksa log untuk mengetahui error:

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

Mengonfigurasi penerusan Syslog di Microsoft Defender for IoT (CyberX)

  1. Login ke konsol sensor Microsoft Defender for IoT (sebelumnya CyberX).
  2. Buka Setelan Sistem > Penerusan.
  3. Klik Tambahkan (atau +) untuk membuat aturan penerusan baru.
  4. Berikan detail konfigurasi berikut:
    • Nama Aturan: Masukkan nama deskriptif (misalnya, Google-SecOps-Bindplane).
    • Tingkat keparahan: Pilih Semua (atau pilih tingkat keparahan tertentu: Ringan, Berat, Kritis).
    • Protokol: Pilih Semua (atau pilih protokol tertentu yang akan dipantau).
    • Mesin: Pilih Semua (atau pilih mesin deteksi tertentu).
    • Tindakan: Pilih Kirim Syslog.
  5. Dalam konfigurasi Syslog Server:
    • Host: Masukkan alamat IP host agen Bindplane.
    • Port: Masukkan 514.
    • Protocol: Pilih UDP.
    • Format: Pilih CEF (Common Event Format).
    • Zona waktu: Pilih UTC (direkomendasikan).
  6. Klik Simpan.
  7. Aktifkan aturan penerusan dengan mengalihkan aturan ke Aktif.
  8. Pastikan pesan syslog dikirim dengan memeriksa log agen Bindplane.

Tabel pemetaan UDM

Kolom Log Pemetaan UDM Logika
Masker Akses security_result.detection_fields.value Nilai access_mask dari access_request_kvdata yang diuraikan
Domain Akun principal.administrative_domain Nilai principal_domain dari principal_kvdata yang diuraikan
Domain Akun target.administrative_domain Nilai target_domain dari target_kvdata yang diuraikan
Nama Akun principal.user.userid Nilai principal_account_name dari principal_kvdata yang diuraikan
Nama Akun target.user.userid Nilai target_account_name dari target_kvdata yang diuraikan
tindakan security_result.action_details Nilai tindakan
tindakan security_result.action Diturunkan. Jika tindakan adalah "accept", "passthrough", "pass", "permit", "detected", atau "close", petakan ke "ALLOW". Jika tindakan adalah "deny", "dropped", atau "blocked", petakan ke "BLOCK". Jika tindakan adalah "timeout", petakan ke "GAGAL". Jika tidak, petakan ke "UNKNOWN_ACTION".
Nama Algoritma security_result.detection_fields.value Nilai algorithm_name dari cryptographic_kvdata yang diuraikan
aplikasi target.application Nilai layanan jika app_protocol_output kosong
appcat security_result.detection_fields.value Nilai appcat
Nama Aplikasi principal.application Nilai application_name
Paket Autentikasi security_result.about.resource.name Nilai authentication_package
Pemberitahuan Azure Defender for IoT security_result.detection_fields.value Nilai azure_defender_for_iot_alert
channel security_result.detection_fields.value Nilai channel
Alamat Klien principal.ip, principal.asset.ip Nilai source_ip
Port Klien principal.port Nilai source_port
craction security_result.detection_fields.value Nilai tindakan
Kredensial Pengelola Kredensial dicadangkan security_result.description Nilai deskripsi
Kredensial Pengelola Kredensial telah dibaca. security_result.description Nilai deskripsi
crscore security_result.severity_details Nilai crscore
crlevel security_result.severity, security_result.severity_details Nilai crlevel. Jika crlevel adalah "HIGH", "MEDIUM", "LOW", atau "CRITICAL", petakan ke tingkat keparahan UDM yang sesuai.
Operasi Kriptografi metadata.description Nilai product_desc
Nama platform CyberX security_result.detection_fields.value Nilai cyberx_platform_name
Deskripsi security_result.description Nilai deskripsi jika Pesan kosong
Tujuan target.ip, target.asset.ip, atau target.hostname Jika Tujuan adalah alamat IP, petakan ke target.ip dan target.asset.ip. Jika tidak, petakan ke target.hostname.
Alamat Tujuan target.ip, target.asset.ip Nilai destination_ip dari network_information yang diuraikan
DRA tujuan target.resource.name Nilai destination_dra
IP tujuan target.ip, target.asset.ip Nilai destination_ip
Port Tujuan target.port Nilai destination_port dari network_information yang diuraikan
devid principal.resource.product_object_id Nilai devid
devname principal.resource.name Nilai devname
Arah network.direction Jika Arah adalah "masuk", "masuk", atau "respons", petakan ke "MASUK". Jika Arah adalah "keluar", "keluar", atau "permintaan", petakan ke "KELUAR".
dstip target.ip, target.asset.ip Nilai dstip jika destination_ip kosong
dstcountry target.location.country_or_region Nilai dstcountry
dstintf security_result.detection_fields.value Nilai dstintf
dstintfrole security_result.detection_fields.value Nilai dstintfrole
dstosname target.platform Nilai dstosname jika "WINDOWS", "LINUX", atau "MAC".
dstport target.port Nilai dstport jika destination_port kosong
dstswversion target.platform_version Nilai dstswversion
durasi network.session_duration.seconds Nilai durasi
event_id security_result.rule_name Digunakan untuk membuat nama aturan sebagai "EventID: %{event_id}"
event_in_sequence security_result.detection_fields.value Nilai event_in_sequence
ID Waktu Proses Filter security_result.detection_fields.value Nilai filter_run_time_id dari filter_information yang diuraikan
Keanggotaan Grup security_result.detection_fields.value Nilai group_membership jika event_id bukan 4627
Keanggotaan Grup target.user.group_identifiers Nilai dari group_membership yang diuraikan jika event_id adalah 4627
handle_id security_result.detection_fields.value Nilai handle_id dari object_kvdata yang diuraikan
ID Pegangan security_result.detection_fields.value Nilai handle_id dari object_kvdata yang diuraikan
impersonation_level security_result.detection_fields.value Nilai impersonation_level dari logon_information_kvdata yang diuraikan
Panjang Kunci security_result.detection_fields.value Nilai key_length dari auth_kvdata yang diuraikan
Nama Kunci security_result.detection_fields.value Nilai key_name dari cryptographic_kvdata yang diuraikan
Jenis Kunci security_result.detection_fields.value Nilai key_type dari cryptographic_kvdata yang diuraikan
kata kunci security_result.detection_fields.value Nilai kata kunci
Nama Lapisan security_result.detection_fields.value Nilai layer_name dari filter_information yang diuraikan
ID Waktu Proses Lapisan security_result.detection_fields.value Nilai layer_run_time_id dari filter_information yang diuraikan
logid metadata.product_log_id Nilai logid
GUID Login principal.resource.product_object_id Nilai logon_guid
ID Login security_result.detection_fields.value Nilai logon_id
logon_type event.idm.read_only_udm.extensions.auth.mechanism Diturunkan. Jika logon_type adalah '3', petakan ke "NETWORK". Jika '4', petakan ke "BATCH". Jika '5', petakan ke "SERVICE". Jika '8', petakan ke "NETWORK_CLEAR_TEXT". Jika '9', petakan ke "NEW_CREDENTIALS". Jika '10', petakan ke "REMOTE_INTERACTIVE". Jika '11', petakan ke "CACHED_INTERACTIVE". Jika tidak kosong, petakan ke "MECHANISM_OTHER".
Akun Login security_result.detection_fields.value Nilai logon_id dari penguraian grok
Proses Login security_result.detection_fields.value Nilai logon_process dari auth_kvdata yang diuraikan
Label Wajib security_result.detection_fields.value Nilai mandatory_label
mastersrcmac principal.mac Nilai mastersrcmac
Pesan security_result.description Nilai Pesan
new_process_id target.process.pid Nilai new_process_id dari process_kvdata yang diuraikan
new_process_name target.process.file.full_path Nilai new_process_name dari process_kvdata yang diuraikan
Nama Objek security_result.detection_fields.value Nilai object_name dari object_kvdata yang diuraikan
Server Objek security_result.detection_fields.value Nilai object_server dari object_kvdata yang diuraikan
Jenis Objek security_result.detection_fields.value Nilai object_type dari object_kvdata yang diuraikan
osname principal.platform Nilai osname jika "WINDOWS", "LINUX", atau "MAC".
Nama Paket (khusus NTLM) security_result.detection_fields.value Nilai package_name dari auth_kvdata yang diuraikan
policyid security_result.rule_id Nilai policyid
policyname security_result.rule_name Nilai policyname
policytype security_result.rule_type Nilai policytype
ID proses principal.process.pid Nilai process_id
Nama Proses principal.process.file.full_path Nilai creator_process_name dari process_kvdata yang diuraikan
profile_changed security_result.detection_fields.value Nilai profile_changed
Profil Diubah security_result.detection_fields.value Nilai profile_changed dari penguraian grok
proto network.ip_protocol Jika proto adalah "17", petakan ke "UDP". Jika "6" atau subtype adalah "wad", petakan ke "TCP". Jika "41", petakan ke "IP6IN4". Jika layanan adalah "PING" atau proto adalah "1" atau layanan berisi "ICMP", petakan ke "ICMP".
Protokol network.application_protocol Nilai app_protocol_output yang berasal dari Protocol
Nama Penyedia security_result.detection_fields.value Nilai provider_name dari provider_kvdata atau cryptographic_kvdata yang diuraikan
rcvdbyte network.received_bytes Nilai rcvdbyte
rcvdpkt security_result.detection_fields.value Nilai rcvdpkt
restricted_admin_mode security_result.detection_fields.value Nilai restricted_admin_mode dari logon_information_kvdata yang diuraikan
Kode Status security_result.detection_fields.value Nilai return_code dari cryptographic_kvdata yang diuraikan
respons security_result.detection_fields.value Nilai respons
rule_id security_result.rule_id Nilai rule_id
ID Keamanan principal.user.windows_sid Nilai principal_security_id dari principal_kvdata yang diuraikan
ID Keamanan target.user.windows_sid Nilai target_security_id dari target_kvdata yang diuraikan
sentbyte network.sent_bytes Nilai sentbyte
sentpkt security_result.detection_fields.value Nilai sentpkt
pelanggan network.application_protocol atau target.application Nilai app_protocol_output yang berasal dari layanan. Jika app_protocol_output kosong, petakan ke target.application.
ID layanan security_result.detection_fields.value Nilai service_id dari service_kvdata yang diuraikan
Nama Layanan security_result.detection_fields.value Nilai service_name dari service_kvdata yang diuraikan
sessionid network.session_id Nilai sessionid
Keparahan security_result.severity, security_result.severity_details Jika Keparahan adalah "ERROR" atau "CRITICAL", petakan ke keparahan UDM yang sesuai. Jika "INFO", petakan ke "INFORMATIONAL". Jika "MINOR", petakan ke "RENDAH". Jika "WARNING", petakan ke "MEDIUM". Jika "MAJOR", petakan ke "HIGH". Petakan juga nilai mentah ke severity_details.
tingkat keseriusan, security_result.severity, security_result.severity_details Jika tingkat keparahan adalah "1", "2", atau "3", petakan ke "RENDAH". Jika "4", "5", atau "6", petakan ke "MEDIUM". Jika "7", "8", atau "9", petakan ke "TINGGI". Petakan juga nilai mentah ke severity_details.
Nama Bagian security_result.detection_fields.value Nilai share_name dari share_information_kvdata yang diuraikan
Bagikan Jalur security_result.detection_fields.value Nilai share_path dari share_information_kvdata yang diuraikan
Sumber principal.ip, principal.asset.ip, atau principal.hostname, principal.asset.hostname Jika Sumber adalah alamat IP, petakan ke principal.ip dan principal.asset.ip. Jika tidak, petakan ke principal.hostname dan principal.asset.hostname.
Alamat Sumber principal.ip, principal.asset.ip Nilai source_ip dari network_information yang diuraikan
DRA Sumber principal.resource.name Nilai source_dra
IP sumber principal.ip Nilai source_ip
Alamat Jaringan Sumber principal.ip, principal.asset.ip Nilai source_ip
Port Sumber principal.port Nilai source_port dari network_information yang diuraikan
Workstation Sumber workstation_name Nilai source_workstation_name
srcip source_ip Nilai srcip jika source_ip kosong
srccountry principal.location.country_or_region Nilai srccountry
srcmac principal.mac Nilai srcmac
srcname principal.hostname, principal.asset.hostname Nilai srcname
srcport source_port Nilai srcport jika source_port kosong
srcswversion principal.platform_version Nilai srcswversion
Kode Status network.http.response_code Nilai status_code
Jenis Peninggian Token security_result.detection_fields.value Nilai token_elevation_type
transited_services security_result.detection_fields.value Nilai transited_services dari auth_kvdata yang diuraikan
transip principal.nat_ip Nilai transip
transportasi principal.nat_port Nilai transportasi
jenis metadata.product_event_type Digunakan dengan subjenis untuk membuat metadata.product_event_type
Jenis security_result.detection_fields.value Nilai Jenis
UUID metadata.product_log_id Nilai UUID
vd principal.administrative_domain Nilai vd
virtual_account security_result.detection_fields.value Nilai virtual_account dari logon_information_kvdata yang diuraikan
Nama Workstation principal.hostname, principal.asset.hostname Nilai workstation_name jika tidak ada ID utama lainnya
metadata.event_type metadata.event_type Diturunkan. Jika principal_present dan target_present bernilai benar, petakan ke "NETWORK_CONNECTION". Jika user_present benar, petakan ke "USER_RESOURCE_ACCESS". Jika principal_present adalah benar (true), petakan ke "STATUS_UPDATE". Jika tidak, petakan ke "GENERIC_EVENT".
metadata.log_type metadata.log_type Dikodekan secara permanen ke "CYBERX"
metadata.product_name metadata.product_name Dikodekan secara permanen ke "CYBERX"
metadata.vendor_name metadata.vendor_name Dikodekan secara permanen ke "CYBERX"
metadata.event_timestamp metadata.event_timestamp Disalin dari kolom stempel waktu tingkat teratas, atau berasal dari kolom eventtime atau tanggal dan waktu.

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