Menggunakan BindPlane dengan Google SecOps

Didukung di:

Dokumen ini menjelaskan Bindplane untuk Google Security Operations.

Bindplane adalah pipeline telemetri, yang dapat mengumpulkan, memproses, dan mengekspor log dari sumber mana pun ke Google SecOps.

Bindplane menawarkan dua edisi khusus untuk Google.

Bindplane mencakup komponen utama berikut:

  • Pengumpul Bindplane. Agen open source, berdasarkan OpenTelemetry (OTel) Collector. Alat ini mengumpulkan log dari berbagai sumber, termasuk log peristiwa Microsoft Windows, dan mengirimkannya ke Google SecOps. Anda dapat menginstal pengumpul data di resource lokal atau di cloud.

    Komponen ini juga dapat disebut sebagai Bindplane Distribution for OpenTelemetry (BDOT) Collector, agen bindplane, agen pengumpulan, pengumpul, atau agen.

  • Bindplane Server. Platform komprehensif dan terpadu untuk mengelola deployment pengumpul OTel Anda. Deployment ini dapat berada di Google SecOps dan Google Cloud. Banyak pelanggan Google SecOps menggunakan Bindplane Server, tetapi penggunaannya bersifat opsional. Bindplane Server dapat berjalan secara lokal atau di cloud Bindplane. Untuk mengetahui informasi selengkapnya tentang server, lihat Server BindPlane.

    Komponen ini juga dapat disebut sebagai konsol Pengelolaan Pipeline Observabilitas (OP) BindPlane atau konsol Pengelolaan BindPlane.

Edisi Google Bindplane

BindPlane menawarkan dua edisi khusus untuk Google: BindPlane (Edisi Google) dan BindPlane Enterprise (Edisi Google).

Bindplane (Edisi Google)

Bindplane (Edisi Google) disediakan untuk semua pelanggan Google SecOps.

Anda dapat menggunakan Bindplane (Google Edition) secara mandiri di cloud Bindplane.

Untuk mulai menginstal dan menghosting sendiri Bindplane (Edisi Google) atau membuat kunci untuk server Bindplane lokal, lihat Bindplane (Edisi Google).

Bindplane Enterprise (Edisi Google)—untuk pelanggan Google SecOps Enterprise Plus

Bindplane Enterprise (Edisi Google) disertakan untuk pelanggan Google SecOps Enterprise Plus.

Bindplane Enterprise (Edisi Google) direkomendasikan untuk deployment skala besar.

Hubungi tim Akun Google Anda untuk mendapatkan kunci lisensi Bindplane Enterprise (Google Edition).

Edisi Google Bindplane—perbedaan

Tabel berikut mencantumkan perbedaan dalam edisi Google Bindplane:

Topik/fitur Bindplane (Edisi Google) Bindplane Enterprise (Edisi Google)
Biaya Disertakan tanpa biaya tambahan untuk semua pelanggan Google SecOps Disertakan tanpa biaya untuk pelanggan Google SecOps Enterprise Plus
Perutean/Tujuan Khusus Google, termasuk Google SecOps, Cloud Logging, BigQuery, dan Cloud Storage melalui Google SecOps Google, termasuk perutean ke tujuan non-Google selama 12 bulan untuk migrasi SIEM
Pemfilteran Filter dasar dengan ekspresi reguler Proses pemfilteran lanjutan (misalnya, filter menurut kondisi, kolom, tingkat keparahan, dan sebagainya), 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 menurut ekspresi reguler), mengganti nama kolom, pemisah peristiwa Mencakup semua kemampuan yang didukung di Bindplane (Edisi Google) plus hapus kolom, hapus nilai kosong, gabungkan
Fitur umum tingkat platform Gateway (menggabungkan data dari pengumpul), pengumpul BindPlane, server BindPlane (lapisan pengelolaan BindPlane) yang dihosting di cloud atau lokal, semua sumber, pemantauan host senyap melalui pemroses Google SecOps, antrean persisten, telemetri yang diperkaya, ketersediaan tinggi, RBAC, kedua API penyerapan Google SecOps didukung, pengaburan kredensial, pengelolaan armada lanjutan termasuk pengelompokan pengumpul, penetapan jenis log dinamis Semua kemampuan yang didukung di Bindplane (Edisi Google)

Arsitektur pengumpul Bindplane

BindPlane menggunakan BDOT Collector—yang secara umum disebut sebagai pengumpul—untuk menstandardisasi pengelolaan telemetri dengan Open Agent Management Protocol (OpAMP). Anda juga dapat membuat dan mengelola distribusi OpenTelemetry Collector kustom dengan BindPlane.

Pengumpul dapat berjalan di Linux atau Docker sebagai server web ringan tanpa dependensi eksternal.

Untuk mempelajari lebih lanjut arsitektur deployment pengumpul BindPlane OpenTelemetry, lihat Deployment.

Bagian berikut menjelaskan opsi arsitektur yang tersedia.

Pengumpul mengirim log ke pengumpul yang bertindak sebagai gateway

Untuk deployment skala besar, sebaiknya gunakan pengumpul Bindplane Enterprise (Edisi Google) yang berfungsi sebagai gateway. Gateway ini menerima telemetri dari pengumpul lain melalui jaringan, secara opsional melakukan pemrosesan tambahan, dan merutekan data ke Google SecOps.

Pengumpul yang bertindak sebagai gateway menggunakan biner yang sama dengan semua pengumpul lainnya.

Diagram berikut menunjukkan pengumpul yang mengirim log ke pengumpul yang bertindak sebagai gateway:

Pengumpul mengirim log ke pengumpul yang bertindak sebagai gateway

Pengumpul mengirim log langsung ke API penyerapan Google SecOps

Diagram berikut menunjukkan pengumpul yang mengirim log langsung ke API penyerapan Google SecOps:

Pengumpul mengirim log langsung ke API penyerapan Google SecOps

Pengumpul mengirim log langsung ke Cloud Logging

Diagram berikut menunjukkan pengumpul yang mengirim log langsung ke Cloud Logging:

Pengumpul mengirim log langsung ke Cloud Logging

Pengumpul mengirim log ke beberapa tujuan

Diagram berikut menunjukkan pengumpul yang mengirim log ke beberapa tujuan:

Kolektor mengirimkan log ke beberapa tujuan

Server Bindplane

Server BindPlane menawarkan fitur utama berikut:

  • Pengelolaan terpusat. Server ini memungkinkan Anda mengelola semua deployment pengumpul OTel di seluruh Google Cloud. Anda dapat melihat status setiap deployment dan melakukan tugas pengelolaan umum seperti memulai, menghentikan, dan memulai ulang pengumpul.
  • Pemantauan real-time. Server ini menyediakan pemantauan real-time pada deployment pengumpul OTel Anda. Anda dapat melacak metrik seperti penggunaan CPU, penggunaan memori, dan throughput. Anda juga dapat melihat log dan rekaman aktivitas untuk memecahkan masalah.
  • Pemberitahuan dan notifikasi. Server memungkinkan Anda menyiapkan pemberitahuan dan notifikasi untuk peristiwa penting, seperti saat pengumpul data tidak berfungsi atau saat ambang batas metrik terlampaui.
  • Pengelolaan konfigurasi. Server ini 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 server untuk mengakses resource Google Cloud Anda.

Bindplane menawarkan opsi deployment di cloud dan lokal. Untuk mengetahui informasi selengkapnya, lihat Menggunakan server BindPlane.

Persyaratan dan rekomendasi teknis

Bagian ini menjelaskan persyaratan dan rekomendasi teknis untuk menginstal dan menjalankan Bindplane dengan Google SecOps.

Persyaratan bandwidth

Bindplane mempertahankan koneksi jaringan untuk hal berikut:

  • Pengelolaan pengumpul
  • Pengukuran throughput pengumpul
  • Antarmuka pengguna web dan command line

Persyaratan konektivitas

Bindplane memproses port 3001 secara default. Port ini dapat dikonfigurasi.

Port Bindplane digunakan untuk:

  • Kontrol dan perintah pengumpul menggunakan OpAMP (WebSocket)
  • Permintaan pengukuran throughput pengumpul (permintaan HTTP POST)
  • Pengguna browser dan CLI (HTTP dan WebSocket)

Pengumpul harus dapat memulai koneksi ke BindPlane untuk OpAMP (WebSocket) dan pengukuran throughput (HTTP).

Bindplane tidak pernah memulai koneksi ke pengumpul. Anda dapat mengonfigurasi firewall untuk mencegah Bindplane menjangkau jaringan pengumpul; namun, jaringan pengumpul harus dapat menjangkau Bindplane di port yang dikonfigurasi.

Persyaratan teknis umum pengumpul Bindplane

Untuk mempelajari persyaratan teknis umum untuk pengumpul Bindplane, lihat bagian berikut:

Persyaratan resource pengumpul

Persyaratan resource Bindplane berbeda-beda berdasarkan jumlah pengumpul yang dikelola. Seiring bertambahnya jumlah pengumpul terkelola, penggunaan CPU, memori, throughput/IOPS disk, dan jaringan juga meningkat.

Gunakan tabel berikut untuk menentukan ukuran CPU, memori, dan kapasitas penyimpanan:

Jumlah pengumpul Node Bindplane Fault-tolerance Core CPU Memori Database
1-100 1 T/A 2 4 GB bbolt
100-25.000 1 T/A 4 16 GB postgres
1-60.000 3 1 2 8 GB postgres
60.001-125.000 5 1 2 8 GB postgres
125.001-250.000 10 2 2 8 GB postgres

Merencanakan penginstalan dan deployment

Bagian berikut mencakup rekomendasi dan praktik terbaik yang harus Anda pertimbangkan saat merencanakan deployment BindPlane.

Mempertimbangkan penskalaan dan fault tolerance

Penskalaan horizontal lebih disukai karena memberikan fault tolerance dan dapat menghilangkan hambatan pengekspor.

Saat menjalankan pengumpul Bindplane dalam mode gateway, sebaiknya pasangkan dengan load balancer untuk memberikan toleransi kesalahan dan penskalaan horizontal.

Menghitung jumlah pengumpul yang Anda butuhkan

Saat menghitung jumlah pengumpul yang diperlukan untuk workload Anda, pertimbangkan throughput atau kecepatan log yang diantisipasi, dan gunakan tabel berikut. Tabel ini mengasumsikan bahwa setiap pengumpul memiliki empat core CPU dan memori 16 GB. Tabel tidak menyertakan perhitungan dengan pemroses; saat pemroses ditambahkan, persyaratan komputasi akan meningkat.

Throughput telemetri Log/detik Pengumpul
5 GB/bln 250.000 2
10 GB/m 500.000 3
20 GB/bln 1.000.000 5
100 GB/m 5.000.000 25

Menyediakan lebih banyak armada pengumpul untuk fault tolerance

Sediakan lebih banyak armada pengumpul untuk memastikan fault tolerance. Jika satu atau beberapa sistem pengumpul gagal atau di-offline-kan untuk pemeliharaan, pengumpul yang tersisa harus memiliki kapasitas yang cukup untuk mengelola throughput telemetri.

Jika Anda menggunakan sejumlah pengumpul tetap, Anda dapat menerapkan penskalaan vertikal CPU dan memori untuk meningkatkan throughput.

Mengurangi overhead pemrosesan

Secara umum, Anda ingin pengumpul data Anda melakukan sesedikit mungkin pekerjaan. Jika Anda memiliki persyaratan pemrosesan yang berat, akan berguna untuk memindahkan pemrosesan tersebut ke kumpulan pengumpul gateway. Misalnya, alih-alih memfilter telemetri dengan operasi ekspresi reguler yang mahal, Anda dapat meminta pengumpul gateway melakukan tugas tersebut. Umumnya, pengumpul gateway berjalan di sistem khusus. Hal ini membenarkan overhead pemrosesan karena tidak menggunakan daya komputasi layanan lain yang berjalan di sistem yang sama, tidak seperti pengumpul non-gateway yang mungkin berjalan di server database.

Praktik terbaik untuk mode gateway

Saat Anda menjalankan pengumpul Bindplane dalam mode gateway, sebaiknya rencanakan deployment Anda dengan praktik terbaik berikut:

  • Tempatkan minimal dua pengumpul di belakang load balancer.
  • Setiap pengumpul harus memiliki minimal dua core.
  • Setiap pengumpul harus memiliki memori minimal 8 GB.
  • Setiap pengumpul harus memiliki ruang yang dapat digunakan sebesar 60 GB untuk antrean persisten.

Gunakan load balancer jika diperlukan

Load balancer diperlukan saat Anda mengoperasikan Bindplane dalam mode ketersediaan tinggi.

Saat Anda menjalankan pengumpul Bindplane dalam mode gateway, gunakan load balancer untuk meningkatkan performa dan redundansi. Load balancing juga memungkinkan penskalaan horizontal armada gateway Anda dan kemampuan untuk menahan kegagalan tanpa menyebabkan gangguan.

Pengumpul Bindplane dapat bekerja dengan berbagai load balancer.

Untuk mempelajari lebih lanjut, lihat Load Balancer.

Port dan protokol load balancing

Bindplane memproses port 3001 secara default.

Untuk mendukung berbagai penerima berbasis jaringan di OpenTelemetry, load balancer harus mendukung:

  • Protokol transport TCP/UDP
  • Protokol aplikasi HTTP dan gRPC

Penentuan ukuran load balancing

Node Bindplane tidak boleh mengelola lebih dari 30.000 pengumpul untuk toleransi kesalahan maksimum. Setiap pengumpul membuka dua koneksi ke Bindplane (satu untuk pengelolaan jarak jauh OpAMP dan satu untuk memublikasikan metrik throughput). Batas ini membantu memastikan Anda tidak melebihi batas koneksi sekitar 65.535 per instance backend yang diterapkan oleh sebagian besar load balancer.

Jika organisasi memiliki 100.000 pengumpul, ukuran cluster tiga akan tidak memadai. Setiap node akan bertanggung jawab atas sekitar 33.000 pengumpul, yang berarti 66.000 koneksi TCP per instance Bindplane. Situasi ini akan semakin buruk jika satu node dihentikan untuk pemeliharaan, karena setiap instance Bindplane yang tersisa akan mengelola 50.000 pengumpul, atau 100.000 koneksi TCP.

Praktik terbaik penentuan ukuran load balancing

  • Terapkan health check. Konfigurasi load balancer untuk memastikan pengumpul siap menerima traffic.
  • Mendistribusikan koneksi secara merata. Koneksi harus didistribusikan secara merata di antara pengumpul.
  • Mendukung protokol yang diperlukan. Untuk mendukung berbagai penerima berbasis jaringan di OpenTelemetry, load balancer harus mendukung:

    • Protokol transport TCP/UDP
    • Protokol aplikasi HTTP dan gRPC

Untuk mempelajari lebih lanjut, lihat Ketahanan Pengumpul.

Load balancing jenis sumber

Jenis sumber apa pun yang menerima telemetri dari sistem jarak jauh melalui jaringan adalah kandidat yang cocok untuk load balancing, termasuk yang berikut:

  • OTLP
  • Syslog
  • TCP/UDP
  • HEC Splunk
  • Fluent Forward

Menggunakan mode ketersediaan tinggi di lingkungan produksi

Anda dapat men-deploy instance BindPlane dalam konfigurasi instance tunggal atau multi-instance. Untuk deployment produksi yang memerlukan ketersediaan tinggi (HA) dan ketahanan, sebaiknya gunakan model deployment multi-instance (HA).

Jika Bindplane mengelola lebih dari 25.000 pengumpul, sebaiknya Anda mengoperasikan Bindplane dalam mode ketersediaan tinggi (HA).

Untuk mempelajari HA di BindPlane, lihat Ketersediaan Tinggi.

Menghitung jumlah pengumpul dan server BindPlane untuk HA

Saat mengoperasikan Bindplane dalam mode HA, Anda harus mempertimbangkan jumlah pengumpul yang diharapkan untuk ditangani oleh setiap server Bindplane.

Ambil jumlah total instance Bindplane, lalu kurangi jumlah maksimum node yang diperkirakan tidak tersedia karena pemeliharaan. Pastikan setiap node mengelola tidak lebih dari 30.000 pengumpul selama gangguan node.

Postgres untuk HA

Postgres adalah prasyarat saat Anda mengoperasikan Bindplane dalam mode HA.

Prometheus untuk HA

Prometheus diperlukan saat Anda mengoperasikan Bindplane dalam mode HA.

Untuk mempelajari lebih lanjut, lihat Prometheus.

Bus peristiwa untuk HA

Bindplane menggunakan bus peristiwa untuk berkomunikasi antar-komponen dalam Bindplane. Saat mengoperasikan Bindplane dalam mode HA, Anda dapat menggunakan bus peristiwa untuk mengirim peristiwa antar-server Bindplane.

Untuk mempelajari lebih lanjut, lihat Bus Peristiwa.

Menggunakan deployment instance tunggal untuk lingkungan pengujian atau proof-of-concept

Untuk lingkungan pengujian atau bukti konsep, sebaiknya gunakan deployment instance tunggal.

Untuk mempelajari lebih lanjut, lihat Instance Tunggal.

Mengisolasi kredensial backend

Daripada men-deploy kredensial ke semua sistem pengumpul data, Anda dapat menyimpan kredensial secara eksklusif di pengumpul data gateway. Hal ini menyederhanakan rotasi kredensial dan mengurangi permukaan serangan keamanan dengan membatasi deployment kredensial ke sebagian kecil sistem Anda.

Membuat firewall untuk pengumpul gateway Anda

Anda dapat menempatkan pengumpul gateway dalam jaringan perimeter, yang dilindungi firewall dari jaringan internal. Anda dapat mengonfigurasi jaringan untuk mengizinkan pengumpul data lain meneruskan data ke pengumpul data gateway sekaligus memblokir pengumpul data gateway agar tidak mengakses jaringan aplikasi Anda. Dengan begitu, Anda dapat mengirim telemetri ke backend berbasis cloud tanpa memberikan akses langsung ke internet untuk endpoint Anda.

Firewall harus mengizinkan traffic HTTP menjangkau Bindplane di port yang dikonfigurasi.

Verifikasi konfigurasi firewall

Firewall atau proxy terautentikasi antara pengumpul 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

Menggunakan PostgreSQL untuk deployment produksi

Postgres diperlukan untuk deployment Bindplane produksi.

Postgres adalah prasyarat agar Anda dapat mengoperasikan Bindplane dalam mode HA.

Jumlah core CPU dan memori yang tersedia umumnya membatasi performa backend penyimpanan PostgreSQL. Sebaiknya cadangkan penyimpanan PostgreSQL dengan penyimpanan latensi rendah dan throughput tinggi, seperti solid-state drive (SSD).

Jumlah pengumpul Core CPU Memori
1-60.000 4 16 GB
60.001-125.000 8 32 GB
125.001-250.000 16 64 GB

Untuk mempelajari lebih lanjut, lihat referensi berikut:

Menerapkan autentikasi yang tepat

BindPlane mendukung autentikasi dengan protokol dan layanan berikut; pastikan protokol dan layanan tersebut diterapkan dengan benar:

Menggunakan server BindPlane

Sebagian besar pelanggan Google SecOps menggunakan server Bindplane, tetapi penggunaannya bersifat opsional. Jika Anda menginstal server BindPlane, Anda memerlukan akses ke storage.googleapis.com. Jika Anda hanya menginstal pengumpul, akses ini tidak diperlukan.

Untuk melihat demo yang menunjukkan cara mengonfigurasi server Bindplane untuk menstandardisasi log dan mengekspornya ke Google SecOps, buka [halaman ini)[https://bindplane.com/use-case-demo), lalu pilih Konfigurasi Google SecOps.

Menggunakan server Bindplane Cloud

Bindplane Cloud tersedia untuk pelanggan Google.

Login ke Edisi Google.

Untuk masalah terkait Server Bindplane Cloud, hubungi dukungan Bindplane. Untuk masalah terkait Bindplane Server lokal, hubungi dukungan SecOps Google.

Menggunakan server Bindplane di Google Cloud

Untuk mengetahui informasi tentang cara menjalankan server Bindplane di Google Cloud, lihat Bindplane Enterprise Edition.

Menggunakan server lokal BindPlane

Penggunaan server Bindplane on-premise diatur oleh Google Cloud Persyaratan Layanan yang ada.

Menginstal server lokal di Linux

Anda dapat menginstal server Bindplane on-premise di Linux dengan menjalankan skrip (direkomendasikan) atau mendownload file biner dan menginstal secara manual. Untuk mempelajari lebih lanjut, lihat Menginstal BindPlane Server.

Untuk menginstal server Bindplane on-premise di Linux dengan skrip, lakukan hal berikut:

  1. Jalankan skrip ini:

    curl -fsSlL https://storage.googleapis.com/bindplane-op-releases/bindplane/latest/install-linux.sh -o install-linux.sh && bash install-linux.sh --init && rm install-linux.sh

  2. Ikuti petunjuk yang memandu Anda melalui inisialisasi server.

Untuk menginstal server Bindplane on-premise di Linux dengan file biner, lakukan langkah berikut:

  1. Download salah satu file berikut:

  2. Perbarui file konfigurasi menggunakan petunjuk di Mengonfigurasi BindPlane Server.

Distribusi Linux yang didukung:
  • Red Hat, Centos, Oracle Linux 7, 8, 9
  • Debian 11 dan 12
  • Ubuntu LTS 20.04 dan 22.04
  • SUSE Linux 12 dan 15
  • Alma dan Rocky Linux

Untuk mempelajari lebih lanjut, lihat referensi berikut:

Deployment lokal Docker

Untuk mempelajari lebih lanjut, lihat Menginstal BindPlane Server.

Anda dapat menemukan image container Docker Bindplane di lokasi berikut:

  • Paket GitHub: ghcr.io/observiq/Bindplane-ee
  • Repositori artefak Google: us-central1-docker.pkg.dev/observiq-containers/bindplane/bindplane-ee
  • Docker Hub: observiq/bindplane-ee

Image container diberi tag dengan versi rilis: misalnya, Rilis v1.35.0 akan memiliki tag observiq/bindplane-ee:1.35.0.

Menginstal pengumpul Bindplane

Bagian ini menjelaskan cara menginstal pengumpul Bindplane untuk Google SecOps di berbagai sistem.

Pengumpul biasanya menggunakan resource minimal. Namun, saat menangani volume log yang besar, perhatikan konsumsi resource untuk menghindari dampak pada layanan lain. Untuk mengetahui informasi selengkapnya, lihat Persyaratan dan rekomendasi teknis, Merencanakan penginstalan dan deployment, serta Penentuan Ukuran dan Penskalaan Agen.

Untuk mempelajari cara menginstal pengumpul (yaitu, agen OTel), lihat Bindplane OTel Collector.

Anda juga dapat melihat dokumentasi GitHub bindplane-otel-collector.

Untuk menginstal pengumpul data, Anda memerlukan hal berikut:

  • File autentikasi penyerapan Google SecOps

    Untuk mendownload file autentikasi, ikuti langkah-langkah berikut:

    1. Buka konsol Google SecOps.
    2. Buka SIEM Settings > Collection Agent.
    3. Download file autentikasi penyerapan Google SecOps.
  • ID pelanggan Google SecOps

    Untuk menemukan ID pelanggan, ikuti langkah-langkah berikut:

    1. Buka konsol Google SecOps.
    2. Buka Setelan SIEM > Profil.
    3. Salin ID pelanggan dari bagian Detail Organisasi.
  • Windows 2012 SP2 atau yang lebih baru atau host Linux dengan systemd

  • Konektivitas internet

  • Akses GitHub

Alat deployment

Bagian ini menjelaskan alat deployment untuk BindPlane.

GitOps

Deploy resource Bindplane menggunakan model GitOps, yang mencakup hal berikut:

  • Autentikasi Bindplane
  • CLI Bindplane
  • Akses jaringan
  • Integrasi dengan repositori GitHub dan GitHub Actions
  • Mengekspor resource yang ada
  • Mengelola nilai sensitif
  • Membuat alur kerja GitHub Action
  • Petunjuk langkah demi langkah untuk melakukan dan menguji konfigurasi, mengaktifkan peluncuran otomatis, dan memperbarui resource menggunakan pengeditan langsung atau metode ekspor UI
  • Memperbarui nilai sensitif dan menggunakan RBAC

Untuk mempelajari lebih lanjut, lihat GitOps.

Ansible

Untuk mempelajari cara men-deploy BindPlane dengan Ansible, lihat bindplane-agent-ansible.

CLI Bindplane

Untuk mempelajari Bindplane CLI, lihat GitOps.

Terraform

Untuk mempelajari cara menggunakan Terraform guna mengonfigurasi resource Bindplane, lihat Bindplane Provider.

Kubernetes

Untuk mempelajari Kubernetes dengan Bindplane, lihat artikel berikut:

Menginstal pengumpul Bindplane di Windows

Untuk menginstal pengumpul 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 pengumpul Bindplane.

Untuk mempelajari lebih lanjut cara menginstal pengumpul BindPlane di Windows, lihat Penginstalan Windows.

Menginstal pengumpul Bindplane di Linux

Anda dapat menginstal pengumpul di Linux menggunakan skrip yang secara otomatis menentukan paket 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 pengumpul 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 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 Anda download.

Mengonfigurasi pengumpul BindPlane

Setelah menginstal pengumpul, layanan observiq-otel-collector akan berjalan dan siap dikonfigurasi.

Anda dapat mengonfigurasi pengumpul secara manual atau menggunakan server Bindplane.

Jika mengonfigurasi pengumpul secara manual, Anda perlu memperbarui parameter pengekspor untuk memastikan pengumpul diautentikasi dengan Google SecOps.

File konfigurasi pengumpul OTel

Di Linux, file konfigurasi pengumpul dapat ditemukan di /opt/observiq-otel-collector/config.yaml.

Layanan dan log pengumpul OTel

Pengumpul mencatat ke C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log secara default.

Log error standar untuk proses pengumpul dapat ditemukan di C:\Program Files\observIQ OpenTelemetry Collector\log\observiq_collector.err.

Di Linux, untuk melihat log dari pengumpul, jalankan sudo tail -F /opt/observiq-otel-collector/log/collector.log.

Perintah layanan pengumpul OTel Linux umum:

  • Untuk menghentikan layanan pengumpul OTel, jalankan sudo systemctl stop observiq-otel-collector.

  • Untuk memulai layanan pengumpul OTel, jalankan sudo systemctl start observiq-otel-collector.

  • Untuk memulai ulang layanan pengumpul OTel, jalankan sudo systemctl restart observiq-otel-collector.

  • Untuk mengaktifkan layanan pengumpul OTel saat startup, jalankan sudo systemctl enable observiq-otel-collector.

Mulai ulang layanan pengumpul untuk perubahan konfigurasi

Saat mengubah konfigurasi, Anda harus memulai ulang layanan pengumpul agar perubahan konfigurasi diterapkan (sudo systemctl restart observiq-otel-collector).

Menggunakan file konfigurasi contoh default

Secara default, file konfigurasi pengumpul berada di C:\Program Files\observIQ OpenTelemetry Collector\config.yaml.

Untuk mendownload contoh file konfigurasi dan token autentikasi yang digunakan oleh pengumpul:

  • Buka konsol Google SecOps, lalu buka SIEM Settings > Collection Agent.

Sesuaikan dua bagian berikut dalam file konfigurasi:

  • Penerima: menentukan log mana yang harus dikumpulkan dan dikirim oleh pengumpul ke Google SecOps.
  • Exporter: menentukan tujuan tempat pengumpul mengirim log. Eksporter berikut didukung:
    • Pengekspor Google SecOps: mengirim log langsung ke Google SecOps Ingestion API.
    • Pengekspor penerusan Google SecOps: mengirim log ke penerus Google SecOps.
    • Pengekspor Cloud Logging: mengirim log ke (Cloud Logging).

Di pengekspor, sesuaikan hal berikut:

  • customer_id: ID pelanggan Google SecOps Anda.
  • endpoint: Endpoint regional Google SecOps Anda.
  • creds: Token autentikasi Anda.

    Atau, Anda dapat menggunakan creds_file_path untuk mereferensikan file kredensial secara langsung. Untuk konfigurasi Windows, hapus jalur dengan garis miring terbalik.

  • log_type: Jenis log. Sebaiknya pilih WINDOWS_DNS sebagai Log Type.

  • ingestion_labels: Label penyerapan. Label ini mengidentifikasi log di Google SecOps.

  • namespace: Namespace opsional.

    Setiap jenis log mengharuskan Anda mengonfigurasi eksportir.

Contoh konfigurasi pengumpulan log

Bagian berikut berisi contoh konfigurasi untuk pengumpulan log.

Mengirim peristiwa Windows dan sysmon langsung ke Google SecOps

Konfigurasi parameter ini dalam contoh:

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:

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:

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:

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:

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]

Pengoperasian dan pemeliharaan BindPlane

Bagian ini menjelaskan tindakan operasi dan pemeliharaan rutin.

Memverifikasi konfigurasi OTel

Untuk mempelajari cara memverifikasi konfigurasi OTel BindPlane, lihat OTelBin.

Info rilis pengumpul

BindPlane dapat melakukan polling bindplane-otel-collector/releases untuk mendeteksi rilis kolektor baru. Fitur ini bersifat opsional.

Anda dapat menonaktifkan polling GitHub dengan menyetel agentVersions.syncInterval ke 0 dalam konfigurasi Bindplane Anda:

agentVersions:
syncInterval: 0

Pencadangan dan pemulihan dari bencana (disaster recovery)

Untuk mempelajari pencadangan dan pemulihan dari bencana dengan BindPlane, lihat resource BindPlane.

Pencadangan dan pemulihan dari bencana (disaster recovery) PostgreSQL

Untuk mempelajari pencadangan dan pemulihan dari bencana PostgreSQL dengan Bindplane, lihat dokumentasi PostgreSQL.

Pencadangan dan pemulihan dari bencana BBolt

Untuk mempelajari pencadangan dan pemulihan dari bencana BBolt (tidak digunakan lagi) dengan Bindplane, lihat dokumentasi BBolt Store.

Ketahanan dan coba lagi

Coba lagi diaktifkan secara default di semua tujuan yang mendukungnya. Secara default, permintaan yang gagal akan dicoba lagi setelah lima detik dan mundur secara progresif hingga 30 detik. Setelah lima menit, permintaan akan dibatalkan secara permanen.

Untuk mempelajari lebih lanjut, lihat Ketahanan Pengumpul.

Mengurangi volume log dengan filter tingkat keparahan

Untuk mempelajari cara mengurangi volume log, lihat Mengurangi Volume Log dengan Filter Tingkat Keparahan.

Integrasi Bindplane dengan pengumpul pihak ketiga

Meskipun Bindplane lebih efektif saat Anda menggunakan pengumpul Bindplane untuk pengumpulan di edge, dalam sebagian besar kasus, Bindplane dapat tetap berada dalam infrastruktur yang ada. Misalnya, jika Anda sudah menggunakan Fluent Bit atau Splunk Universal Forwarder, Anda dapat terus melakukannya.

Integrasi Bindplane dengan Splunk

Untuk mempelajari Splunk dengan BindPlane, lihat artikel berikut:

Integrasi Bindplane dengan pengumpul data pihak ketiga lainnya

Untuk mempelajari integrasi Bindplane dengan pengumpul pihak ketiga, lihat Menghubungkan Pengumpul OpenTelemetry Lainnya Menggunakan Ekstensi OpAMP.

Pemantauan Host Senyap

Pemantauan Host Senyap Google Security Operations memungkinkan Anda membuat pemberitahuan untuk perubahan kecepatan penyerapan menggunakan Google Cloud Monitoring. Fitur ini menghasilkan pemberitahuan per pengumpul dan memberi tahu Anda saat kecepatan penyerapan turun di bawah nilai minimum yang ditentukan, yang menandakan potensi pengumpul berhenti.

Untuk mengetahui informasi tentang penggunaan BindPlane untuk pemantauan host senyap, lihat artikel berikut:

Mengupgrade Bindplane di Linux

Menjalankan perintah penginstalan tanpa flag --init di akhir sudah cukup untuk mengupgrade Bindplane. Jalankan skrip ini di server Bindplane Anda untuk mengupgrade Bindplane. Untuk mempelajari lebih lanjut, lihat Mengupgrade, Mendowngrade, atau Meng-uninstal Bindplane Server.

Memantau BindPlane

Untuk mempelajari cara memantau Bindplane, lihat Memantau Bindplane.

Memantau Kubernetes di BindPlane

Untuk mempelajari cara memantau Kubernetes di Bindplane, lihat Pemantauan Kubernetes.

Dokumentasi tambahan

Untuk mempelajari Bindplane (sebelumnya dikenal sebagai observIQ) lebih lanjut, lihat artikel berikut:

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