Mengumpulkan log Skyhigh Security

Didukung di:

Dokumen ini menjelaskan cara menyerap log Skyhigh Security (sebelumnya McAfee Skyhigh CASB) ke Google Security Operations menggunakan Bindplane. Parser mengubah log dari format SYSLOG + KV menjadi Model Data Terpadu (UDM). Pertama-tama, pesan log dinormalisasi menjadi pasangan nilai kunci, lalu kolom yang diekstrak dipetakan ke atribut UDM yang sesuai dalam objek event.idm.read_only_udm, mengategorikan jenis peristiwa berdasarkan keberadaan dan nilai kolom tertentu.

Sebelum memulai

Pastikan Anda memenuhi prasyarat berikut:

  • Instance Google SecOps
  • Host Windows 2016 atau yang lebih baru, atau host Linux dengan systemd
  • Jika dijalankan di belakang proxy, port firewall terbuka
  • Menginstal dan mengonfigurasi Skyhigh Cloud Connector
  • Akses istimewa ke Skyhigh Security Cloud Connector

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
    

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
    

Referensi penginstalan tambahan

Untuk opsi penginstalan tambahan, lihat panduan penginstalan.

Mengonfigurasi agen BindPlane untuk menyerap Syslog dan mengirimkannya ke Google SecOps

  1. Akses file konfigurasi:
    • Cari file config.yaml. Biasanya, file ini berada di direktori /etc/bindplane-agent/ di Linux atau di direktori penginstalan di Windows.
    • Buka file menggunakan editor teks (misalnya, nano, vi, atau Notepad).
  2. Edit file config.yaml sebagai berikut:

    receivers:
        udplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the path to the credentials file you downloaded in Step 1
            creds_file_path: '/path/to/ingestion-authentication-file.json'
            # Replace with your actual customer ID from Step 2
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # Add optional ingestion labels for better organization
            log_type: 'MCAFEE_SKYHIGH_CASB'
            raw_log_field: body
            ingestion_labels:
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
    • Ganti port dan alamat IP sesuai kebutuhan di infrastruktur Anda.
    • Ganti <customer_id> dengan ID pelanggan yang sebenarnya.
    • Perbarui /path/to/ingestion-authentication-file.json ke jalur tempat file autentikasi disimpan di bagian Dapatkan file autentikasi penyerapan Google SecOps.

Mulai ulang agen Bindplane untuk menerapkan perubahan

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

    sudo systemctl restart bindplane-agent
    
  2. Untuk memulai ulang agen Bindplane di Windows, Anda dapat menggunakan konsol Services atau memasukkan perintah berikut:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Prasyarat sebelum mendownload Klien Logging

Pastikan Anda memiliki detail berikut:

  1. Hak istimewa Pengguna Analytics Penggunaan: Akun Anda harus memiliki peran Pengguna Analytics Penggunaan.
  2. ID Pelanggan: Lakukan langkah-langkah berikut untuk menemukan ID Pelanggan Anda di Skyhigh CASB:
    • Login ke Skyhigh CASB.
    • Buka Setelan > Infrastruktur > Pengelolaan Proxy Klien.
    • Klik Global Configuration > Tenant Authentication.
    • Di bagian Setelan Global, temukan ID Pelanggan Anda yang ditampilkan.
  3. Alamat email dan sandi: Kredensial log-on Anda (atau akun layanan khusus) (Jika Anda login menggunakan SAML tanpa mengirimkan sandi, Anda tidak dapat menginstal Klien Logging).

Mendownload dan menginstal Skyhigh Logging Client

  1. Download Logging Client ke instance khusus.
  2. Instal Klien Logging (ekstrak file EXE yang didownload jika diperlukan).
  3. Setelah penginstalan selesai, buka Logging Client.
  4. Di halaman Configuration, berikan detail konfigurasi berikut:
    1. Customer ID: Masukkan ID pelanggan Skyhigh CASB yang Anda peroleh pada langkah sebelumnya.
    2. Layanan: Pilih SSE jika Anda menggunakan Skyhigh SSE, atau WGCS jika Anda menggunakan produk ini bersama dengan Trellix ePO.
    3. Region: Pilih kode regional atau negara, bergantung pada lokasi penyimpanan data Anda:
      • EU โ€” Uni Eropa
      • IN โ€” India
      • SG โ€” Singapura
      • UE โ€” Uni Emirat Arab
      • UK โ€” Inggris Raya
      • US โ€” Amerika Serikat
    4. Nama: Masukkan nama pengguna, yang biasanya berupa alamat email yang digunakan untuk login ke Secure Web Gateway, atau instance khusus.
    5. Sandi: Masukkan sandi yang Anda gunakan untuk login ke Secure Web Gateway. Jika Anda login dengan SAML, Anda tidak dapat menggunakan Klien Logging.
    6. Versi API: Masukkan version 13.
    7. Jenis Log: Anda dapat mendownload berbagai jenis log, termasuk log dengan data yang berasal dari Web, Remote Browser Isolation (RBI), Private Access, dan Cloud Firewall.
    8. Pilih Kirim sebagai Syslog dan berikan detail konfigurasi berikut:
      • Host Syslog-Client: Masukkan alamat IP agen Bindplane.
      • Port Syslog-Client: Masukkan nomor port agen Bindplane.
      • Transportasi: Pilih UDP atau TCP, bergantung pada konfigurasi agen Bindplane Anda.

Tabel pemetaan UDM

Kolom log Pemetaan UDM Logika
EventReceivedTime metadata.event_timestamp Dikonversi menjadi stempel waktu dari format yyyy-MM-dd HH:mm:ss
FileSize target.file.size Dipetakan langsung, dikonversi ke uinteger
Hostname principal.hostname Dipetakan secara langsung
MessageSourceAddress principal.ip Dipetakan secara langsung, digabungkan jika ada beberapa instance
Keparahan additional.fields.value.string_value (kunci: SEVERITY) Dipetakan secara langsung
SeverityValue additional.fields.value.string_value (kunci: SEVERITY_VALUE) Dipetakan secara langsung
SourceModuleName additional.fields.value.string_value (kunci: SOURCE_MODULE_NAME) Dipetakan secara langsung
SourceModuleType principal.resource.resource_subtype Dipetakan secara langsung
SyslogFacility security_result.about.resource.attribute.labels.value (kunci: SYSLOG_FACILITY) Dipetakan secara langsung
SyslogFacilityValue security_result.about.resource.attribute.labels.value (kunci: SYSLOG_FACILITY_VALUE) Dipetakan secara langsung
SyslogSeverity security_result.about.resource.attribute.labels.value (kunci: SYSLOG_SEVERITY) Dipetakan secara langsung
SyslogSeverityValue security_result.about.resource.attribute.labels.value (kunci: SYSLOG_SEVERITY_VALUE) Dipetakan secara langsung
activityName metadata.product_event_type Dipetakan secara langsung, tanda kurung dihapus
actorId principal.user.userid Dipetakan secara langsung, juga ditambahkan ke email_addresses jika berupa email
actorIdType principal.user.attribute.roles.name Dipetakan secara langsung
collaborationSharedLink security_result.about.resource.attribute.labels.value (kunci: COLLABORATION_SHARED_LINK) Dipetakan secara langsung
contentItemId target.file.full_path (jika contentItemType adalah FILE) Dipetakan langsung, penawaran harga dihapus
contentItemId target.url (jika contentItemType adalah SAAS_RESOURCE) Dipetakan langsung, penawaran harga dihapus
contentItemHierarchy additional.fields.value.string_value (kunci: CONTENT_ITEM_HIERARCHY) Dipetakan langsung, penawaran harga dihapus
contentItemName target.resource.name Dipetakan langsung, penawaran harga dihapus
contentItemType additional.fields.value.string_value (kunci: CONTENT_ITEM_TYPE) Dipetakan secara langsung
incidentGroup security_result.detection_fields.value (kunci: INCIDENT_GROUP) Dipetakan secara langsung
incidentId metadata.product_log_id Dipetakan secara langsung
incidentRiskScore security_result.detection_fields.value (kunci: INCIDENT_RISK_SCORE) Dipetakan secara langsung
incidentRiskSeverityId Digunakan bersama dengan riskSeverity untuk menentukan security_result.severity
informationAccountId target.resource.product_object_id Dipetakan secara langsung
informationAnomalyCategory security_result.category_details Dipetakan langsung, penawaran harga dihapus
informationAnomalyCause security_result.detection_fields.value (kunci: INFO_ANOMALY_CAUSE) Dipetakan langsung, penawaran harga dihapus
informationCategory security_result.category_details Dipetakan secara langsung
informationConfigType additional.fields.value.string_value (kunci: INFORMATION_CONFIG_TYPE) Dipetakan langsung, penawaran harga dihapus
informationContentItemParent target.resource.parent Dipetakan langsung, penawaran harga dihapus
informationEventId additional.fields.value.string_value (kunci: INFORMATION_EVENT_ID) Dipetakan secara langsung
informationExternalCollaboratorsCount additional.fields.value.string_value (kunci: INFORMATION_COLLAB_COUNT) Dipetakan secara langsung
informationFileTypes additional.fields.value.list_value.values.string_value (kunci: FILE_TYPE) Diekstrak dari string seperti JSON, tanda kurung dan tanda kutip dihapus
informationLastExecutedResponseLabel additional.fields.value.string_value (kunci: INFORMATION_LAST_RESPONSE) Dipetakan secara langsung
informationScanName metadata.description Dipetakan langsung, penawaran harga dihapus
informationScanRunDate Tidak dipetakan ke UDM
informationSource additional.fields.value.string_value (kunci: INFORMATION_SOURCE) Dipetakan secara langsung
informationUniqueMatchCount additional.fields.value.string_value (key: INFORMATION_UNQ_MATCH_COUNT) Dipetakan secara langsung
informationUserAttributesSAMAccountName principal.user.user_display_name Dipetakan secara langsung, tanda kurung dihapus
instanceId principal.resource.product_object_id Dipetakan secara langsung
instanceName principal.resource.name Dipetakan langsung, penawaran harga dihapus
policyId security_result.rule_id Dipetakan secara langsung
policyName security_result.summary Dipetakan langsung, penawaran harga dihapus
respons Digunakan untuk menentukan security_result.action (ALLOW atau BLOCK)
riskSeverity Digunakan bersama dengan incidentRiskSeverityId untuk menentukan security_result.severity, yang dikonversi menjadi huruf besar
serviceNames target.application Dipetakan secara langsung, tanda kurung, tanda petik, dan spasi tambahan dihapus
sourceIps principal.ip Diekstrak dari string seperti JSON, digabungkan jika ada beberapa instance
status additional.fields.value.string_value (kunci: STATUS) Dipetakan secara langsung
threatCategory security_result.threat_name Dipetakan langsung, penawaran harga dihapus
totalMatchCount security_result.detection_fields.value (kunci: TOTAL_MATCH_COUNT) Dipetakan secara langsung
T/A metadata.vendor_name MCAFEE - Nilai statis
T/A metadata.product_name MCAFEE_SKYHIGH_CASB - Nilai statis
T/A metadata.log_type MCAFEE_SKYHIGH_CASB - Nilai statis
T/A principal.resource.type VIRTUAL_MACHINE - Ditetapkan jika instanceName atau instanceId ada
T/A metadata.event_type Ditentukan berdasarkan serangkaian kondisi:
- USER_RESOURCE_UPDATE_CONTENT jika actorId, contentItemId, atau contentItemName ada
- USER_UNCATEGORIZED jika actorId dan target ada
- STATUS_UPDATE jika Hostname atau MessageSourceAddress ada
- GENERIC_EVENT jika tidak ada
T/A security_result.severity Ditentukan berdasarkan kombinasi riskSeverity dan incidentRiskSeverityId:
- LOW jika riskSeverity adalah LOW dan incidentRiskSeverityId adalah 0
- MEDIUM jika riskSeverity adalah MEDIUM dan incidentRiskSeverityId adalah 1
- HIGH jika riskSeverity adalah HIGH dan incidentRiskSeverityId adalah 2
- INFORMATIONAL jika riskSeverity adalah INFO dan incidentRiskSeverityId adalah 3
T/A security_result.action Ditentukan berdasarkan nilai respons:
- ALLOW jika respons berisi allow (tidak peka huruf besar/kecil)
- BLOCK jika respons berisi Violation (tidak peka huruf besar/kecil)

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