Mengumpulkan log CEF ArcSight

Versi Parser: 34.0

Didukung di:

Dokumen ini menjelaskan cara menyerap log ArcSight CEF ke Google Security Operations menggunakan agen Bindplane.

ArcSight (sekarang bagian dari OpenText) menggunakan Common Event Format (CEF) untuk menormalisasi peristiwa keamanan dari berbagai sumber. ArcSight SmartConnector mengumpulkan peristiwa dan meneruskannya dalam format CEF melalui syslog ke konsumen hilir, termasuk platform SIEM.

Sebelum memulai

Pastikan Anda memiliki prasyarat berikut:

  • Instance Google SecOps
  • Windows Server 2016 atau yang lebih baru, atau host Linux dengan systemd
  • Konektivitas jaringan antara agen Bindplane dan host ArcSight SmartConnector
  • Jika beroperasi dari balik proxy, pastikan port firewall terbuka sesuai dengan persyaratan agen Bindplane
  • Akses ke portal dukungan OpenText untuk mendownload SmartConnector
  • Akses administratif ke server SmartConnector

Mendapatkan kredensial Google SecOps untuk agen Bindplane

Untuk mengautentikasi agen Bindplane ke Google SecOps, pilih salah satu metode berikut:

  • Deployment baru: Gunakan Chronicle API (Opsi 1).
  • Deployment lama: Terus gunakan file autentikasi penyerapan (Opsi 2) hingga Ingestion API dihentikan pada 20 Juli 2027.
  1. Login ke konsolGoogle Cloud dan pilih project Google Cloud yang ditautkan ke instance Google SecOps Anda.
  2. Buka IAM & Admin > Service Accounts.
  3. Klik Create service account.
  4. Berikan detail konfigurasi berikut:
    • Nama akun layanan: Masukkan nama untuk akun (misalnya, bindplane-ingest).
    • Deskripsi akun layanan: Masukkan deskripsi (misalnya, Bindplane agent log ingestion).
  5. Klik Create and continue.
  6. Di bagian Grant this service account access to project, klik Select a role, lalu pilih Chronicle Editor.
  7. Klik Continue lalu klik Done.
  8. Klik akun layanan yang Anda buat, lalu buka tab Keys.
  9. Klik Add key > Create new key.
  10. Pilih JSON, lalu klik Create. File kunci akan didownload ke komputer Anda.
  11. Simpan file kunci sebagai ingestion-auth.json di direktori pengumpul Bindplane (/opt/observiq-otel-collector/ingestion-auth.json di Linux atau C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json di Windows), atau perbarui creds_file_path di config.yaml agar cocok dengan jalur tempat Anda menyimpannya.
  12. Buka IAM & Admin > Settings dan salin Project number. Anda akan memerlukannya untuk konfigurasi pengekspor.

Opsi 2: Mendownload file autentikasi penyerapan (lama)

  1. Login ke konsol Google SecOps.
  2. Buka Setelan SIEM > Agen Pengumpulan.
  3. Download file autentikasi penyerapan.
  4. Simpan file dengan aman di sistem tempat agen Bindplane akan diinstal.

Mendapatkan ID pelanggan Google SecOps

  1. Login ke konsol Google SecOps.
  2. Buka SIEM Settings > Profile.
  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 active (running).

Referensi penginstalan tambahan

Untuk opsi pemasangan dan pemecahan masalah tambahan, lihat Panduan pemasangan agen Bindplane.

Mengonfigurasi agen Bindplane untuk menyerap syslog dan mengirimkannya ke Google SecOps

Menemukan file konfigurasi

  • Linux:

    sudo nano /opt/observiq-otel-collector/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/arcsight_cef:
        protocol: https
        # Region of your instance, for example us, europe, asia-southeast1
        location: <LOCATION>
        # Project number of the Google Cloud project linked to the instance
        project: '<PROJECT_NUMBER>'
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: chronicle.googleapis.com
        log_type: ARCSIGHT_CEF
        raw_log_field: body
    
    service:
      pipelines:
        logs/arcsight_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/arcsight_cef
    

Parameter konfigurasi

Ganti placeholder berikut:

  • Konfigurasi penerima:

    • listen_address: Alamat IP dan port untuk diproses:
      • 0.0.0.0 untuk memproses semua antarmuka (direkomendasikan)
      • Port 514 adalah port syslog standar (memerlukan root di Linux; gunakan 1514 untuk non-root)
  • Konfigurasi pengekspor:

    • creds_file_path: Jalur lengkap ke file kunci JSON akun layanan (Opsi 1):
      • Linux: /opt/observiq-otel-collector/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id: ID Pelanggan yang disalin dari konsol Google SecOps
    • location: Ganti <LOCATION> dengan region instance Google SecOps Anda (misalnya, us, europe, atau asia-southeast1). Pengekspor mengawali chronicle.googleapis.com dengan nilai ini. Lihat Endpoint Regional untuk mengetahui daftar lengkapnya.
    • project: Ganti <PROJECT_NUMBER> dengan nomor project dari IAM & Admin > Settings.
    • endpoint: Tetap tetapkan ke chronicle.googleapis.com.

Pengekspor API penyerapan lama

  • Jika Anda menggunakan file autentikasi penyerapan dari Opsi 2, ganti blok exporters dengan kode berikut. Tetapkan creds_file_path ke jalur file autentikasi penyerapan, dan jika instance Anda berada di luar Amerika Serikat, ganti malachiteingestion-pa.googleapis.com dengan endpoint regional Anda (misalnya, europe-malachiteingestion-pa.googleapis.com).

    exporters:
      chronicle/arcsight_cef:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: ARCSIGHT_CEF
        raw_log_field: body
    

Menyimpan 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. Cari observIQ OpenTelemetry Collector.
      3. Klik kanan, lalu pilih Restart.
      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"
        

Mendownload ArcSight SmartConnector

  1. Login ke portal dukungan OpenText.
  2. Temukan dan download ArcSight SmartConnector terbaru untuk Linux.
  3. Contoh nama file: ArcSight-Connector-Linux64-8.4.0.8499.0.bin.

Menginstal ArcSight SmartConnector

  1. Upload file .bin ke server SmartConnector:

    scp ArcSight-Connector-Linux64-8.4.0.8499.0.bin user@your-smartconnector-host:/tmp
    
  2. Login ke server SmartConnector menggunakan SSH dan jalankan:

    cd /tmp
    chmod +x ArcSight-Connector-Linux64-8.4.0.8499.0.bin
    ./ArcSight-Connector-Linux64-8.4.0.8499.0.bin
    
  3. Ikuti penginstal interaktif:

    • Pilih direktori penginstalan (misalnya, /opt/arcsight/connectors/current).
    • Setujui lisensi.
    • Pilih Instal konektor saat diminta.

Mengonfigurasi ArcSight SmartConnector untuk mengirim CEF ke syslog

  1. Di SmartConnector host, luncurkan wizard tujuan:

    cd /opt/arcsight/connectors/current/bin
    ./arcsight connectors
    
  2. Di wizard, lakukan hal berikut:

    • Pilih Tambahkan Tujuan.
    • Pilih CEF Syslog.
  3. Berikan detail konfigurasi berikut:

    • Host/IP: Masukkan alamat IP agen Bindplane.
    • Port: Masukkan nomor port agen Bindplane (misalnya, 514).
    • Protocol: Pilih UDP.
  4. Selesaikan penyiapan dan mulai ulang konektor:

    ./arcsight agents
    
  5. Jalankan pemeriksaan konektivitas (cari: Successfully connected to syslog: X.X.X.X:514):

    tail -f /opt/arcsight/connectors/current/logs/agent.log
    

Tabel pemetaan UDM

Kolom log Pemetaan UDM Logika
act security_result.action_details Dipetakan langsung dari kolom act.
agt principal.ip Dipetakan langsung dari kolom agt.
agt principal.asset.ip Dipetakan langsung dari kolom agt.
aplikasi network.application_protocol Dipetakan langsung dari kolom app.
seni metadata.event_timestamp.seconds Dipetakan langsung dari kolom art.
cs2 additional.fields.value.string_value Dipetakan langsung dari kolom cs2 saat cs2Label adalah EventlogCategory.
cs2Label additional.fields.key Dipetakan langsung dari kolom cs2Label jika nilainya adalah EventlogCategory.
cs3 additional.fields.value.string_value Dipetakan langsung dari kolom cs3 saat cs3Label adalah Process ID.
cs3Label additional.fields.key Dipetakan langsung dari kolom cs3Label saat nilainya adalah Process ID.
cs5 additional.fields.value.string_value Dipetakan langsung dari kolom cs5 saat cs5Label adalah Authentication Package Name.
cs5Label additional.fields.key Dipetakan langsung dari kolom cs5Label jika nilainya adalah Authentication Package Name.
cs6 additional.fields.value.string_value Dipetakan langsung dari kolom cs6 jika cs6Label adalah Logon GUID.
cs6Label additional.fields.key Dipetakan langsung dari kolom cs6Label jika nilainya adalah Logon GUID.
dhost about.hostname Dipetakan langsung dari kolom dhost.
dhost target.hostname Dipetakan langsung dari kolom dhost.
dntdom about.administrative_domain Dipetakan langsung dari kolom dntdom.
dntdom target.administrative_domain Dipetakan langsung dari kolom dntdom.
dproc about.process.command_line Dipetakan langsung dari kolom dproc.
dproc target.process.command_line Dipetakan langsung dari kolom dproc.
dst principal.ip Dipetakan langsung dari kolom dst.
dst principal.asset.ip Dipetakan langsung dari kolom dst.
dst target.ip Dipetakan langsung dari kolom dst.
duid target.user.userid Dipetakan langsung dari kolom duid.
duser target.user.user_display_name Dipetakan langsung dari kolom duser.
dvc about.ip Dipetakan langsung dari kolom dvc.
dvchost about.hostname Dipetakan langsung dari kolom dvchost.
eventId additional.fields.value.string_value Dipetakan langsung dari kolom eventId.
externalId metadata.product_log_id Dipetakan langsung dari kolom externalId.
fname additional.fields.value.string_value Dipetakan langsung dari kolom fname.
msg metadata.description Dipetakan langsung dari kolom msg.
proto network.ip_protocol Dipetakan langsung dari kolom proto. Menerjemahkan nama protokol ke konstanta masing-masing (misalnya, tcp ke TCP).
rt metadata.event_timestamp.seconds Dipetakan langsung dari kolom rt.
shost about.hostname Dipetakan langsung dari kolom shost.
shost principal.hostname Dipetakan langsung dari kolom shost.
src principal.ip Dipetakan langsung dari kolom src.
src principal.asset.ip Dipetakan langsung dari kolom src.
src target.ip Dipetakan langsung dari kolom src.
sproc principal.process.command_line Dipetakan langsung dari kolom sproc.
spt principal.port Dipetakan langsung dari kolom spt.
spt target.port Dipetakan langsung dari kolom spt.
additional.EventRecordID additional.fields.value.string_value Dipetakan langsung dari kolom ad.EventRecordID.
additional.ThreadID additional.fields.value.string_value Dipetakan langsung dari kolom ad.ThreadID.
additional.Opcode additional.fields.value.string_value Dipetakan langsung dari kolom ad.Opcode.
additional.ProcessID additional.fields.value.string_value Dipetakan langsung dari kolom ad.ProcessID.
additional.TargetDomainName additional.fields.value.string_value Dipetakan langsung dari kolom ad.TargetDomainName.
additional.Version additional.fields.value.string_value Dipetakan langsung dari kolom ad.Version.
deviceExternalId about.asset.hardware.serial_number Dipetakan langsung dari kolom deviceExternalId.
deviceInboundInterface additional.fields.value.string_value Dipetakan langsung dari kolom deviceInboundInterface.
deviceOutboundInterface additional.fields.value.string_value Dipetakan langsung dari kolom deviceOutboundInterface.
PanOSConfigVersion security_result.detection_fields.value Dipetakan langsung dari kolom PanOSConfigVersion.
PanOSContentVersion security_result.detection_fields.value Dipetakan langsung dari kolom PanOSContentVersion.
PanOSDGHierarchyLevel1 security_result.detection_fields.value Dipetakan langsung dari kolom PanOSDGHierarchyLevel1.
PanOSDestinationLocation target.location.country_or_region Dipetakan langsung dari kolom PanOSDestinationLocation.
PanOSRuleUUID metadata.product_log_id Dipetakan langsung dari kolom PanOSRuleUUID.
PanOSThreatCategory security_result.category_details Dipetakan langsung dari kolom PanOSThreatCategory.
PanOSThreatID security_result.threat_id Dipetakan langsung dari kolom PanOSThreatID.
about.asset.asset_id Dibuat dengan menggabungkan Palo Alto Networks., nama vendor (LF), dan kolom deviceExternalId.
extensions.auth.type Tetapkan ke AUTHTYPE_UNSPECIFIED jika kolom event_name berisi logged on.
metadata.description Jika kolom description berisi by diikuti dengan alamat IP, alamat IP akan diekstrak dan dipetakan ke principal.ip dan principal.asset.ip.
metadata.event_type Ditentukan berdasarkan serangkaian pemeriksaan bersyarat pada berbagai kolom, termasuk event_name, principal_*, target_*, dan device_event_class_id. Logika ini menentukan jenis peristiwa yang paling sesuai berdasarkan informasi yang tersedia.
metadata.log_type Tetapkan ke ARCSIGHT_CEF.
metadata.product_event_type Dibuat dengan menggabungkan \[, the device_event_class_id field, \] - dan kolom name.
metadata.product_name Tetapkan ke NGFW jika kolom product_name adalah LF.
principal.asset.ip Jika kolom description berisi by diikuti dengan alamat IP, alamat IP akan diekstrak dan dipetakan ke principal.ip dan principal.asset.ip.
principal.ip Jika kolom description berisi by diikuti dengan alamat IP, alamat IP akan diekstrak dan dipetakan ke principal.ip dan principal.asset.ip.
security_result.action Tetapkan ke ALLOW jika kolom act adalah alert, jika tidak, tetapkan ke BLOCK.
security_result.severity Tetapkan ke HIGH jika kolom sev lebih besar dari atau sama dengan 7, jika tidak, tetapkan ke LOW.
PanOSFileType event.idm.read_only_udm.target.file.mime_type Dipetakan dari log perubahan
PanOSEmailSubject event.idm.read_only_udm.network.email.subject Dipetakan dari log perubahan
PanOSNSSAINetworkSliceType event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
PanOSURLCounter event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
PanOSReportID event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
PanOSDGHierarchyLevel2 event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
PanOSVirtualSystemName event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
PanOSSigFlags event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
PanOSPartialHash event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
version event.idm.read_only_udm.additional.fields Dipetakan dari log perubahan
cn3 network.duration.seconds Dipetakan dari log perubahan
PanOSTenantID additional.fields Dipetakan dari log perubahan
cn3 additional.fields Dipetakan dari log perubahan
PanOSCortexDataLakeTenantID additional.fields Dipetakan dari log perubahan
target_user target.user.userid Dipetakan dari log perubahan
principal_ip principal.ip Dipetakan dari log perubahan
PanOSStage", "PanOSConnectionError", and "PanOSEventDetails additional.fields Dipetakan dari log perubahan
outcome security_result.action_details Dipetakan dari log perubahan
PanOSDescription metadata.description Dipetakan dari log perubahan
PanOSSourceUser principal.user.userid Dipetakan dari log perubahan
app target.application Dipetakan dari log perubahan
flexString2", "PanOSFileHash", and "filePath additional.fields Dipetakan dari log perubahan
threat_name security_result.threat_name Dipetakan dari log perubahan
principal_ip1 principal.ip Dipetakan dari log perubahan
metadata.event_type NETWORK_CONNECTION Dipetakan dari log perubahan
deviceOutboundInterface", "deviceInboundInterface additional.fields Dipetakan dari log perubahan
query additional fields Dipetakan dari log perubahan

Log Perubahan

Melihat Log Perubahan untuk parser ini

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