Menginstal dan mengonfigurasi forwarder

Didukung di:

Dokumen ini menjelaskan cara menginstal dan mengonfigurasi forwarder Google Security Operations di sistem Linux dan Windows menggunakan Docker.

Pengirim adalah komponen software yang dapat Anda instal di komputer atau perangkat, seperti server, dalam jaringan Anda. Alat ini mengumpulkan data log dan meneruskan data tersebut ke instance Google SecOps Anda.

Anda dapat menggunakan forwarder untuk mengirim log langsung dari lingkungan Anda ke Google SecOps, tanpa memerlukan bucket cloud atau API pihak ketiga untuk jenis log yang tidak didukung. Pengirim berfungsi sebagai solusi siap di-deploy, sehingga tidak perlu integrasi manual dengan API penyerapan.

Google SecOps menyediakan penampung Docker untuk deployment forwarder yang aman. Anda dapat menjalankan dan mengelola container Docker di mesin fisik atau virtual.

Persyaratan sistem

Berikut adalah rekomendasi umum. Untuk mendapatkan rekomendasi khusus sistem Anda, hubungi Dukungan Google SecOps.

Sistem Linux

Pengirim didukung di berbagai distribusi Linux seperti Debian, Ubuntu, Red Hat, dan Suse. Untuk performa yang optimal, sebaiknya gunakan Docker versi 20.10.21 atau yang lebih baru.

  • RAM: RAM 1 GB diperlukan untuk setiap jenis data yang dikumpulkan yang diterima Google SecOps untuk penyerapan. Misalnya, jika Anda menentukan empat kolektor yang berbeda, Anda memerlukan RAM 4 GB untuk mengumpulkan data untuk keempatnya.

  • CPU: Dua CPU cukup untuk menangani hingga 10.000 peristiwa per detik (EPS) di semua jenis data. Jika Anda memperkirakan forwarder menangani lebih dari 10.000 EPS, alokasikan empat hingga enam CPU.

  • Disk: Ruang disk 20 GB direkomendasikan, terlepas dari jumlah data yang ditangani forwarder.

Sistem Windows

Pengirim didukung di Microsoft Windows Server 2022. Untuk performa yang optimal, sebaiknya gunakan Docker versi 20.10.21 atau yang lebih baru.

  • RAM: RAM 1,5 GB diperlukan untuk setiap jenis data yang dikumpulkan yang diterima Google SecOps untuk penyerapan. Misalnya, jika Anda menentukan empat kolektor yang berbeda, Anda memerlukan RAM 6 GB untuk mengumpulkan data untuk keempatnya.

  • CPU: Dua CPU cukup untuk menangani hingga 10.000 peristiwa per detik (EPS) di semua jenis data. Jika Anda memperkirakan bahwa forwarder akan menangani lebih dari 10.000 EPS, alokasikan empat hingga enam CPU.

  • Disk: Ruang disk 20 GB direkomendasikan, terlepas dari jumlah data yang ditangani forwarder.

Sebelum memulai

Sebelum memulai penerapan forwarder, pertimbangkan hal-hal berikut.

Rentang alamat IP Google

Saat mengonfigurasi forwarder, Anda mungkin perlu menyesuaikan setelan firewall yang mencakup menentukan rentang alamat IP. Rentang IP domain default yang digunakan oleh Google API dan layanan Google dialokasikan secara dinamis dan sering berubah. Lihat Mendapatkan rentang alamat IP Google untuk mengetahui informasi selengkapnya.

Memverifikasi konfigurasi firewall

Jika penampung penerusan berada di balik firewall atau proxy yang diautentikasi, Anda harus 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-west9-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 southamerica-east1-malachiteingestion-pa.googleapis.com 443
TCP accounts.google.com 443
TCP gcr.io 443
TCP cloud.google.com/artifact-registry 443
TCP oauth2.googleapis.com 443
TCP storage.googleapis.com 443

Merencanakan penerapan

Sebelum mulai mengonfigurasi penerusan, rencanakan penerapan Anda. Hal ini akan membantu Anda menyelaraskan sumber data dan atribut konfigurasi dengan tujuan keamanan, kemampuan infrastruktur, dan persyaratan skalabilitas.

Menentukan data yang akan diserap

Identifikasi sumber data yang paling relevan untuk forwarder Anda dari opsi berikut:

  • Splunk: Ideal jika Anda sudah menggunakan Splunk untuk pengelolaan log.

  • Syslog: Fleksibel untuk log sistem dan aplikasi dari berbagai perangkat.

  • File: Fleksibel untuk menyerap file log apa pun.

  • Packet: Menawarkan visibilitas jaringan yang mendalam dengan merekam traffic mentah.

  • Kafka: Ideal untuk agregasi log real-time dan bervolume tinggi dari sistem terdistribusi.

  • WebProxy: Ideal untuk mendapatkan insight tentang traffic web dan perilaku pengguna.

Batasan

Feed data memiliki ukuran baris log maksimum 4 MB.

Menentukan konfigurasi

Sebelum menginstal forwarder, tentukan atribut utama berikut untuk memastikan penerapan berhasil.

Kompresi data

Kompresi data atau log mengurangi konsumsi bandwidth jaringan saat mentransfer log ke Google SecOps. Namun, hal ini dapat menyebabkan peningkatan penggunaan CPU. Keseimbangan optimal antara penghematan bandwidth dan penggunaan CPU bergantung pada beberapa faktor seperti jenis log, kemampuan kompresi data, resource CPU yang tersedia, dan batasan bandwidth jaringan Anda.

Misalnya, log berbasis teks biasanya dikompresi dengan baik dan dapat memberikan penghematan bandwidth yang signifikan dengan penggunaan CPU yang rendah, sedangkan data terenkripsi atau biner mungkin tidak dikompresi secara efisien dan mungkin menimbulkan penggunaan CPU yang lebih tinggi.

Secara default, kompresi log dinonaktifkan. Evaluasi kompromi berdasarkan lingkungan tertentu dan sifat data log Anda.

Buffering disk

Sebaiknya aktifkan buffering disk. Buffering disk memungkinkan Anda melakukan buffering pesan yang tertunda ke disk, bukan memori, sehingga mencegah kehilangan data jika terjadi error pada penerusan atau host. Namun, mengaktifkan buffering disk dapat memengaruhi performa.

Jika buffering disk dinonaktifkan, penerusan akan mengalokasikan memori (RAM) sebesar 1 GB untuk setiap jenis log (misalnya, per konektor). Memori maksimum yang diizinkan untuk buffering disk adalah 4 GB.

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.

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.

Namespace

Anda dapat menggunakan label namespace untuk mengidentifikasi log dari segmen jaringan yang berbeda dan untuk menyelesaikan konflik alamat IP yang tumpang-tindih. Anda dapat mengonfigurasi label namespace untuk seluruh penerusan atau dalam kolektor penerusan tertentu. Jika keduanya ada, namespace tingkat kolektor akan menggantikan namespace tingkat forwarder.

Jenis log

Google SecOps mendukung berbagai jenis log. Untuk daftar lengkap, lihat Set data yang didukung.

Opsi load balancing dan ketersediaan tinggi

Load balancing hanya didukung untuk jenis pengumpulan syslog.

Pengirim dapat di-deploy di lingkungan tempat load balancer lapisan 4 diinstal di antara sumber data dan instance pengirim. Hal ini memungkinkan Anda mendistribusikan pengumpulan log di beberapa forwarder, sehingga meningkatkan keandalan dengan mengarahkan log ke forwarder lain jika terjadi kegagalan.

Penerusan memiliki server HTTP bawaan yang merespons health check dari load balancer dan mencegah hilangnya log selama startup dan shutdown. Anda dapat mengonfigurasi opsi server HTTP, load balancing, dan ketersediaan tinggi untuk menentukan durasi waktu tunggu dan kode status untuk pemeriksaan status. Konfigurasi ini kompatibel dengan deployment berbasis container dan load balancer.

Setelan Deskripsi
Waktu tunggu penghentian tuntas Jumlah waktu yang diperlukan untuk menerima koneksi baru setelah forwarder menampilkan status unready sebagai respons terhadap health check. Ini juga merupakan waktu tunggu antara menerima sinyal untuk berhenti dan sebenarnya memulai penonaktifan server itu sendiri. Tindakan ini memberi load balancer waktu untuk menghapus forwarder dari kumpulan.

Nilai yang valid dalam hitungan detik. Misalnya, untuk menentukan 10 detik, ketik 10. Nilai desimal tidak diizinkan.

Default: 15 detik
Waktu tunggu pengosongan Jumlah waktu yang ditunggu penerusan untuk koneksi aktif menutup sendiri sebelum ditutup oleh server. Misalnya, untuk menentukan 5 detik, ketik 5. Nilai desimal tidak diizinkan.

Default: 10 detik
Port Nomor port yang diproses server HTTP untuk health check dari load balancer. Nilai harus antara 1.024 hingga 65.535.

Default: 8080
Alamat IP atau nama host Alamat IP atau nama host yang dapat di-resolve menjadi alamat IP, yang harus didengarkan server.

Default: 0.0.0.0 (sistem lokal)
Waktu tunggu baca Digunakan untuk menyesuaikan server HTTP. Biasanya, tidak perlu diubah dari setelan default. Waktu maksimum yang diizinkan untuk membaca seluruh permintaan, baik header maupun isi. Anda dapat menetapkan kolom waktu tunggu baca dan kolom waktu tunggu header baca.

Default: 3 detik
Waktu tunggu header baca Digunakan untuk menyesuaikan server HTTP. Biasanya, tidak perlu diubah dari setelan default. Waktu maksimum yang diizinkan untuk membaca header permintaan. Batas waktu baca koneksi direset setelah membaca header.

Default: 3 detik
Waktu tunggu operasi tulis Digunakan untuk menyesuaikan server HTTP. Biasanya, tidak perlu diubah dari setelan default. Waktu maksimum yang diizinkan untuk mengirim respons. Nilai ini direset saat header permintaan baru dibaca.

Default: 3 detik
Waktu tunggu tidak ada aktivitas Digunakan untuk menyesuaikan server HTTP. Biasanya, tidak perlu diubah dari setelan default. Waktu maksimum untuk menunggu permintaan berikutnya saat koneksi tidak ada aktivitas diaktifkan. Jika kolom idle timeout ditetapkan ke nol, nilai kolom read timeout akan digunakan. Jika keduanya nol, kolom waktu tunggu header baca akan digunakan.

Default: 3 detik
Kode status yang tersedia Kode status yang ditampilkan pengirim saat pemeriksaan keaktifan diterima dan pengirim tersedia. Penjadwal dan orkestrator penampung sering mengirim pemeriksaan keaktifan.

Default: 204
Kode status siap Kode status yang ditampilkan forwarder saat siap menerima traffic dalam salah satu situasi berikut:
  • Pemeriksaan kesiapan diterima dari penjadwal atau orkestrator penampung.
  • Health check diterima dari load balancer.
Default: 204
Kode status belum siap Kode status yang ditampilkan forwarder saat belum siap menerima traffic.

Default: 503

Langkah 1: Tentukan konfigurasi penerusan

Setiap forwarder yang di-deploy memerlukan file konfigurasi forwarder. File konfigurasi forwarder menentukan setelan untuk mentransfer data ke instance Google SecOps Anda. Sebaiknya buat file konfigurasi baru untuk setiap host agar perbedaan antara kolektor yang terkait dengan setiap host tetap jelas.

Google Cloud menyesuaikan file konfigurasi ini dengan metadata tertentu untuk setiap instance forwarder. Anda dapat mengubah file ini agar sesuai dengan persyaratan spesifik dan menyertakan detail tentang jenis log yang ingin ditransfer.

Anda dapat membuat file konfigurasi forwarder melalui UI, melalui API, atau secara manual.

  • UI menyediakan antarmuka grafis untuk mengonfigurasi forwarder dan merupakan metode yang direkomendasikan untuk membuat konfigurasi forwarder. Ini adalah cara termudah untuk memulai dan tidak memerlukan pemrograman apa pun. Untuk mendownload file konfigurasi menggunakan antarmuka pengguna Google SecOps, lihat Mengelola konfigurasi forwarder melalui UI Google SecOps.

  • API ini menyediakan cara terprogram untuk mengonfigurasi forwarder. Untuk mendownload konfigurasi forwarder secara terprogram, lihat Forwarder Management API.

  • Anda dapat membuat file konfigurasi secara manual dan menambahkan opsi konfigurasi ke file tersebut. Sebaiknya gunakan metode UI untuk membuat file konfigurasi guna memastikan akurasi dan meminimalkan potensi error. Untuk membuat file secara manual, lihat Mengelola file konfigurasi forwarder secara manual.

Langkah 2: Instal Docker

Bagian ini menjelaskan cara menginstal Docker di sistem Anda.

Sistem Linux

Docker adalah open source dan semua dokumentasi yang diperlukan tersedia dari komunitas Docker open source. Untuk petunjuk penginstalan Docker, lihat Menginstal Docker Engine.

Untuk memeriksa apakah Docker terinstal dengan benar di sistem Anda, jalankan perintah berikut (memerlukan hak istimewa yang ditingkatkan):

   docker ps
  

Respons berikut menunjukkan bahwa Docker telah diinstal dengan benar:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

Sistem Windows

Mulai Windows PowerShell dengan hak istimewa administrator dan periksa konektivitas jaringan ke Google Cloud dengan mengikuti langkah-langkah berikut:

  1. Klik Mulai.

  2. Ketik PowerShell, lalu klik kanan Windows PowerShell.

  3. Klik Run as administrator.

  4. Jalankan perintah berikut:

    C:\> test-netconnection <host> -port <port>
    

    Output perintah menunjukkan bahwa status TcpTestSucceeded adalah true.

    Contoh:

    C:\> test-netconnection malachiteingestion-pa.googleapis.com -port 443
    ComputerName     :  malachiteingestion-pa.googleapis.com
    RemoteAddress    : 198.51.100.1
    RemotePort       : 443
    InterfaceAlias   : Ethernet
    SourceAddress    : 203.0.113.1
    TcpTestSucceeded : True
    

Untuk menginstal Docker, lakukan hal berikut di server Windows Anda.

  1. Aktifkan fitur penampung Microsoft Windows:

    Install-WindowsFeature containers -Restart
    
  2. Jalankan perintah berikut dalam mode Administrator PowerShell untuk menginstal Docker CE:

    Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/Windows-Containers/Main/helpful_tools/Install-DockerCE/install-docker-ce.ps1" -o install-docker-ce.ps1
    
    .\install-docker-ce.ps1
    
    
  3. Uji antarmuka command line Docker dengan menjalankan perintah docker ps, yang menampilkan daftar container yang berjalan. Jika Docker tidak diinstal dengan benar, error akan ditampilkan.

    Untuk mengetahui informasi selengkapnya, lihat Memulai: Mempersiapkan Windows untuk container.

    Untuk deployment perusahaan, instal Mirantis Container Runtime, juga dikenal sebagai Docker EE.

Langkah 3: Instal forwarder

Bagian ini menjelaskan cara menginstal forwarder menggunakan penampung Docker.

Langkah 3a: Pindahkan file konfigurasi ke direktori forwarder

Langkah pertama dalam proses penginstalan forwarder adalah menempatkan file konfigurasi yang diperlukan dalam direktori forwarder yang ditetapkan.

Sistem Linux

Tempatkan file konfigurasi di direktori forwarder dengan mengikuti langkah-langkah berikut:

  1. Hubungkan ke host forwarder Linux menggunakan terminal.

  2. Ubah direktori ke direktori utama yang menjalankan penampung Docker.

  3. Buat direktori untuk menyimpan file konfigurasi forwarder.

      mkdir /opt/chronicle/'CONFIG'
    

    Anda dapat mengganti nama direktori, CONFIG, dengan nama apa pun yang Anda inginkan. Pastikan Anda menggunakan nama direktori yang sama saat menjalankan perintah docker run.

  4. Ubah direktori.

      cd /opt/chronicle/config
    

  5. Setelah file ditransfer, pastikan file konfigurasi berada di direktori /opt/chronicle/config.

      ls -l
    

Sistem Windows

Buat folder C:\config dan tempatkan file konfigurasi di dalamnya. Anda dapat mengganti nama folder, config, dengan nama apa pun yang Anda pilih. Pastikan Anda menggunakan nama folder yang sama saat menjalankan perintah docker run.

Langkah 3b: Jalankan penerusan

Setelah file konfigurasi ditempatkan dalam direktori forwarder yang ditetapkan, Anda dapat memulai forwarder atau mengupgrade ke penampung Google SecOps versi terbaru.

Jika Anda mengupgrade penampung, bersihkan semua operasi Docker sebelumnya dengan menjalankan perintah berikut.

      docker stop 'cfps'
    

      docker rm 'cfps'
    

Dalam contoh, nama penampung Docker adalah cfps.

Untuk memulai penerusan untuk pertama kalinya atau mengupgrade ke versi terbaru penampung Google SecOps, lakukan hal berikut:

  1. Dapatkan image Docker terbaru dari Google Cloud:

    Sistem Linux:

        docker pull gcr.io/chronicle-container/cf_production_stable
    

    Sistem Windows:

      docker pull gcr.io/chronicle-container/cf_production_stable_windows
    
  2. Mulai forwarder dari penampung Docker:

    Sistem Linux:

      docker run \
        --detach \
        --name cfps \
        --restart=always \
        --log-opt max-size=100m \
        --log-opt max-file=10 \
        --net=host \
        -v /opt/chronicle/config:/opt/chronicle/external \
        gcr.io/chronicle-container/cf_production_stable
    

    Sistem Windows:

      docker run `
        --detach `
        --name cfps `
        --restart=always `
        --log-opt max-size=100m `
        --log-opt max-file=10 `
        -p 0.0.0.0:10515-10520:10515-10520/udp `
        -v C:\config\:C:/opt/chronicle/external `
        gcr.io/chronicle-container/cf_production_stable_windows
    

Opsi --log-opt tersedia sejak Docker 1.13. Opsi ini membatasi ukuran file log penampung dan harus digunakan selama versi Docker yang Anda gunakan mendukungnya.

Mengelola penerusan

Bagian berikut memberikan panduan tentang cara mengelola forwarder.

Melihat log forwarder

  • Untuk melihat log penerusan, jalankan perintah berikut:

    docker logs cfps
    
  • Untuk melihat jalur file tempat log disimpan, jalankan perintah berikut:

    docker inspect --format='{{.LogPath}}' CONTAINER_NAME
    
  • Untuk melihat log yang berjalan secara live, jalankan perintah berikut:

    docker logs cfps -f
    
  • Untuk menyimpan log dalam file, jalankan perintah berikut:

    docker logs cfps &> logs.txt
    

Meng-uninstal penerusan

Perintah Docker berikut membantu Anda menghentikan, meng-uninstal, atau menghapus penerusan.

  • Untuk menghentikan atau meng-uninstal penampung penerusan, jalankan perintah berikut:

    docker stop cfps
    
  • Untuk menghapus penampung forwarder, jalankan perintah berikut:

    docker rm cfps
    

Memperbarui pengirim

Pengirim terdiri dari dua komponen, masing-masing dengan proses update sebagai berikut:

  • Forwarder Bundle: Komponen ini diperbarui secara otomatis, sehingga tidak perlu memulai ulang.

  • Image Docker forwarder: Update pada komponen ini dilakukan secara manual. Anda harus menghentikan instance forwarder saat ini dan memulai yang baru, seperti yang dijelaskan dalam Langkah 3b.

Panduan penyerapan penerusan untuk set data tertentu

Untuk mempelajari cara set data tertentu diserap menggunakan forwarder, lihat artikel berikut: