Mengumpulkan log Carbon Black App Control
Dokumen ini menjelaskan cara mengumpulkan log Carbon Black App Control. Parser mendukung format CEF dan JSON. Pertama-tama, input akan diuraikan sebagai JSON; jika gagal, input akan diperlakukan sebagai CEF, melakukan penggantian teks, mengekstrak kolom CEF, memetakannya ke UDM, dan menyetel jenis peristiwa ke GENERIC_EVENT
. Jika tidak, file ini akan menggunakan file include pemetaan UDM khusus JSON yang terpisah.
Sebelum memulai
- Pastikan Anda memiliki instance Google Security Operations.
- Pastikan Anda menggunakan Windows 2016 atau yang lebih baru, atau host Linux dengan
systemd
. - Jika berjalan di belakang proxy, pastikan port firewall terbuka.
- Server Carbon Black App Control (CB Protection) (Direkomendasikan Versi 8.x atau yang lebih baru).
- Pastikan Anda memiliki akses istimewa ke Carbon Black App Control.
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
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 ini.
Mengonfigurasi Agen BindPlane untuk memproses 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: tcplog: # Replace the port and IP address as required listen_address: "0.0.0.0:11592" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds: '/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 ingestion_labels: log_type: JSON namespace: cb_app_control raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog 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 Bindplane Agent untuk menerapkan perubahan
Untuk memulai ulang Agen Bindplane di Linux, jalankan perintah berikut:
sudo systemctl restart bindplane-agent
Untuk memulai ulang Bindplane Agent di Windows, Anda dapat menggunakan konsol Services atau memasukkan perintah berikut:
net stop BindPlaneAgent && net start BindPlaneAgent
Mengonfigurasi Kontrol Aplikasi CB untuk Mengirim Log Syslog
- Login ke konsol CB App Control dengan akun Administrator.
- Buka Admin > System Configuration > External Logging
- Di bagian Pencatatan Peristiwa Eksternal:
- Aktifkan Logging Syslog: centang kotak Syslog Enabled.
- Alamat Server:
<Bindplane Server IP>
. - Port:
<Bindplane Server PORT>
. - Protocol: pilih TCP.
- Syslog Format: pilih JSON.
- Di bagian Opsi Pencatatan Peristiwa, pilih jenis log yang akan dikirim:
- Pelanggaran Kebijakan
- Peristiwa Pemantauan Integritas File (FIM)
- Peristiwa Autentikasi Pengguna
- Data Threat Intelligence
- Klik Simpan.
Tabel Pemetaan UDM
Kolom Log | Pemetaan UDM | Logika |
---|---|---|
ABId |
principal.asset.asset_id |
ABId dari log JSON digunakan sebagai bagian dari ID aset dalam format PRODUCT_SPECIFIC_ID:{ABId}-{Bit9Server} . |
Bit9Server |
principal.asset.asset_id |
Digunakan sebagai bagian dari ID aset prinsipal, dikombinasikan dengan ABId . Juga digunakan untuk membuat kolom metadata.url_back_to_product . |
CommandLine |
about.process.command_line |
Dipetakan secara langsung. |
EventType |
metadata.product_event_type |
Dipetakan dengan EventTypeId yang sesuai dalam tanda kurung siku (misalnya, [5] - Discovery ). |
EventTypeId |
metadata.product_event_type |
Digunakan dengan EventType untuk mengisi metadata.product_event_type . |
EventSubType |
metadata.description |
Ditambahkan ke kolom metadata.description . |
EventSubTypeId |
metadata.description |
Tidak dipetakan secara eksplisit, tetapi berpotensi berkontribusi pada deskripsi berdasarkan logika internal parser. |
externalId |
metadata.product_log_id |
Dipetakan secara langsung. |
FileHash |
about.file.sha256 |
Dipetakan secara langsung. |
FileName |
additional.fields (dengan kunci FileName ) |
Ditambahkan sebagai kolom tambahan. Juga digunakan sebagai bagian dari informasi file di metadata.description untuk beberapa acara. |
FilePath |
about.file.full_path |
Dipetakan secara langsung. |
FileThreat |
additional.fields (dengan kunci fileThreat ) |
Ditambahkan sebagai kolom tambahan. |
FileTrust |
additional.fields (dengan kunci fileTrust ) |
Ditambahkan sebagai kolom tambahan. |
HostId |
principal.asset.asset_id |
Digunakan untuk membuat URL kembali ke produk di metadata.url_back_to_product . |
HostName |
target.hostname |
Dipetakan secara langsung. |
HostIP |
target.ip |
Dipetakan secara langsung. |
Message |
metadata.description |
Dipetakan secara langsung. |
PathName |
about.file.full_path |
Dipetakan secara langsung. |
Platform |
target.platform |
Dipetakan ke nilai enum WINDOWS . |
Policy |
additional.fields (dengan kunci Policy ) |
Ditambahkan sebagai kolom tambahan. |
PolicyId |
additional.fields (dengan kunci PolicyId ) |
Ditambahkan sebagai kolom tambahan. |
ProcessKey |
additional.fields (dengan kunci ProcessKey ) |
Ditambahkan sebagai kolom tambahan. |
ProcessPath |
about.process.command_line |
Dipetakan secara langsung. |
ProcessPathName |
about.process.command_line |
Dipetakan secara langsung. |
ProcessThreat |
additional.fields (dengan kunci ProcessThreat ) |
Ditambahkan sebagai kolom tambahan. |
ProcessTrust |
additional.fields (dengan kunci ProcessTrust ) |
Ditambahkan sebagai kolom tambahan. |
RuleName |
additional.fields (dengan kunci ruleName ) |
Ditambahkan sebagai kolom tambahan. |
Timestamp |
metadata.event_timestamp |
Dipetakan secara langsung. |
UserName |
target.user.user_display_name |
Dipetakan secara langsung. |
UserSid |
principal.user.userid |
Dipetakan secara langsung. |
agent.ephemeral_id |
observer.labels (dengan kunci ephemeral_id ) |
Ditambahkan sebagai label pengamat. |
agent.name |
principal.hostname , observer.hostname , observer.user.userid |
Dipetakan ke beberapa kolom. |
agent.type |
observer.application |
Dipetakan secara langsung. |
agent.version |
metadata.product_version |
Dipetakan langsung untuk log JSON. Untuk log CEF, diekstrak dari pesan CEF. |
cat |
security_result.category_details |
Dipetakan secara langsung. |
cs1 |
additional.fields (dengan kunci rootHash atau cs1Label lainnya) |
Ditambahkan sebagai kolom tambahan dengan kunci yang ditentukan oleh cs1Label . |
cs1Label |
additional.fields |
Digunakan sebagai kunci untuk kolom tambahan yang diisi oleh cs1 . |
cs2 |
additional.fields (dengan kunci installerFilename atau cs2Label lainnya) |
Ditambahkan sebagai kolom tambahan dengan kunci yang ditentukan oleh cs2Label . |
cs2Label |
additional.fields |
Digunakan sebagai kunci untuk kolom tambahan yang diisi oleh cs2 . |
cs3 |
additional.fields (dengan kunci Policy atau cs3Label lainnya) |
Ditambahkan sebagai kolom tambahan dengan kunci yang ditentukan oleh cs3Label . |
cs3Label |
additional.fields |
Digunakan sebagai kunci untuk kolom tambahan yang diisi oleh cs3 . |
cs5 |
additional.fields (dengan kunci ruleName atau cs5Label lainnya) |
Ditambahkan sebagai kolom tambahan dengan kunci yang ditentukan oleh cs5Label . |
cs5Label |
additional.fields |
Digunakan sebagai kunci untuk kolom tambahan yang diisi oleh cs5 . |
cfp1 |
additional.fields (dengan kunci fileTrust atau cfp1Label lainnya) |
Ditambahkan sebagai kolom tambahan dengan kunci yang ditentukan oleh cfp1Label . |
cfp1Label |
additional.fields |
Digunakan sebagai kunci untuk kolom tambahan yang diisi oleh cfp1 . |
cfp2 |
additional.fields (dengan kunci processTrust atau cfp2Label lainnya) |
Ditambahkan sebagai kolom tambahan dengan kunci yang ditentukan oleh cfp2Label . |
cfp2Label |
additional.fields |
Digunakan sebagai kunci untuk kolom tambahan yang diisi oleh cfp2 . |
deviceProcessName |
about.process.command_line |
Dipetakan secara langsung. |
dhost |
target.hostname |
Dipetakan secara langsung. |
dst |
target.ip |
Dipetakan secara langsung. |
duser |
target.user.user_display_name |
Dipetakan secara langsung. |
dvchost |
about.hostname |
Dipetakan secara langsung. |
eventId |
additional.fields (dengan kunci eventId ) |
Ditambahkan sebagai kolom tambahan. |
fileHash |
about.file.sha256 |
Dipetakan secara langsung. |
flexString1 |
additional.fields (dengan kunci fileThreat atau flexString1Label lainnya) |
Ditambahkan sebagai kolom tambahan dengan kunci yang ditentukan oleh flexString1Label . |
flexString1Label |
additional.fields |
Digunakan sebagai kunci untuk kolom tambahan yang diisi oleh flexString1 . |
flexString2 |
additional.fields (dengan key processThreat atau flexString2Label lainnya) |
Ditambahkan sebagai kolom tambahan dengan kunci yang ditentukan oleh flexString2Label . |
flexString2Label |
additional.fields |
Digunakan sebagai kunci untuk kolom tambahan yang diisi oleh flexString2 . |
fname |
additional.fields (dengan kunci fname ) |
Ditambahkan sebagai kolom tambahan. Juga digunakan sebagai bagian dari informasi file di metadata.description untuk beberapa acara. |
host.architecture |
target.asset.hardware.cpu_platform |
Dipetakan secara langsung. |
host.hostname |
target.asset.asset_id |
Digunakan sebagai bagian dari ID aset target (Host Id: {host.hostname} ). Juga dipetakan ke target.hostname . |
host.id |
target.asset.asset_id |
Digunakan sebagai bagian dari ID aset target (Host Id: {host.id} ). |
host.ip |
target.asset.ip |
Dipetakan secara langsung. |
host.mac |
target.mac |
Dipetakan secara langsung. |
host.name |
target.hostname |
Dipetakan secara langsung. |
host.os.build |
target.platform_patch_level |
Dipetakan secara langsung. |
host.os.kernel |
target.platform_patch_level |
Ditambahkan ke target.platform_patch_level . |
host.os.platform |
target.platform |
Dipetakan ke nilai enum WINDOWS . |
host.os.type |
target.platform |
Dipetakan ke nilai enum WINDOWS . |
host.os.version |
target.platform_version |
Dipetakan secara langsung. |
log.file.path |
target.file.full_path |
Dipetakan secara langsung. |
metadata.event_type |
metadata.event_type |
Tetapkan ke GENERIC_EVENT untuk log CEF, SYSTEM_AUDIT_LOG_UNCATEGORIZED untuk log JSON. |
metadata.log_type |
metadata.log_type |
Tetapkan ke CB_EDR . |
metadata.product_log_id |
metadata.product_log_id |
Dipetakan dari externalId untuk log CEF. Tidak berlaku untuk log JSON. |
metadata.product_name |
metadata.product_name |
Tetapkan ke App Control untuk log CEF, CB_APP_CONTROL untuk log JSON. |
metadata.product_version |
metadata.product_version |
Diekstrak dari pesan CEF untuk log CEF. Dipetakan dari agent.version untuk log JSON. |
metadata.vendor_name |
metadata.vendor_name |
Tetapkan ke Carbon Black . |
msg |
metadata.description , additional.fields |
Digunakan untuk mengisi metadata.description dan kemungkinan kolom tambahan berdasarkan logika parser. |
sproc |
principal.process.command_line |
Dipetakan secara langsung. |
metadata.url_back_to_product |
metadata.url_back_to_product |
Dibuat menggunakan kolom Bit9Server dan HostId untuk log JSON. Tidak berlaku untuk log CEF. |
security_result.severity |
security_result.severity |
Tetapkan ke MEDIUM . |
timestamp |
events.timestamp |
Dipetakan langsung untuk log JSON. Untuk log CEF, logika parser menentukan stempel waktu berdasarkan kolom rt log mentah jika tersedia, atau collection_time jika rt tidak ada. |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.