Mengumpulkan log Skyhigh Security
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
- Login ke konsol Google SecOps.
- Buka Setelan SIEM > Agen Pengumpulan.
- Download File Autentikasi Penyerapan. Simpan file dengan aman di sistem tempat BindPlane akan diinstal.
Mendapatkan ID pelanggan Google SecOps
- Login ke konsol Google SecOps.
- Buka Setelan SIEM > Profil.
- 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
- Buka Command Prompt atau PowerShell sebagai administrator.
Jalankan perintah berikut:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Penginstalan Linux
- Buka terminal dengan hak istimewa root atau sudo.
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
- 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).
- Cari file
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
Untuk memulai ulang agen Bindplane di Linux, jalankan perintah berikut:
sudo systemctl restart bindplane-agent
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:
- Hak istimewa Pengguna Analytics Penggunaan: Akun Anda harus memiliki peran Pengguna Analytics Penggunaan.
- 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.
- 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
- Download Logging Client ke instance khusus.
- Instal Klien Logging (ekstrak file EXE yang didownload jika diperlukan).
- Setelah penginstalan selesai, buka Logging Client.
- Di halaman Configuration, berikan detail konfigurasi berikut:
- Customer ID: Masukkan ID pelanggan Skyhigh CASB yang Anda peroleh pada langkah sebelumnya.
- Layanan: Pilih SSE jika Anda menggunakan Skyhigh SSE, atau WGCS jika Anda menggunakan produk ini bersama dengan Trellix ePO.
- 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
- Nama: Masukkan nama pengguna, yang biasanya berupa alamat email yang digunakan untuk login ke Secure Web Gateway, atau instance khusus.
- Sandi: Masukkan sandi yang Anda gunakan untuk login ke Secure Web Gateway. Jika Anda login dengan SAML, Anda tidak dapat menggunakan Klien Logging.
- Versi API: Masukkan
version 13
. - 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.
- 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.