Mengelola file konfigurasi penerus secara manual

Didukung di:

Halaman ini menjelaskan cara membuat dan mengubah file konfigurasi penerusan Google Security Operations secara manual. Untuk mengonfigurasi penerusan melalui UI (direkomendasikan), lihat Mengelola konfigurasi penerusan melalui UI Google SecOps.

Setiap penerus Google SecOps yang di-deploy memerlukan file konfigurasi penerus. File konfigurasi penerusan menentukan setelan untuk mentransfer data ke instance Google SecOps Anda.

Untuk mengetahui informasi tentang cara menginstal dan mengonfigurasi penerus Google SecOps, persyaratan sistem, dan detail tentang setelan konfigurasi, lihat Menginstal dan mengonfigurasi penerus.

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:

  1. Download file konfigurasi melalui UI.

  2. 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.

  3. Ubah file untuk menyertakan konfigurasi untuk instance penerusan Anda.

    Untuk mengetahui detail tentang setelan untuk setiap jenis mekanisme penyerapan, seperti Splunk atau Syslog, lihat Menentukan jenis data dalam file konfigurasi. Untuk mengetahui detail tentang cara menyesuaikan setiap atribut, seperti kompresi data atau penyimpanan dalam disk, lihat Mengonfigurasi atribut utama dalam file konfigurasi.

  4. 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 dilakukan 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.

Konfigurasi contoh dua file

Sistem dua 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 langsung di mesin fisik atau virtual yang menjalankan forwarder.

Contoh kode berikut menunjukkan format file konfigurasi untuk penerus.

File FORWARDER_NAME.conf

output:
  url: {region}-chronicle.googleapis.com (for example: us-chronicle.googleapis.com)
  use_dataplane : true
  project_id: PROJECT_ID
  region: {region} (for example: {us})
  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: us-chronicle.googleapis.com
  use_dataplane: true
  project_id: PROJECT_ID
  region: us
    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 sistem satu file ke sistem dua file

Jika Anda menggunakan satu file konfigurasi dan ingin beralih ke sistem dua file, lakukan hal berikut:

  1. Buat salinan file konfigurasi yang ada.

  2. Simpan satu file sebagai file FORWARDER_NAME.conf dan hapus kredensial otorisasi dari file tersebut.

  3. Simpan file lainnya sebagai file FORWARDER_NAME_auth.conf dan hapus semua data non-otorisasi dari file tersebut. Anda dapat menggunakan contoh konfigurasi sebagai referensi. Pastikan Anda mengikuti konvensi penamaan dan panduan lainnya yang disebutkan di bagian Menyesuaikan konfigurasi.

Menentukan jenis data dalam file konfigurasi

Bagian berikut membantu Anda mengonfigurasi penerus Google SecOps untuk menyerap berbagai jenis data, yang diteruskan ke instance Google SecOps.

Data Splunk

Anda dapat mengonfigurasi penerusan Google SecOps untuk meneruskan data Splunk ke Google SecOps. Google Cloud mengonfigurasi penerusan 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 membuat 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 untuk penerus Google SecOps. Anda dapat melakukannya dengan membuat file creds.txt.

Untuk menggunakan file creds.txt:

  1. Buat file lokal untuk kredensial Splunk Anda dan beri nama creds.txt.

  2. Masukkan nama pengguna Anda di baris pertama dan sandi di baris kedua:

    cat creds.txt
    
    myusername
    mypassword
    
  3. Untuk menggunakan penerus Google SecOps guna mengakses instance Splunk, salin file creds.txt ke direktori config (direktori yang sama tempat file konfigurasi berada).

    Linux

    cp creds.txt /opt/chronicle/config/creds.txt
    

    Windows

    cp creds.txt c:/opt/chronicle/config/creds.txt
    
  4. Verifikasi bahwa file creds.txt berada di direktori yang diinginkan:

    Linux

      ls /opt/chronicle/config
    

    Windows

    ls c:/opt/chronicle/config
    

Data syslog

Forwarder 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 penerus Google SecOps. Anda dapat mengontrol data yang dikirim server ke penerus, lalu penerus dapat meneruskan data tersebut ke Google SecOps.

File konfigurasi FORWARDER_NAME.conf (disediakan oleh Google Cloud) menentukan port mana yang akan dipantau untuk setiap jenis data yang diteruskan (misalnya, port 10514). Secara default, penerus 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 penerus Google SecOps. Dalam file konfigurasi penerusan (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 penerusan (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 daripada 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 container Docker. Anda dapat menggunakan opsi ini jika ingin mengupload log secara manual dari satu file log.

Mulai penerusan Google SecOps dari container Docker untuk memetakan volume beban ke container:

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 contoh kode adalah contoh. Ganti nomor port sesuai kebutuhan Anda.

Berdasarkan contoh, Anda dapat mengubah konfigurasi penerusan 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 tanda

skip_seek_to_end (bool): Flag ini disetel ke false secara default dan input file hanya mengirimkan 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 berguna dalam situasi tertentu (misalnya, selama gangguan), karena memulai ulang penerusan akan mengirimkan kembali baris log yang hilang.

poll (bool): Pengumpul file menggunakan library Tail untuk memeriksa perubahan apa pun dalam sistem file. Dengan menyetel flag ini ke true, library Tail menggunakan metode polling, bukan metode notifikasi default.

Data paket

Forwarder Google SecOps dapat mengambil paket, bukan entri log, langsung dari antarmuka jaringan.

Sistem Linux

Penerusan SecOps Google dapat merekam paket menggunakan libcap di Linux. Untuk mengetahui informasi selengkapnya tentang libcap, lihat libcap - halaman manual Linux.

Alih-alih entri log, paket jaringan mentah diambil dan dikirim ke Google SecOps. Pengambilan ini terbatas pada antarmuka lokal. Untuk mengaktifkan perekaman paket untuk sistem Anda, hubungi Dukungan SecOps Google.

Google SecOps mengonfigurasi penerus Google SecOps dengan ekspresi Berkeley Packet Filter (BPF) yang digunakan saat merekam paket (misalnya, port 53 dan bukan localhost). Untuk mengetahui informasi selengkapnya, lihat Filter paket Berkeley.

Sistem Windows

Forwarder Google SecOps dapat merekam paket menggunakan Npcap di sistem Windows.

Alih-alih entri log, paket jaringan mentah diambil dan dikirim ke Google SecOps. Pengambilan ini terbatas pada antarmuka lokal. Untuk mengonfigurasi penerusan Google SecOps Anda untuk pengambilan paket, hubungi Dukungan Google SecOps.

Persyaratan untuk penerusan PCAP pengambilan paket:

  • Instal Npcap di host Microsoft Windows.

  • Beri penerus Google SecOps hak istimewa administrator atau root untuk memantau antarmuka jaringan.

  • Pada penginstalan Npcap, aktifkan mode kompatibilitas WinPcap.

Untuk mengonfigurasi penerusan PCAP, Google Cloud memerlukan GUID untuk antarmuka yang digunakan untuk merekam paket. Jalankan getmac.exe di komputer tempat Anda berencana menginstal penerusan Google SecOps (baik server maupun komputer yang memantau port rentang) dan kirim output ke Google SecOps.

Atau, Anda dapat mengubah file konfigurasi. Cari 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 Transportasi dimulai dengan \Device\Tcpip, sedangkan bagian pcap yang sebanding dimulai dengan \Device\NPF.

Data dari topik Kafka

Forwarder Google SecOps mendukung penyerapan data langsung dari topik Kafka. Anda dapat men-deploy hingga tiga penerus dan menarik data dari topik Kafka yang sama dengan memanfaatkan konsep grup konsumen untuk pemrosesan yang efisien dan paralel. Untuk mengetahui informasi selengkapnya, lihat Kafka. Untuk mengetahui informasi selengkapnya tentang grup konsumen Kafka, lihat Konsumen Kafka.

Konfigurasi penerusan berikut menunjukkan cara menyiapkan penerus 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

Forwarder Google SecOps dapat merekam data WebProxy langsung dari antarmuka jaringan.

Linux

Forwarder Google SecOps dapat merekam data WebProxy menggunakan libcap di Linux. Untuk mengetahui informasi selengkapnya tentang libcap, lihat libcap - halaman manual Linux. Untuk mengaktifkan pengambilan data WebProxy untuk sistem Anda, hubungi Dukungan Google SecOps.

Ubah konfigurasi penerus 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

Forwarder dapat merekam data WebProxy menggunakan Npcap dan mengirimkannya ke Google Cloud.

Untuk mengaktifkan pengambilan data WebProxy untuk sistem Anda, hubungi Dukungan Google SecOps.

Sebelum Anda menjalankan penerus WebProxy, ikuti langkah-langkah berikut:

  1. Instal Npcap di host Microsoft Windows. Aktifkan mode kompatibilitas WinPcap selama penginstalan.

  2. Berikan hak istimewa root atau administrator ke penerus untuk memantau antarmuka jaringan.

  3. Dapatkan GUID untuk antarmuka yang digunakan untuk merekam paket WebProxy.

    Jalankan getmac.exe di komputer tempat Anda ingin menginstal penerus Google SecOps dan mengirim 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 menjalankan getmac.exe.

    Ubah file konfigurasi penerus 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 utama dalam file konfigurasi

Tabel berikut mencantumkan parameter penting yang digunakan dalam file konfigurasi penerus.

Parameter Deskripsi
data_type Jenis data log yang dapat dikumpulkan dan diproses oleh pengumpul.
metadata Metadata, yang menggantikan metadata global.
max_file_buffer_bytes Jumlah maksimum byte yang dapat diakumulasikan dalam buffer disk atau file. Nilai defaultnya adalah 1073741824, yaitu 1 GB.
max_memory_buffer_bytes Jumlah maksimum byte yang dapat diakumulasikan dalam buffer memori. Nilai defaultnya adalah 1073741824, yaitu 1 GB.
write_to_disk_dir_path Jalur yang akan digunakan untuk buffer file atau disk.
write_to_disk_buffer_enabled Jika true, buffer disk digunakan, bukan buffer memori. Nilai defaultnya adalah false.
batch_n_bytes Jumlah maksimum byte yang dapat dikumpulkan oleh pengumpul setelah itu data dikelompokkan. Nilai defaultnya adalah 1048576, yaitu 1 MB.
batch_n_seconds Jumlah detik setelah data yang dikumpulkan oleh pengumpul data di-batch. Nilai default-nya adalah 11 detik.
data_hint Format data yang dapat diterima pengumpul (biasanya header file log yang mendeskripsikan format).

Untuk daftar lengkap parameter yang digunakan dalam file konfigurasi, lihat Kolom konfigurasi penerusan dan Kolom konfigurasi pengumpul.

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, setel kolom compression ke true dalam file konfigurasi penerusan 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 ke memori.

Anda dapat mengonfigurasi buffering memori otomatis untuk menggunakan buffer yang dibagikan secara dinamis di seluruh pengumpul, yang menangani lonjakan traffic dengan lebih baik. Untuk mengaktifkan buffer yang dibagikan secara dinamis, tambahkan kode berikut dalam konfigurasi penerus Anda:

auto_buffer:
  enabled: true
  target_memory_utilization: 80

Jika buffering disk otomatis diaktifkan, tetapi target_memory_utilization tidak ditentukan, nilai default 70 akan digunakan.

Jika Anda menjalankan penerusan menggunakan Docker, sebaiknya pasang volume terpisah dari volume konfigurasi Anda untuk tujuan isolasi. Selain itu, setiap input harus diisolasi dengan direktori atau volume sendiri untuk menghindari konflik.

Contoh konfigurasi

Konfigurasi berikut mencakup 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, penerus akan memblokir log apa pun yang tidak cocok dengan setidaknya satu filter allow.

Anda dapat menentukan sejumlah filter yang diinginkan. Filter Block lebih diutamakan daripada filter allow.

Jika ditentukan, filter harus diberi nama. Nama filter aktif akan dilaporkan ke Google SecOps melalui metrik kesehatan penerusan. Filter yang ditentukan di root konfigurasi digabungkan dengan filter yang ditentukan di level pengumpul. Filter tingkat pengumpul lebih diprioritaskan jika ada nama yang bertentangan. Jika tidak ada filter yang ditentukan di tingkat root atau pengumpul, semua log akan diizinkan.

Contoh konfigurasi

Dalam konfigurasi penerusan berikut, log WINEVTLOG yang tidak cocok dengan filter root (allow_filter) akan diblokir. Mengingat ekspresi reguler, filter hanya mengizinkan log dengan prioritas antara 0 dan 99. Namun, log NIX_SYSTEM yang berisi 'foo' atau 'bar' diblokir, meskipun ada 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 key-value pair. Anda dapat mengonfigurasi label untuk seluruh penerus atau dalam pengumpul tertentu dari penerus. Jika keduanya ada, label tingkat pengumpul akan menggantikan label tingkat penerusan jika kunci tumpang-tindih.

Contoh konfigurasi

Dalam konfigurasi penerusan berikut, pasangan nilai dan kunci 'foo=bar' dan 'meow=mix' dilampirkan ke log WINEVTLOG, dan pasangan nilai dan kunci '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 mengatasi pertentangan alamat IP yang tumpang-tindih. Namespace apa pun yang dikonfigurasi untuk penerusan akan muncul dengan aset terkait di antarmuka pengguna Google SecOps. Anda juga dapat menelusuri namespace menggunakan fitur Penelusuran SecOps Google.

Untuk mengetahui informasi tentang cara melihat namespace di antarmuka pengguna Google SecOps, lihat Namespace aset.

Contoh konfigurasi

Dalam konfigurasi penerusan berikut, log WINEVTLOG dilampirkan ke namespace FORWARDER dan log NIX_SYSTEM dilampirkan 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 pada file konfigurasi penerus. Opsi ini mendukung penetapan durasi waktu tunggu dan kode status yang ditampilkan sebagai respons terhadap pemeriksaan kondisi yang diterima dalam deployment berbasis orkestrasi dan penjadwal penampung, serta dari load balancer.

Gunakan jalur URL berikut untuk pemeriksaan kesehatan, kesiapan, dan keaktifan. Nilai <host:port> ditentukan dalam konfigurasi penerusan.

  • http://<host:port>/meta/available: Pemeriksaan keaktifan untuk penjadwal atau orkestrator kontainer
  • http://<host:port>/meta/ready: Pemeriksaan kesiapan dan health check load balancer

Konfigurasi penerusan 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 saat penerusan menampilkan health check/kesiapan 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 penerusan dari pool.
server : drain_timeout Jumlah waktu yang ditunggu penerus 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 diselesaikan menjadi alamat IP, yang harus didengarkan oleh 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 setelan default. Jumlah waktu maksimum yang diizinkan untuk membaca seluruh permintaan, baik header maupun isi. Anda dapat menyetel read_timeout dan read_header_timeout.
server : http : read_header_timeout Digunakan untuk menyesuaikan server HTTP. Biasanya, tidak perlu diubah dari setelan 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 setelan 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 setelan default. Jumlah waktu maksimum untuk menunggu permintaan berikutnya saat koneksi tidak ada aktivitas diaktifkan. Jika idle_timeout bernilai nol, nilai read_timeout akan digunakan. Jika keduanya nol, read_header_timeout akan digunakan.
routes : meta : ready_status Kode status yang ditampilkan penerus saat siap menerima traffic dalam salah satu situasi berikut:
  • Pemeriksaan kesiapan diterima dari penjadwal atau pengelola container.
  • Health check diterima dari load balancer tradisional.
routes : meta : unready_status Kode status yang ditampilkan penerus saat tidak siap menerima traffic.
routes : meta : available_status Kode status yang ditampilkan penerusan saat pemeriksaan keaktifan diterima dan penerusan tersedia. Penjadwal atau orkestrator container sering mengirimkan pemeriksaan keaktifan.

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