Menggunakan agen BindPlane
Agen Bindplane (juga disebut sebagai agen pengumpulan) adalah agen open source, berdasarkan OpenTelemetry Collector (OTel), yang mengumpulkan log dari berbagai sumber, termasuk log peristiwa Microsoft Windows, dan mengirimkannya ke Google Security Operations.
Konsol Pengelolaan Bindplane OP menyediakan platform yang komprehensif dan terpadu untuk mengelola deployment pengumpul OTel Anda di Google SecOps dan Google Cloud. Bindplane (sebelumnya dikenal sebagai observiq) menyediakan Bindplane (edisi Google) dari konsol pengelolaan. Konsol pengelolaan bersifat opsional—Anda dapat menggunakan agen dengan atau tanpa konsol tersebut.
Untuk mengetahui detailnya, baca artikel berikut:
Konsol pengelolaan bersifat opsional. Anda dapat menggunakan agen dengan atau tanpa konsol. Untuk mengetahui informasi selengkapnya tentang konsol, lihat Konsol Pengelolaan BindPlane OP.
Solusi ini sama dengan yang digunakan oleh Cloud Logging untuk deployment lokal.
Sebelum memulai
Untuk menginstal agen, Anda memerlukan hal berikut:
File autentikasi penyerapan Google SecOps
Untuk mendownload file autentikasi, ikuti langkah-langkah berikut:
- Buka konsol Google SecOps.
- Buka SIEM Settings > Collection Agent.
- Download file autentikasi penyerapan Google SecOps.
ID pelanggan Google SecOps
Untuk menemukan ID pelanggan, ikuti langkah-langkah berikut:
- Buka konsol Google SecOps.
- Buka Setelan SIEM > Profil.
- Salin ID pelanggan dari bagian Detail Organisasi.
Windows 2012 SP2 atau yang lebih baru atau host Linux dengan systemd
Konektivitas internet
Akses GitHub
Memverifikasi konfigurasi firewall
Semua firewall atau proxy terautentikasi antara agen dan internet memerlukan aturan untuk membuka akses ke host berikut:
Jenis Koneksi | Tujuan | Port |
TCP | malachiteingestion-pa.googleapis.com | 443 |
TCP | asia-northeast1-malachiteingestion-pa.googleapis.com | 443 |
TCP | asia-south1-malachiteingestion-pa.googleapis.com | 443 |
TCP | asia-southeast1-malachiteingestion-pa.googleapis.com | 443 |
TCP | australia-southeast1-malachiteingestion-pa.googleapis.com | 443 |
TCP | europe-malachiteingestion-pa.googleapis.com | 443 |
TCP | europe-west2-malachiteingestion-pa.googleapis.com | 443 |
TCP | europe-west3-malachiteingestion-pa.googleapis.com | 443 |
TCP | europe-west6-malachiteingestion-pa.googleapis.com | 443 |
TCP | europe-west12-malachiteingestion-pa.googleapis.com | 443 |
TCP | me-central1-malachiteingestion-pa.googleapis.com | 443 |
TCP | me-central2-malachiteingestion-pa.googleapis.com | 443 |
TCP | me-west1-malachiteingestion-pa.googleapis.com | 443 |
TCP | northamerica-northeast2-malachiteingestion-pa.googleapis.com | 443 |
TCP | accounts.google.com | 443 |
TCP | oauth2.googleapis.com | 443 |
Konsol pengelolaan Bindplane OP
Konsol Pengelolaan Bindplane OP menawarkan fitur utama berikut:
- Pengelolaan terpusat: Konsol ini memungkinkan Anda mengelola semua deployment pengumpul OTel di seluruh Google Cloud. Anda dapat melihat status setiap deployment, serta melakukan tugas pengelolaan umum seperti memulai, menghentikan, dan memulai ulang pengumpul.
- Pemantauan real-time: Konsol ini menyediakan pemantauan real-time pada deployment pengumpul OTel Anda. Anda dapat melacak metrik seperti penggunaan CPU, penggunaan memori, dan throughput, serta melihat log dan rekaman aktivitas untuk memecahkan masalah.
- Pemberitahuan dan notifikasi: Konsol memungkinkan Anda menyiapkan pemberitahuan dan notifikasi untuk peristiwa penting, seperti saat pengumpul tidak berfungsi atau saat batas metrik terlampaui.
- Manajemen konfigurasi: Konsol memungkinkan Anda mengelola konfigurasi pengumpul OTel secara terpusat. Anda dapat mengedit file konfigurasi, menetapkan variabel lingkungan, dan menerapkan kebijakan keamanan ke semua deployment Anda.
- Integrasi dengan Google Cloud: Anda dapat membuat dan mengelola deployment pengumpul OTel di Google Cloud dan menggunakan konsol untuk mengakses Google Cloud resource Anda.
Ada dua cara untuk men-deploy konsol Pengelolaan Bindplane OP:
- Download dan instal di host Linux: Tersedia sebagai paket DEB, paket RPM, atau image Docker.
- Menginstal dan menyediakan dari Google Cloud Marketplace.
Perbedaan antara Bindplane (Edisi Google) dan Bindplane Enterprise (Edisi Google)
Anda dapat menggunakan Bindplane (Edisi Google) atau Bindplane Enterprise (Edisi Google), bergantung pada kebutuhan deployment Anda.
- Semua pelanggan Google SecOps memiliki akses ke Bindplane (Edisi Google).
- Untuk mendapatkan lisensi Bindplane (Edisi Google), download dan instal Bindplane.
- Jika Anda adalah pelanggan Google SecOps Enterprise Plus, Bindplane Enterprise (Edisi Google) disertakan. Hubungi tim Akun Google Anda untuk mendapatkan kunci lisensi Anda untuk Bindplane Enterprise (Edisi Google).
Perbedaannya tercantum dalam tabel berikut:
Fitur | Bindplane (Edisi Google) | Bindplane Enterprise (Edisi Google) |
Biaya | Semua pelanggan SecOps Google mendapatkan BindPlane (Edisi Google) tanpa biaya tambahan | Pelanggan Google SecOps Enterprise Plus mendapatkan Bindplane Enterprise (Edisi Google) tanpa biaya |
Perutean / Tujuan | Khusus Google, termasuk Google SecOps, Cloud Logging, BigQuery, dan Cloud Storage melalui Cloud Logging | Google, termasuk perutean selama 12 bulan ke tujuan non-Google untuk migrasi SIEM |
Pemfilteran | Filter dasar dengan ekspresi reguler | Prosesor pemfilteran lanjutan (filter menurut kondisi, kolom, tingkat keparahan, dll.), pengurangan data, pengambilan sampel log, penghapusan duplikat |
Penyamaran | T/A | Penyamaran PII |
Transformasi | Menambahkan kolom, memindahkan kolom, mengurai data (KV, JSON, CSV, XML, stempel waktu, mengurai dengan ekspresi reguler), mengganti nama kolom, pemisah peristiwa | Menghapus kolom, menghapus nilai kosong, menggabungkan |
Fitur tingkat platform umum | Gateway (menggabungkan data dari agen), agen BindPlane untuk pengumpulan, BindPlane Managementlayer (BindPlane OP) untuk di-hosting di cloud atau lokal, semua sumber, pemantauan host senyap melalui pemroses SecOps, antrean persisten, memperkaya telemetri, HA, RBAC, kedua API penyerapan SecOps didukung, pengaburan kredensial, pengelolaan armada lanjutan termasuk pengelompokan agen, penetapan jenis log dinamis | |
Menginstal agen Bindplane
Bagian ini menjelaskan cara menginstal agen di berbagai sistem operasi host.
Windows
Untuk menginstal agen Bindplane di Windows, jalankan perintah PowerShell berikut:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Atau, untuk menginstal menggunakan wizard penginstalan, download penginstal terbaru untuk Windows.
Setelah Anda mendownload penginstal, buka wizard penginstalan dan ikuti petunjuk untuk mengonfigurasi dan menginstal agen Bindplane. Untuk mengetahui informasi penginstalan selengkapnya, lihat menginstal di Windows.
Linux
Anda dapat menginstal agen di Linux menggunakan skrip yang secara otomatis menentukan paket mana yang akan diinstal. Anda juga dapat menggunakan skrip yang sama untuk memperbarui penginstalan yang ada.
Untuk menginstal menggunakan skrip penginstalan, jalankan skrip berikut:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Penginstalan dari paket lokal
Untuk menginstal agen dari paket lokal, gunakan -f
dengan jalur ke paket.
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh -f path_to_package
Penginstalan RPM
Download paket RPM untuk arsitektur Anda dari halaman rilis dan instal paket menggunakan rpm
. Lihat contoh berikut untuk menginstal
paket amd64
:
sudo rpm -U ./observiq-otel-collector_v${VERSION}_linux_amd64.rpm sudo systemctl enable --now observiq-otel-collector
Ganti VERSION
dengan versi paket yang telah Anda download.
Penginstalan DEB
Download paket DEB untuk arsitektur Anda dari halaman rilis dan instal paket menggunakan dpkg
. Lihat contoh berikut untuk menginstal paket
amd64
:
sudo dpkg -i --force-overwrite ./observiq-otel-collector_v${VERSION}_linux_amd64.deb sudo systemctl enable --now observiq-otel-collector
Ganti VERSION
dengan versi paket yang telah Anda download.
Untuk mengetahui informasi selengkapnya, lihat Penginstalan Agen BindPlane.
Mengonfigurasi agen
Anda dapat mengonfigurasi agen secara manual atau menggunakan konsol Bindplane OP Management. Jika mengonfigurasi agen secara manual, Anda harus memperbarui parameter pengekspor untuk memastikan bahwa agen diautentikasi dengan Google SecOps.
Setelah menginstal agen, layanan observiq-otel-collector
akan berjalan dan siap untuk dikonfigurasi. Agen mencatat log ke C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log
secara default.
Log error standar untuk proses agen dapat ditemukan di C:\Program Files\observIQ OpenTelemetry Collector\log\observiq_collector.err
.
Secara default, file konfigurasi agen terletak di
C:\Program Files\observIQ OpenTelemetry Collector\config.yaml
. Saat mengubah konfigurasi, Anda harus memulai ulang layanan agen agar perubahan konfigurasi diterapkan.
Anda dapat mendownload file konfigurasi contoh dan token autentikasi yang digunakan oleh agen dari konsol Google SecOps > SIEM Settings > Collection Agent.
Sesuaikan kedua bagian ini dalam file konfigurasi:
- Penerima: Menentukan log mana yang harus dikumpulkan dan dikirim agen ke Google SecOps.
- Exporter: Menentukan tujuan tempat agen mengirim log.
Eksporter berikut didukung:
- Pengekspor Google SecOps: Mengirim log langsung ke API penyerapan Google SecOps
- Pengekspor penerusan Google SecOps: Mengirim log ke penerusan Google SecOps
- Pengekspor Cloud Logging: Mengirim log ke (Cloud Logging)
Di pengekspor, sesuaikan hal berikut:
customer_id
: ID pelanggan Google SecOpsendpoint
: Endpoint regional Google SecOpscreds
: Token autentikasiAtau, Anda dapat menggunakan
creds_file_path
untuk mereferensikan file kredensial secara langsung. Untuk konfigurasi Windows, hapus jalur dengan garis miring terbalik.log_type
: Jenis logingestion_labels
: Label penyerapan opsionalnamespace
: Namespace opsionalSetiap jenis log mengharuskan Anda mengonfigurasi eksportir.
Arsitektur
Opsi berikut tersedia untuk arsitektur agen.
Agen pengumpulan mengirimkan log ke agen pengumpulan yang bertindak sebagai gateway
Agen pengumpulan mengirim log langsung ke API penyerapan Google SecOps
Agen pengumpulan mengirim log langsung ke Cloud Logging
Agen pengumpulan mengirim log ke beberapa tujuan
Skalabilitas
Pengumpul agen biasanya menggunakan resource minimal, tetapi saat menangani volume telemetri (log atau rekaman aktivitas) yang besar pada sistem, perhatikan konsumsi resource untuk menghindari dampak pada layanan lain. Untuk mengetahui informasi selengkapnya, lihat Penentuan Ukuran dan Penskalaan Agen.
Dukungan
Untuk masalah terkait agen pengumpul, hubungi dukungan Google Cloud .
Untuk masalah terkait Pengelolaan Bindplane OP, hubungi dukungan Bindplane.
Contoh konfigurasi pengumpulan log tambahan
Bagian berikut mencantumkan contoh konfigurasi pengumpulan log tambahan.
Mengirim peristiwa Windows dan sysmon langsung ke Google SecOps
Konfigurasi parameter ini dalam contoh:
-
namespace
ingestion_labels
log_type
customer_id
creds
Contoh konfigurasi:
receivers:
windowseventlog/sysmon:
channel: Microsoft-Windows-Sysmon/Operational
raw: true
windowseventlog/security:
channel: security
raw: true
windowseventlog/application:
channel: application
raw: true
windowseventlog/system:
channel: system
raw: true
processors:
batch:
exporters:
chronicle/sysmon:
endpoint: malachiteingestion-pa.googleapis.com
creds: '{
"type": "service_account",
"project_id": "malachite-projectname",
"private_key_id": "abcdefghijklmnopqrstuvwxyz123456789",
"private_key": "-----BEGIN PRIVATE KEY-----abcdefg-----END PRIVATE KEY-----\n",
"client_email": "account@malachite-projectname.iam.gserviceaccount.com",
"client_id": "123456789123456789",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/account%40malachite-projectname.iam.gserviceaccount.com",
"universe_domain": "googleapis.com"
}'
log_type: 'WINDOWS_SYSMON'
override_log_type: false
raw_log_field: body
customer_id: 'dddddddd-dddd-dddd-dddd-dddddddddddd'
chronicle/winevtlog:
endpoint: malachiteingestion-pa.googleapis.com
creds: '{
"type": "service_account",
"project_id": "malachite-projectname",
"private_key_id": "abcdefghijklmnopqrstuvwxyz123456789",
"private_key": "-----BEGIN PRIVATE KEY-----abcdefg-----END PRIVATE KEY-----\n",
"client_email": "account@malachite-projectname.iam.gserviceaccount.com",
"client_id": "123456789123456789",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/account%40malachite-projectname.iam.gserviceaccount.com",
"universe_domain": "googleapis.com"
}'
log_type: 'WINEVTLOG'
override_log_type: false
raw_log_field: body
customer_id: 'dddddddd-dddd-dddd-dddd-dddddddddddd'
service:
pipelines:
logs/sysmon:
receivers: [windowseventlog/sysmon]
processors: [batch]
exporters: [chronicle/sysmon]
logs/winevtlog:
receivers:
- windowseventlog/security
- windowseventlog/application
- windowseventlog/system
processors: [batch]
exporters: [chronicle/winevtlog]
Mengirim peristiwa Windows dan syslog langsung ke Google SecOps
Konfigurasi parameter ini dalam contoh:
windowseventlogreceiver
tcplogreceiver
listen_address
chronicleexporter
namespace
ingestion_labels
log_type
customer_id
creds
Contoh konfigurasi:
receivers:
tcplog:
listen_address: "0.0.0.0:54525"
windowseventlog/source0__application:
attributes:
log_type: windows_event.application
channel: application
max_reads: 100
poll_interval: 1s
raw: true
start_at: end
windowseventlog/source0__security:
attributes:
log_type: windows_event.security
channel: security
max_reads: 100
poll_interval: 1s
raw: true
start_at: end
windowseventlog/source0__system:
attributes:
log_type: windows_event.system
channel: system
max_reads: 100
poll_interval: 1s
raw: true
start_at: end
exporters:
chronicle/chronicle_w_labels:
compression: gzip
creds: '{ json blob for creds }'
customer_id: <customer_id>
endpoint: malachiteingestion-pa.googleapis.com
ingestion_labels:
env: dev
log_type: <applicable_log_type>
namespace: testNamespace
raw_log_field: body
service:
pipelines:
logs/source0__chronicle_w_labels-0:
receivers:
- windowseventlog/source0__system
- windowseventlog/source0__application
- windowseventlog/source0__security
exporters:
- chronicle/chronicle_w_labels
logs/source1__chronicle_w_labels-0:
receivers:
- tcplog
exporters:
- chronicle/chronicle_w_labels
Mengirim peristiwa Windows dan syslog ke penerusan Google SecOps
Konfigurasi parameter ini dalam contoh:
windowseventlogreceiver
tcplogreceiver
listen_address
chronicleforwarder
endpoint
Contoh konfigurasi:
receivers:
tcplog:
listen_address: "0.0.0.0:54525"
windowseventlog/source0__application:
attributes:
log_type: windows_event.application
channel: application
max_reads: 100
poll_interval: 1s
raw: true
start_at: end
windowseventlog/source0__security:
attributes:
log_type: windows_event.security
channel: security
max_reads: 100
poll_interval: 1s
raw: true
start_at: end
windowseventlog/source0__system:
attributes:
log_type: windows_event.system
channel: system
max_reads: 100
poll_interval: 1s
raw: true
start_at: end
exporters:
chronicleforwarder/forwarder:
export_type: syslog
raw_log_field: body
syslog:
endpoint: 127.0.0.1:10514
transport: udp
service:
pipelines:
logs/source0__forwarder-0:
receivers:
- windowseventlog/source0__system
- windowseventlog/source0__application
- windowseventlog/source0__security
exporters:
- chronicleforwarder/forwarder
logs/source1__forwarder-0:
receivers:
- tcplog
exporters:
- chronicleforwarder/forwarder
Mengirim syslog langsung ke Google SecOps
Konfigurasi parameter ini dalam contoh:
tcplogreceiver
listen_address
chronicleexporter
namespace
ingestion_labels
log_type
customer_id
Creds
Contoh konfigurasi:
receivers:
tcplog:
listen_address: "0.0.0.0:54525"
exporters:
chronicle/chronicle_w_labels:
compression: gzip
creds: '{ json blob for creds }'
customer_id: <customer_id>
endpoint: malachiteingestion-pa.googleapis.com
ingestion_labels:
env: dev
log_type: <applicable_log_type>
namespace: testNamespace
raw_log_field: body
service:
pipelines:
logs/source0__chronicle_w_labels-0:
receivers:
- tcplog
exporters:
- chronicle/chronicle_w_labels
Mengumpulkan peristiwa Windows dari jarak jauh dan mengirimkannya langsung ke Google SecOps
Konfigurasi parameter ini dalam contoh:
windowseventlogreceiver
username
password
server
chronicleexporter
namespace
ingestion_labels
log_type
customer_id
creds
Contoh konfigurasi:
receivers:
windowseventlog/system:
channel: system
max_reads: 100
start_at: end
poll_interval: 10s
raw: true
remote:
username: "username"
password: "password"
server: "remote-server"
windowseventlog/application:
channel: application
max_reads: 100
start_at: end
poll_interval: 10s
raw: true
remote:
username: "username"
password: "password"
server: "server-ip"
windowseventlog/security:
channel: security
max_reads: 100
start_at: end
poll_interval: 10s
raw: true
remote:
username: "username"
password: "password"
server: "server-ip"
exporters:
chronicle/chronicle_w_labels:
compression: gzip
creds: '{ json blob for creds }'
customer_id: <customer_id>
endpoint: malachiteingestion-pa.googleapis.com
ingestion_labels:
env: dev
log_type: WINEVTLOG
namespace: testNamespace
raw_log_field: body
service:
pipelines:
logs/source0__chronicle_w_labels-0:
receivers:
- windowseventlog/system
- windowseventlog/application
- windowseventlog/security
exporters:
- chronicle/chronicle_w_labels
Mengirim data ke Cloud Logging
Konfigurasi parameter credentials_file
dalam contoh.
Contoh konfigurasi:
exporters:
googlecloud:
credentials_file: /opt/observiq-otel-collector/credentials.json
Mengkueri database SQL dan mengirim hasilnya ke Google SecOps
Konfigurasi parameter ini dalam contoh:
sqlqueryreceiver
chronicleexporter
namespace
ingestion_labels
log_type
customer_id
creds
Contoh konfigurasi:
receivers:
sqlquery/source0:
datasource: host=localhost port=5432 user=postgres password=s3cr3t sslmode=disable
driver: postgres
queries:
- logs:
- body_column: log_body
sql: select * from my_logs where log_id > $$1
tracking_column: log_id
tracking_start_value: "10000"
processors:
transform/source0_processor0__logs:
error_mode: ignore
log_statements:
- context: log
statements:
- set(attributes["chronicle_log_type"], "POSTGRESQL") where true
exporters:
chronicle/chronicle_sql:
compression: gzip
creds: '{
"type": "service_account",
"project_id": "malachite-projectname",
"private_key_id": "abcdefghijklmnopqrstuvwxyz123456789",
"private_key": "-----BEGIN PRIVATE KEY-----abcdefg-----END PRIVATE KEY-----\n",
"client_email": "account@malachite-projectname.iam.gserviceaccount.com",
"client_id": "123456789123456789",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/account%40malachite-projectname.iam.gserviceaccount.com",
"universe_domain": "googleapis.com"
}'
customer_id: customer_id
endpoint: malachiteingestion-pa.googleapis.com
log_type: POSTGRESQL
namespace: null
raw_log_field: body
retry_on_failure:
enabled: false
sending_queue:
enabled: false
service:
pipelines:
logs/source0_chronicle_sql-0:
receivers:
- sqlquery/source0
processors:
- transform/source0_processor0__logs
exporters:
- chronicle/chronicle_sql
Menghapus log yang cocok dengan ekspresi reguler
Anda dapat mengonfigurasi pengumpul untuk menghapus log yang cocok dengan ekspresi reguler. Hal ini berguna untuk memfilter log yang tidak diinginkan, seperti error yang diketahui atau pesan proses debug.
Untuk menghapus log yang cocok dengan ekspresi reguler, tambahkan pemroses jenis filter/drop-matching-logs-to-Chronicle
ke konfigurasi Anda. Prosesor ini menggunakan fungsi IsMatch
untuk mengevaluasi isi log terhadap ekspresi reguler. Jika fungsi menampilkan true
, log akan dihapus.
Contoh konfigurasi berikut akan menghapus log yang berisi string <EventID>10</EventID>
atau <EventID>4799</EventID>
di isi log.
Anda dapat menyesuaikan ekspresi reguler agar sesuai dengan pola yang Anda butuhkan. Fungsi IsMatch
menggunakan sintaksis ekspresi reguler RE2.
Contoh konfigurasi:
processors:
filter/drop-matching-logs-to-Chronicle:
error_mode: ignore
logs:
log_record:
- (IsMatch(body, "<EventID>10</EventID>")) or (IsMatch(body, "<EventID>4799</EventID>"))
Contoh berikut menambahkan pemroses ke pipeline dalam konfigurasi yang sama:
service:
pipelines:
logs/winevtlog:
receivers:
- windowseventlog/security
- windowseventlog/application
- windowseventlog/system
processors:
- filter/drop-matching-logs-to-Chronicle # Add this line
- batch
exporters: [chronicle/winevtlog]
Dokumentasi referensi
Untuk mengetahui informasi selengkapnya tentang Bindplane (sebelumnya dikenal sebagai observIQ), lihat:
- Solusi Bindplane
- Panduan Memulai Cepat Bindplane OP
- Jenis log yang didukung untuk Google Cloud
- Filter menurut Pemroses Kondisi
- Sumber yang Tersedia untuk Bindplane OP
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.