Mengelola file konfigurasi forwarder secara manual
Halaman ini menjelaskan cara membuat dan mengubah file konfigurasi forwarder Operasi Keamanan Google secara manual. Untuk mengonfigurasi forwarder melalui UI (direkomendasikan), lihat Mengelola konfigurasi forwarder melalui UI Google SecOps.
Setiap forwarder Google SecOps yang di-deploy memerlukan file konfigurasi forwarder. File konfigurasi forwarder menentukan setelan untuk mentransfer data ke instance Google SecOps Anda.
Untuk mengetahui informasi tentang cara menginstal dan mengonfigurasi forwarder Google SecOps, persyaratan sistem, dan detail tentang setelan konfigurasi, lihat Menginstal dan mengonfigurasi forwarder.
Sebelum memulai
Sebelum membuat file konfigurasi, rencanakan penerapan Anda dengan memahami jenis data yang dapat diserap dan atribut utama yang perlu Anda tentukan dalam file konfigurasi.
Membuat file konfigurasi
Untuk membuat file konfigurasi secara manual, ikuti langkah-langkah berikut:
Download file konfigurasi melalui UI.
Simpan kedua file di direktori yang sama menggunakan konvensi penamaan berikut:
FORWARDER_NAME
.conf—Gunakan file ini untuk menentukan setelan konfigurasi yang terkait dengan penyerapan log.FORWARDER_NAME
_auth.conf—Gunakan file ini untuk menentukan kredensial otorisasi.Ubah file untuk menyertakan konfigurasi untuk instance forwarder Anda.
Untuk mengetahui detail tentang setelan untuk setiap jenis mekanisme penyerapan, seperti Splunk atau Syslog, lihat Menentukan jenis data dalam file konfigurasi Anda. Untuk mengetahui detail tentang cara menyesuaikan setiap atribut, seperti kompresi data atau buffering disk, lihat Mengonfigurasi atribut kunci dalam file konfigurasi.
Pastikan ada entri untuk setiap input dalam file
FORWARDER_NAME
_auth.conf meskipun input tidak memiliki detail autentikasi yang sesuai. Hal ini diperlukan untuk memetakan data dengan benar.
Setiap perubahan yang dibuat pada file konfigurasi akan otomatis diterapkan oleh forwarder dalam waktu lima menit.
Contoh konfigurasi
Anda dapat mereferensikan file konfigurasi berikut sebagai template untuk membuat file konfigurasi Anda sendiri.
Contoh konfigurasi dua file
Dua sistem file ini menyimpan kredensial autentikasi dalam file
terpisah untuk meningkatkan keamanan. Anda dapat menyimpan file FORWARDER_NAME
.conf
di repositori kontrol versi atau sistem pengelolaan konfigurasi terbuka.
Anda dapat menyimpan file FORWARDER_NAME
_auth.conf secara langsung di mesin fisik atau virtual yang menjalankan forwarder.
Contoh kode berikut menunjukkan format file konfigurasi untuk forwarder.
File FORWARDER_NAME.conf
output: url: malachiteingestion-pa.googleapis.com:443 identity: identity: collector_id: COLLECTOR_ID \ customer_id: CUSTOMER_ID \ collectors: - syslog: common: enabled: true data_type: "WINDOWS_DHCP" data_hint: batch_n_seconds: 10 batch_n_bytes: 1048576 tcp_address: 0.0.0.0:10514 udp_address: 0.0.0.0:10514 connection_timeout_sec: 60 tcp_buffer_size: 524288 - syslog: common: enabled: true data_type: "WINDOWS_DNS" data_hint: batch_n_seconds: 10 batch_n_bytes: 1048576 tcp_address: 0.0.0.0:10515 connection_timeout_sec: 60 tcp_buffer_size: 524288
File FORWARDER_NAME_auth.conf
output: identity: secret_key: | { "type": "service_account", "project_id": "PROJECT_ID" \, "private_key_id": "PRIVATE_KEY_ID" \, "private_key": "-----BEGIN PRIVATE KEY-----\\"PRIVATE_KEY" \n-----END PRIVATE KEY-----\n", "client_email": "CLIENT_EMAIL" \, "client_id": "CLIENT_ID" \, "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/example-account-1%40example-account.iam.gserviceaccount.com" } collectors: - syslog: - syslog: certificate: "../forwarder/inputs/testdata/localhost.pem" certificate_key: "../forwarder/inputs/testdata/localhost.key"
Contoh konfigurasi file tunggal
output: url: malachiteingestion-pa.googleapis.com:443 identity: identity: collector_id: "COLLECTOR_ID" \ customer_id: "CUSTOMER_ID" \ secret_key: | { "type": "service_account", "project_id": "PROJECT_ID" \, "private_key_id": "PRIVATE_KEY_ID" \, "private_key": "-----BEGIN PRIVATE KEY-----\ "PRIVATE_KEY" \n-----END PRIVATE KEY-----\n", "client_email": "CLIENT_EMAIL" \, "client_id": "CLIENT_ID" \, "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/malachite-test-1%40malachite-test.iam.gserviceaccount.com" } collectors: - syslog: common: enabled: true data_type: "WINDOWS_DHCP" data_hint: batch_n_seconds: 10 batch_n_bytes: 1048576 tcp_address: 0.0.0.0:10514 udp_address: 0.0.0.0:10514 connection_timeout_sec: 60 tcp_buffer_size: 524288 - syslog: common: enabled: true data_type: "WINDOWS_DNS" data_hint: batch_n_seconds: 10 batch_n_bytes: 1048576 tcp_address: 0.0.0.0:10515 connection_timeout_sec: 60 certificate: "../forwarder/inputs/testdata/localhost.pem" certificate_key: "../forwarder/inputs/testdata/localhost.key" tcp_buffer_size: 524288
Mengonversi dari satu file ke sistem dua file
Jika Anda menggunakan satu file konfigurasi dan ingin beralih ke sistem dua file, lakukan hal berikut:
Buat salinan file konfigurasi yang ada.
Simpan satu file sebagai file
FORWARDER_NAME
.conf dan hapus kredensial otorisasi dari file.Simpan file lain sebagai file
FORWARDER_NAME
_auth.conf dan hapus semua data non-otorisasi dari file. Anda dapat menggunakan contoh konfigurasi sebagai referensi. Pastikan Anda mengikuti konvensi penamaan dan panduan lain yang disebutkan di bagian Menyesuaikan konfigurasi.
Menentukan jenis data dalam file konfigurasi
Bagian berikut membantu Anda mengonfigurasi penerusan Google SecOps untuk menyerap berbagai jenis data, yang diteruskan ke instance Google SecOps.
Data Splunk
Anda dapat mengonfigurasi forwarder Google SecOps untuk meneruskan data Splunk ke Google SecOps. Google Cloud mengonfigurasi forwarder Google SecOps dengan informasi berikut untuk meneruskan data Anda dari Splunk:
URL untuk Splunk REST API (misalnya, https://10.0.113.15:8089).
Kueri Splunk untuk menghasilkan data untuk setiap jenis data yang diperlukan (misalnya, index=dns).
FORWARDER_NAME.conf output: collectors: - splunk: common: enabled: true data_type: WINDOWS_DNS data_hint: "#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p proto trans_id query qclass qclass_name" batch_n_seconds: 10 batch_n_bytes: 819200 url: https://127.0.0.1:8089 is_ignore_cert: true minimum_window_size: 10s maximum_window_size: 30s query_string: search index=* sourcetype=dns query_mode: realtime
- Sediakan kredensial akun Splunk Anda ke forwarder Google SecOps. Anda dapat melakukannya dengan membuat file
creds.txt
.
Untuk menggunakan file creds.txt
:
Buat file lokal untuk kredensial Splunk Anda dan beri nama
creds.txt
.Tempatkan nama pengguna Anda di baris pertama dan sandi di baris kedua:
cat creds.txt myusername mypassword
Untuk menggunakan forwarder Google SecOps guna mengakses instance Splunk, salin file
creds.txt
ke direktori konfigurasi (direktori yang sama dengan tempat file konfigurasi berada).Linux
cp creds.txt /opt/chronicle/config/creds.txt
Windows
cp creds.txt c:/opt/chronicle/config/creds.txt
Verifikasi bahwa file
creds.txt
berada di direktori yang diinginkan:Linux
ls /opt/chronicle/config
Windows
ls c:/opt/chronicle/config
Data syslog
Pengirim dapat berfungsi sebagai server Syslog. Anda dapat mengonfigurasi server apa pun yang mendukung pengiriman data Syslog melalui koneksi TCP atau UDP untuk meneruskan datanya ke penerusan Google SecOps. Anda dapat mengontrol data yang dikirim server ke forwarder, lalu forwarder dapat meneruskan data ke Google SecOps.
File konfigurasi FORWARDER_NAME.conf
(disediakan oleh
Google Cloud) menentukan port yang akan dipantau untuk setiap jenis
data yang diteruskan (misalnya, port 10514). Secara default, penerusan Google SecOps menerima koneksi TCP dan UDP.
Anda dapat menyesuaikan ukuran buffer TCP. Ukuran buffer TCP default adalah 64 KB. Nilai
default dan yang direkomendasikan untuk connection_timeout
adalah 60 detik.
Koneksi TCP akan dihentikan jika koneksi tidak aktif selama lebih dari
60 detik.
Mengonfigurasi rsyslog
Untuk mengonfigurasi rsyslog, Anda perlu menentukan target untuk setiap port (misalnya, setiap jenis data). Contoh berikut mengilustrasikan konfigurasi target rsyslog:
Traffic log TCP:
dns.* @@192.168.0.12:10514
Traffic log UDP:
dns.* @192.168.0.12:10514
Anda dapat melihat dokumentasi sistem untuk mengetahui detailnya.
Mengaktifkan TLS untuk konfigurasi Syslog
Anda dapat mengaktifkan TLS untuk koneksi Syslog ke forwarder Google SecOps. Dalam file konfigurasi forwarder
(FORWARDER_NAME
.conf), tentukan lokasi sertifikat dan kunci sertifikat
yang Anda buat sendiri seperti yang ditunjukkan dalam contoh berikut.
Anda dapat membuat direktori certs
di direktori configuration
dan menyimpan
file sertifikat di dalamnya.
Linux:
sertifikat | /opt/chronicle/external/certs/client_generated_cert.pem |
certificate_key | /opt/chronicle/external/certs/client_generated_cert.key |
Windows:
sertifikat | c:/opt/chronicle/external/certs/client_generated_cert.pem |
certificate_key | c:/opt/chronicle/external/certs/client_generated_cert.key |
Berdasarkan contoh yang ditampilkan, ubah file konfigurasi forwarder (FORWARDER_NAME
.conf) sebagai berikut:
Linux:
collectors: - syslog: common: enabled: true data_type: WINDOWS_DNS data_hint: batch_n_seconds: 10 batch_n_bytes: 1048576 tcp_address: 0.0.0.0:10515 tcp_buffer_size: 65536 connection_timeout_sec: 60 certificate: "/opt/chronicle/external/certs/client_generated_cert.pem" certificate_key: "/opt/chronicle/external/certs/client_generated_cert.key" minimum_tls_version: "TLSv1_3"
Windows:
collectors: - syslog: common: enabled: true data_type: WINDOWS_DNS data_hint: batch_n_seconds: 10 batch_n_bytes: 1048576 tcp_address: 0.0.0.0:10515 tcp_buffer_size: 65536 connection_timeout_sec: 60 certificate: "c:/opt/chronicle/external/certs/client_generated_cert.pem" certificate_key: "c:/opt/chronicle/external/certs/client_generated_cert.key" minimum_tls_version: "TLSv1_3"
Versi TLS permintaan input harus lebih besar dari versi TLS minimum. Versi TLS minimum harus berupa salah satu nilai berikut: TLSv1_0, TLSv1_1, TLSv1_2, TLSv1_3.
Data file
Pengumpul file dirancang untuk mengambil log dari file yang terikat ke penampung Docker. Anda dapat menggunakannya jika ingin mengupload log secara manual dari satu file log.
Mulai forwarder Google SecOps dari penampung Docker untuk memetakan volume beban ke penampung:
Linux
docker run
--detach
--name cfps
--log-opt max-size=100m
--log-opt max-file=10
--net=host
-v /opt/chronicle/config:/opt/chronicle/external
-v /var/log/crowdstrike/falconhostclient:/opt/chronicle/edr
gcr.io/chronicle-container/cf_production_stable
Windows
docker run ` --name cfps ` --log-opt max-size=100m ` --log-opt max-file=10 ` -p 10514:10514 ` -v c:/opt/chronicle/config:c:/opt/chronicle/external ` -v c:/var/log/crowdstrike/falconhostclient:c:/opt/chronicle/edr ` gcr.io/chronicle-container/cf_production_stable_windows
Anda dapat menambahkan beberapa port menggunakan beberapa opsi atau beberapa rentang. Misalnya: -p 3001:3000 -p 2023:2022
atau -p 7000-8000:7000-8000
.
Nomor port yang diberikan dalam kode contoh adalah contoh. Ganti nomor
port sesuai kebutuhan Anda.
Berdasarkan contoh, Anda dapat mengubah konfigurasi forwarder Google SecOps (file FORWARDER_NAME.conf
) sebagai berikut:
Linux
collectors: - file: common: enabled: true data_type: CS_EDR data_hint: batch_n_seconds: 10 batch_n_bytes: 1048576 file_path: /opt/chronicle/edr/sample.txt filter:
Windows
collectors: - file: common: enabled: true data_type: CS_EDR data_hint: batch_n_seconds: 10 batch_n_bytes: 1048576 file_path: c:/opt/chronicle/edr/sample.txt filter:
File sample.txt
harus ada di
folder /var/log/crowdstrike/falconhostclient
.
Konfigurasi flag
skip_seek_to_end
(bool): Flag ini ditetapkan ke false
secara default dan input file
hanya mengirim baris log baru sebagai input. Menyetelnya ke true
akan menyebabkan semua
baris log sebelumnya dikirim lagi selama forwarder dimulai ulang. Hal ini menyebabkan duplikasi log. Menetapkan tanda ini ke true
akan membantu dalam situasi
tertentu (misalnya, selama pemadaman), karena memulai ulang forwarder akan mengirim
baris log yang hilang lagi.
poll
(bool): Pengumpul file menggunakan library Tail untuk memeriksa perubahan apa pun dalam
sistem file. Dengan menetapkan tanda ini ke true
, library Tail akan menggunakan metode polling,
bukan metode notifikasi default.
Data paket
Pengirim Google SecOps dapat mengambil paket, bukan entri log, langsung dari antarmuka jaringan.
Sistem Linux
Pengirim Google SecOps dapat menangkap paket menggunakan libcap di Linux. Untuk informasi selengkapnya tentang libcap, lihat libcap - Halaman manual Linux.
Sebagai ganti entri log, paket jaringan mentah akan diambil dan dikirim ke Google Cloud. Perekaman ini terbatas pada antarmuka lokal. Untuk mengaktifkan perekaman paket untuk sistem Anda, hubungi Dukungan Google SecOps.
Google Cloud mengonfigurasi penerusan Google SecOps dengan ekspresi Berkeley Packet Filter (BPF) yang digunakan saat merekam paket (misalnya, port 53, bukan localhost). Untuk mengetahui informasi selengkapnya, lihat Filter paket Berkeley.
Sistem Windows
Pengirim Google SecOps dapat menangkap paket menggunakan Npcap di sistem Windows.
Sebagai ganti entri log, paket jaringan mentah akan diambil dan dikirim ke Google Cloud. Perekaman ini terbatas pada antarmuka lokal. Untuk mengonfigurasi forwarder Google SecOps Anda untuk pengambilan paket, hubungi Dukungan Google SecOps.
Persyaratan untuk penerusan PCAP tangkapan paket:
Instal Npcap di host Microsoft Windows.
Berikan hak istimewa root atau administrator forwarder Google SecOps untuk memantau antarmuka jaringan.
Pada penginstalan Npcap, aktifkan mode kompatibilitas WinPcap.
Untuk mengonfigurasi forwarder PCAP, Google Cloud memerlukan GUID untuk antarmuka yang digunakan untuk merekam paket.
Jalankan getmac.exe
di komputer tempat Anda berencana menginstal forwarder Google SecOps (server atau mesin yang memproses di port span) dan kirim output ke Google SecOps.
Atau, Anda dapat mengubah file konfigurasi. Temukan bagian PCAP dan
ganti nilai GUID yang ada dengan GUID yang diperoleh dari menjalankan getmac.exe
.
Misalnya, berikut adalah bagian PCAP asli:
- pcap:
common:
enabled: true
data_type: PCAP_DNS
batch_n_seconds: 10
batch_n_bytes: 1048576
interface: \Device\NPF_{1A7E7C8B-DD7B-4E13-9637-0437AB1A12FE}
bpf: udp port 53
Output dari menjalankan getmac.exe
:
C:\>getmac.exe
Physical Address Transport Name
===========================================================================
A4-73-9F-ED-E1-82 \Device\Tcpip_{2E0E9440-ABFF-4E5B-B43C-E188FCAD1234}
Bagian PCAP yang direvisi dengan GUID baru:
- pcap:
common:
enabled: true
data_type: PCAP_DNS
batch_n_seconds: 10
batch_n_bytes: 1048576
interface: \Device\NPF_{2E0E9440-ABFF-4E5B-B43C-E188FCAD9734}
bpf: udp port 53
Output getmac.exe
untuk Nama Transpor dimulai dengan \Device\Tcpip
, sedangkan
bagian pcap yang sebanding dimulai dengan \Device\NPF
.
Data dari topik Kafka
Pengirim Google Security Operations mendukung penyerapan data langsung dari topik Kafka. Anda dapat men-deploy hingga tiga forwarder dan mengambil data dari topik Kafka yang sama dengan memanfaatkan konsep grup konsumen untuk pemrosesan yang efisien dan paralel. Untuk informasi selengkapnya, lihat Kafka. Untuk informasi selengkapnya tentang grup konsumen Kafka, lihat Konsumen Kafka.
Konfigurasi forwarder berikut menunjukkan cara menyiapkan forwarder untuk menyerap data dari topik Kafka.
Linux
File FORWARDER_NAME.conf
collectors: - kafka: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:NIX_SYSTEM
enabled: true topic: example-topic group_id: chronicle-forwarder timeout: 60s brokers: ["broker-1:9092", "broker-2:9093"] tls: insecureSkipVerify: true certificate: "/path/to/cert.pem" certificate_key: "/path/to/cert.key" - syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:WINEVTLOG
enabled: true tcp_address: 0.0.0.0:30001 connection_timeout_sec: 60
File FORWARDER_NAME_auth.conf
collectors: - kafka: username: user password: password - syslog:
Windows
File FORWARDER_NAME.conf
collectors: - kafka: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:NIX_SYSTEM
enabled: true topic: example-topic group_id: chronicle-forwarder timeout: 60s brokers: ["broker-1:9092", "broker-2:9093"] tls: insecureSkipVerify: true certificate: "c:/path/to/cert.pem" certificate_key: "c:/path/to/cert.key" - syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:WINEVTLOG
enabled: true tcp_address: 0.0.0.0:30001 connection_timeout_sec: 60
File FORWARDER_NAME_auth.conf
collectors: - kafka: username: user password: password - syslog:
Data WebProxy
Pengirim Google SecOps dapat mengambil data WebProxy langsung dari antarmuka jaringan.
Linux
Pengirim Google SecOps dapat mengambil data WebProxy menggunakan libcap di Linux. Untuk informasi selengkapnya tentang libcap, lihat libcap - Halaman manual Linux. Untuk mengaktifkan pengambilan data WebProxy untuk sistem Anda, hubungi Dukungan Google SecOps.
Ubah konfigurasi penerusan Google SecOps (file FORWARDER_NAME.conf
)
sebagai berikut:
- webproxy:
common:
enabled : true
data_type: <Your LogType>
batch_n_seconds: 10
batch_n_bytes: 1048576
interface: any
bpf: tcp and dst port 80
Windows
Pengirim dapat merekam data WebProxy menggunakan Npcap dan mengirimkannya ke Google Cloud.
Untuk mengaktifkan pengambilan data WebProxy untuk sistem Anda, hubungi Dukungan Google SecOps.
Sebelum menjalankan penerusan WebProxy, ikuti langkah-langkah berikut:
Instal Npcap di host Microsoft Windows. Aktifkan mode kompatibilitas WinPcap selama penginstalan.
Berikan hak istimewa root atau administrator ke penerusan untuk memantau antarmuka jaringan.
Dapatkan GUID untuk antarmuka yang digunakan untuk menangkap paket WebProxy.
Jalankan
getmac.exe
di komputer tempat Anda ingin menginstal forwarder Google SecOps dan kirim output ke Google SecOps. Atau, Anda dapat mengubah file konfigurasi. Cari bagian WebProxy dan ganti GUID yang ditampilkan di samping antarmuka dengan GUID yang ditampilkan setelah menjalankangetmac.exe
.Ubah file konfigurasi forwarder Google SecOps (
FORWARDER_NAME.conf
) sebagai berikut:- webproxy: common: enabled : true data_type: <Your LogType> batch_n_seconds: 10 batch_n_bytes: 1048576 interface: \Device\NPF_{2E0E9440-ABFF-4E5B-B43C-E188FCAD9734} bpf: tcp and dst port 80
Mengonfigurasi atribut kunci dalam file konfigurasi
Tabel berikut mencantumkan parameter penting yang digunakan dalam file konfigurasi forwarder.
Parameter | Deskripsi |
---|---|
data_type | Jenis data log yang dapat dikumpulkan dan diproses oleh kolektor. |
metadata | Metadata, yang menggantikan metadata global. |
max_file_buffer_bytes | Jumlah maksimum byte yang dapat diakumulasikan di buffer disk atau file.
Nilai defaultnya adalah 1073741824 , yaitu 1 GB. |
max_memory_buffer_bytes | Jumlah byte maksimum yang dapat diakumulasikan dalam buffer memori. Nilai defaultnya adalah 1073741824 , yaitu 1 GB. |
write_to_disk_dir_path | Jalur yang akan digunakan untuk buffering file atau disk. |
write_to_disk_buffer_enabled | Jika true , buffer disk akan digunakan, bukan buffer memori. Nilai defaultnya adalah false .
|
batch_n_bytes | Jumlah maksimum byte yang dapat diakumulasikan oleh kolektor setelah data dikelompokkan. Nilai defaultnya adalah 1048576 , yaitu
1 MB. |
batch_n_seconds | Jumlah detik setelah data yang dikumpulkan oleh pengumpulan dikelompokkan. Nilai default-nya adalah 11 detik. |
data_hint | Format data yang dapat diterima kolektor (biasanya header file log yang menjelaskan format). |
Untuk mengetahui daftar lengkap parameter yang digunakan dalam file konfigurasi, lihat Kolom konfigurasi forwarder dan Kolom konfigurasi kolektor.
Kompresi data
Secara default, kompresi log dinonaktifkan. Mengaktifkan kompresi log dapat mengurangi penggunaan bandwidth. Namun, mengaktifkan kompresi log juga dapat meningkatkan penggunaan CPU. Evaluasi kompromi berdasarkan lingkungan dan data log Anda.
Untuk mengaktifkan kompresi log, tetapkan kolom compression
ke
true
dalam file konfigurasi forwarder Google SecOps seperti
yang ditunjukkan dalam contoh berikut:
File FORWARDER_NAME.conf
output: compression: true url: malachiteingestion-pa.googleapis.com:443 identity: identity: collector_id: 10479925-878c-11e7-9421-10604b7cb5c1 customer_id: ebdc4bb9-878b-11e7-8455-10604b7cb5c1 ...
File FORWARDER_NAME_auth.conf
output: identity: secret_key: | { "type": "service_account", ... }
Buffering disk
Buffering disk memungkinkan Anda melakukan buffering pesan yang tertunda ke disk, bukan memori.
Anda dapat mengonfigurasi buffering memori otomatis untuk menggunakan buffering yang dibagikan secara dinamis di seluruh pengumpul, yang menangani lonjakan traffic dengan lebih baik. Untuk mengaktifkan buffering yang dibagikan secara dinamis, tambahkan hal berikut di konfigurasi forwarder Anda:
auto_buffer: enabled: true target_memory_utilization: 80
Jika buffering disk otomatis diaktifkan, tetapi
target_memory_utilization
tidak ditentukan, buffering disk otomatis akan menggunakan nilai default
70
.
Jika Anda menjalankan forwarder menggunakan Docker, sebaiknya pasang volume terpisah dari volume konfigurasi Anda untuk tujuan isolasi. Selain itu, setiap input harus diisolasi dengan direktori atau volumenya sendiri untuk menghindari konflik.
Contoh konfigurasi
Konfigurasi berikut menyertakan sintaksis untuk mengaktifkan buffering disk:
collectors: - syslog: common: write_to_disk_buffer_enabled: true # /buffers/NIX_SYSTEM
is part of the external mounted volume for the forwarder write_to_disk_dir_path: /buffers/NIX_SYSTEM
max_file_buffer_bytes: 1073741824 batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:NIX_SYSTEM
enabled: true tcp_address: 0.0.0.0:30000 connection_timeout_sec: 60 - syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:WINEVTLOG
enabled: true tcp_address: 0.0.0.0:30001 connection_timeout_sec: 60
Filter ekspresi reguler
Filter ekspresi reguler memungkinkan Anda memfilter log dengan mencocokkan pola dengan data log mentah. Filter menggunakan sintaksis RE2. Filter harus menyertakan ekspresi reguler dan, secara opsional, menentukan perilaku saat ada kecocokan.
Perilaku default pada kecocokan adalah block
. Anda dapat menentukan filter dengan perilaku
allow
. Jika Anda menentukan
filter allow
, penerusan akan memblokir log yang tidak cocok dengan setidaknya satu
filter allow
.
Anda dapat menentukan jumlah filter arbitrer. Filter Block
lebih
diprioritaskan daripada filter allow
.
Saat ditentukan, filter harus diberi nama. Nama filter aktif akan dilaporkan ke Google SecOps melalui metrik kesehatan forwarder. Filter yang ditentukan di root konfigurasi digabungkan dengan filter yang ditentukan di level kolektor. Filter tingkat kolektor lebih diutamakan jika ada nama yang bertentangan. Jika tidak ada filter yang ditentukan di tingkat root atau kolektor, perilakunya adalah mengizinkan semua log.
Contoh konfigurasi
Dalam konfigurasi forwarder berikut, log WINEVTLOG
yang tidak cocok dengan filter root (allow_filter
) akan diblokir. Dengan ekspresi reguler, filter hanya mengizinkan log dengan prioritas antara 0 dan 99.
Namun, log NIX_SYSTEM
apa pun yang berisi 'foo' atau 'bar' akan diblokir,
terlepas dari allow_filter
. Hal ini karena filter menggunakan OR logis. Semua log diproses hingga filter dipicu.
regex_filters: allow_filter: regexp: ^<[1-9][0-9]?$>.*$ behavior_on_match: allow collectors: - syslog: common: regex_filters: block_filter_1: regexp: ^.*foo.*$ behavior_on_match: block block_filter_2: regexp: ^.*bar.*$ batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:NIX_SYSTEM
enabled: true tcp_address: 0.0.0.0:30000 connection_timeout_sec: 60 - syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:WINEVTLOG
enabled: true tcp_address: 0.0.0.0:30001 connection_timeout_sec: 60
Label arbitrer
Label digunakan untuk melampirkan metadata kustom ke log menggunakan pasangan nilai kunci. Anda dapat mengonfigurasi label untuk seluruh forwarder atau dalam kolektor forwarder tertentu. Jika keduanya ada, label tingkat kolektor akan menggantikan label tingkat forwarder jika kunci tumpang-tindih.
Contoh konfigurasi
Dalam konfigurasi forwarder berikut, pasangan kunci dan nilai 'foo=bar' dan 'meow=mix' dilampirkan ke log WINEVTLOG
, dan pasangan kunci dan nilai 'foo=baz' dan 'meow=mix' dilampirkan ke log NIX_SYSTEM
.
metadata: labels: foo: bar meow: mix collectors: syslog: common: metadata: labels: foo: baz meow: mix batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:NIX_SYSTEM
enabled: true tcp_address: 0.0.0.0:30000 connection_timeout_sec: 60 syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:WINEVTLOG
enabled: true tcp_address: 0.0.0.0:30001 connection_timeout_sec: 60
Namespace
Anda dapat menggunakan label namespace untuk mengidentifikasi log dari segmen jaringan yang berbeda dan menyelesaikan konflik alamat IP yang tumpang-tindih. Setiap namespace yang dikonfigurasi untuk pengirim akan muncul dengan aset terkait di antarmuka pengguna Google SecOps. Anda juga dapat menelusuri namespace menggunakan fitur Google SecOps Search.
Untuk mengetahui informasi tentang cara melihat namespace di antarmuka pengguna Google SecOps, lihat Namespace aset.
Contoh konfigurasi
Dalam konfigurasi forwarder berikut, log WINEVTLOG
disertakan ke namespace FORWARDER dan log NIX_SYSTEM
disertakan ke namespace CORPORATE.
metadata: namespace: FORWARDER collectors: - syslog: common: metadata: namespace: CORPORATE batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:NIX_SYSTEM
enabled: true tcp_address: 0.0.0.0:30000 connection_timeout_sec: 60 - syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:WINEVTLOG
enabled: true tcp_address: 0.0.0.0:30001 connection_timeout_sec: 60
Opsi load balancing dan ketersediaan tinggi
Anda dapat mengonfigurasi server HTTP, load balancing, dan opsi ketersediaan tinggi di bagian server file konfigurasi forwarder. Opsi ini mendukung setelan durasi waktu tunggu dan kode status yang ditampilkan sebagai respons terhadap health check yang diterima di penjadwal penampung dan deployment berbasis orkestrasi, serta dari load balancer.
Gunakan jalur URL berikut untuk pemeriksaan kesehatan, kesiapan, dan keaktifan.
Nilai <host:port>
ditentukan dalam konfigurasi forwarder.
http://<host:port>/meta/available
: Pemeriksaan keaktifan untuk penjadwal atau pengatur penampunghttp://<host:port>/meta/ready
: Pemeriksaan kesiapan dan health check load balancer
Konfigurasi forwarder berikut adalah contoh untuk load balancing dan ketersediaan tinggi:
collectors: - syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:NIX_SYSTEM
enabled: true tcp_address: 0.0.0.0:30000 connection_timeout_sec: 60 - syslog: common: batch_n_bytes: 1048576 batch_n_seconds: 10 data_hint: null data_type:WINEVTLOG
enabled: true tcp_address: 0.0.0.0:30001 connection_timeout_sec: 60 server: graceful_timeout: 15s drain_timeout: 10s http: port: 8080 host: 0.0.0.0 read_timeout: 3s read_header_timeout: 3s write_timeout: 3s idle_timeout: 3s routes: - meta: available_status: 204 ready_status: 204 unready_status: 503
Jalur konfigurasi | Deskripsi |
---|---|
server : graceful_timeout | Jumlah waktu yang diperlukan forwarder untuk menampilkan kesiapan/health check yang buruk dan masih menerima koneksi baru. Ini juga merupakan waktu tunggu antara menerima sinyal untuk berhenti dan benar-benar memulai penonaktifan server itu sendiri. Hal ini memungkinkan load balancer memiliki waktu untuk menghapus forwarder dari kumpulan. |
server : drain_timeout | Jumlah waktu yang ditunggu penerusan agar koneksi aktif berhasil ditutup sendiri sebelum ditutup oleh server. |
server : http : port | Nomor port yang diproses server HTTP untuk health check dari load balancer. Harus antara 1024-65535. |
server : http : host | Alamat IP, atau nama host yang dapat di-resolve ke alamat IP, yang harus didengarkan server. Jika kosong, nilai defaultnya adalah sistem lokal (0.0.0.0). |
server : http : read_timeout | Digunakan untuk menyesuaikan server HTTP. Biasanya, tidak perlu diubah dari pengaturan default. Jumlah waktu maksimum yang diizinkan untuk membaca seluruh permintaan, baik header maupun isi. Anda dapat menetapkan read_timeout dan read_header_timeout. |
server : http : read_header_timeout | Digunakan untuk menyesuaikan server HTTP. Biasanya, tidak perlu diubah dari pengaturan default. Jumlah waktu maksimum yang diizinkan untuk membaca header permintaan. Batas waktu baca koneksi direset setelah membaca header. |
server : http : write_timeout | Digunakan untuk menyesuaikan server HTTP. Biasanya, tidak perlu diubah dari pengaturan default. Jumlah waktu maksimum yang diizinkan untuk mengirim respons. Nilai ini direset saat header permintaan baru dibaca. |
server : http : idle_timeout | Digunakan untuk menyesuaikan server HTTP. Biasanya, tidak perlu diubah dari pengaturan default. Jumlah waktu maksimum untuk menunggu permintaan berikutnya saat koneksi tidak ada aktivitas diaktifkan. Jika idle_timeout nol, nilai read_timeout akan digunakan. Jika keduanya nol, read_header_timeout akan digunakan. |
routes : meta : ready_status | Kode status yang ditampilkan oleh forwarder saat siap menerima traffic
dalam salah satu situasi berikut:
|
routes : meta : unready_status | Kode status yang ditampilkan forwarder saat belum siap menerima traffic. |
routes : meta : available_status | Kode status yang ditampilkan pengirim saat pemeriksaan keaktifan diterima dan pengirim tersedia. Penjadwal atau orkestrator penampung sering mengirim pemeriksaan keaktifan. |