Menginstal dan mengonfigurasi penerus
Dokumen ini menjelaskan cara menginstal dan mengonfigurasi forwarder Google Security Operations di sistem Linux dan Windows menggunakan Docker.
Forwarder adalah komponen software yang dapat Anda instal di mesin atau perangkat, seperti server, dalam jaringan Anda. Agen 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. Forwarder berfungsi sebagai solusi siap pakai, sehingga tidak perlu integrasi manual dengan API penyerapan.
Google SecOps menyediakan container 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 rekomendasi khusus sistem Anda, hubungi Dukungan Google SecOps.
Sistem Linux
Forwarder didukung di berbagai distribusi Linux seperti Debian, Ubuntu,
Red Hat, dan Suse. Untuk performa yang optimal, Anda harus menggunakan 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 sudah cukup untuk menangani hingga 10.000 peristiwa per detik (EPS) di semua jenis data. Jika Anda memperkirakan forwarder akan menangani lebih dari 10.000 EPS, alokasikan empat hingga enam CPU.
Disk: Direkomendasikan kapasitas disk sebesar 20 GB, terlepas dari jumlah data yang ditangani forwarder.
Sistem Windows
Forwarder didukung di Microsoft Windows Server 2022. Untuk performa yang optimal,
Anda harus menggunakan 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 sudah cukup untuk menangani hingga 10.000 peristiwa per detik (EPS) di semua jenis data. Jika Anda memperkirakan forwarder akan menangani lebih dari 10.000 EPS, alokasikan empat hingga enam CPU.
Disk: Direkomendasikan kapasitas disk sebesar 20 GB, terlepas dari jumlah data yang ditangani forwarder.
Sebelum memulai
Sebelum memulai penerapan forwarder, pertimbangkan hal berikut.
Rentang alamat IP Google
Saat mengonfigurasi forwarder, Anda mungkin perlu menyesuaikan setelan firewall yang melibatkan penentuan 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 container penerusan berjalan di balik firewall atau proxy yang diautentikasi, berikan akses keluar 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 | eu-chronicle.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 | www.googleapis.com |
443 |
| TCP | storage.googleapis.com |
443 |
Merencanakan penerapan Anda
Sebelum mulai mengonfigurasi forwarder, rencanakan implementasi Anda. Hal ini akan membantu Anda menyelaraskan sumber data dan atribut konfigurasi dengan tujuan keamanan, kemampuan infrastruktur, dan persyaratan skalabilitas Anda.
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: Serbaguna untuk log sistem dan aplikasi dari berbagai perangkat.
File: Fleksibel untuk menyerap file log apa pun.
Paket: Menawarkan visibilitas jaringan yang mendalam dengan menangkap 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 keberhasilan implementasi.
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, kompresibilitas 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 dapat menimbulkan penggunaan CPU yang lebih tinggi.
Secara default, kompresi log dinonaktifkan. Evaluasi konsekuensinya berdasarkan lingkungan spesifik dan sifat data log Anda.
Buffering disk
Sebaiknya aktifkan buffering disk. Buffering disk memungkinkan Anda melakukan buffering pesan yang tertunda ke disk, bukan ke memori, sehingga melindungi dari kehilangan data jika terjadi error pada penerus atau host. Namun, mengaktifkan buffering disk dapat memengaruhi performa.
Jika buffering disk dinonaktifkan, forwarder 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 mengevaluasi pola terhadap data log mentah menggunakan sintaksis RE2. Setiap filter harus menyertakan ekspresi reguler dan dapat menentukan perilaku secara opsional saat terjadi kecocokan.
Label arbitrer
Label digunakan untuk melampirkan metadata kustom ke log menggunakan key-value pair. Anda dapat mengonfigurasi label untuk seluruh forwarder atau dalam kolektor tertentu dari forwarder. 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 mengatasi pertentangan alamat IP yang tumpang tindih. Anda dapat mengonfigurasi label namespace untuk seluruh forwarder atau dalam kolektor tertentu dari forwarder. 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.
Forwarder dapat di-deploy di lingkungan tempat load balancer lapisan 4 diinstal antara sumber data dan instance forwarder. Dengan demikian, Anda dapat mendistribusikan pengumpulan log ke beberapa forwarder, sehingga meningkatkan keandalan dengan mengalihkan log ke forwarder lain jika terjadi kegagalan.
Forwarder memiliki server HTTP bawaan yang merespons health check dari load balancer dan mencegah kehilangan 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 health check. Konfigurasi ini kompatibel dengan deployment berbasis container dan load balancer.
| Setelan | Deskripsi |
|---|---|
| Waktu tunggu yang halus | Durasi waktu koneksi baru diterima setelah forwarder menampilkan status unready sebagai respons terhadap health check.
Ini juga merupakan waktu tunggu antara menerima sinyal untuk berhenti dan
benar-benar memulai penonaktifan server itu sendiri. Tindakan ini memberi
load balancer waktu untuk menghapus forwarder dari pool.Nilai yang valid adalah dalam detik. Misalnya, untuk menentukan 10 detik, ketik 10.
Nilai desimal tidak diizinkan.Default: 15 detik |
| Waktu tunggu pengosongan | Jumlah waktu yang diperlukan penerus untuk menunggu koneksi aktif ditutup dengan sendirinya sebelum ditutup oleh server. Misalnya, untuk menentukan 5 detik, ketik 5.
Nilai desimal tidak diizinkan.Default: 10 detik |
| Port | Nomor port yang dipantau server HTTP untuk health check dari load balancer. Nilainya 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 diproses oleh 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 read timeout dan kolom read header timeout. 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 pembacaan koneksi direset setelah membaca header. Default: 3 detik |
| Waktu tunggu 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 read header timeout akan digunakan. Default: 3 detik |
| Kode status yang tersedia | Kode status yang ditampilkan forwarder saat pemeriksaan keaktifan diterima dan forwarder tersedia. Scheduler dan orchestrator container sering mengirimkan pemeriksaan keaktifan. Default: 204 |
| Kode status siap | Kode status yang ditampilkan forwarder saat siap menerima traffic dalam salah satu situasi berikut:
|
| Kode status belum siap | Kode status yang ditampilkan forwarder saat tidak siap menerima traffic. Default: 503 |
Langkah 1: Tentukan konfigurasi forwarder
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 guna mempertahankan perbedaan yang jelas antara kolektor yang terkait dengan setiap host.
Google Cloud menyesuaikan file konfigurasi ini dengan metadata tertentu untuk setiap instance forwarder. Anda dapat mengubah file ini agar sesuai dengan persyaratan spesifik Anda dan menyertakan detail tentang jenis log yang ingin Anda serap.
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 penerus secara terprogram, lihat Forwarder Management API.
Anda dapat membuat file konfigurasi secara manual dan menambahkan opsi konfigurasi ke dalamnya. 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.
Autentikasi Docker dengan Artifact Registry
Sebagai bagian dari penginstalan docker, Anda perlu mengautentikasi docker. Anda dapat mengautentikasi docker menggunakan Antarmuka Command Line (CLI) Google Cloud CLI atau, jika Anda tidak dapat menginstal Google Cloud CLI (Antarmuka Command Line), dengan membuat JSON akun layanan baru di VM.
Metode satu: Menggunakan Antarmuka Command Line (CLI) Google Cloud CLI
Jalankan perintah berikut untuk mengautentikasi Docker:
gcloud auth configure-docker gcr.io
Metode dua: Buat dan download JSON akun layanan baru di Virtual Machine (VM).
Gunakan metode ini jika Anda tidak dapat menginstal Google Cloud CLI (Command Line Interface).
Jalankan perintah berikut untuk mengautentikasi Docker:
cat key.json | docker login -u _json_key --password-stdin https://gcr.io
Untuk mempelajari lebih lanjut metode tambahan untuk autentikasi Docker, lihat : Mengonfigurasi autentikasi ke Artifact Registry untuk Docker
Sistem Linux
Docker bersifat open source dan semua dokumentasi yang diperlukan tersedia dari komunitas Docker open source. Untuk mengetahui petunjuk penginstalan Docker, lihat Menginstal Docker Engine.
Untuk memeriksa apakah Docker telah diinstal 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:
Klik Mulai.
Ketik
PowerShelldan klik kanan Windows PowerShell.Klik Run as administrator.
Jalankan perintah berikut:
C:\> test-netconnection <host> -port <port>Output perintah menunjukkan bahwa status
TcpTestSucceededadalahtrue.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.
Aktifkan fitur container Microsoft Windows:
Install-WindowsFeature containers -RestartJalankan 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.ps1Uji antarmuka command line Docker dengan menjalankan perintah
docker ps, yang menampilkan daftar container yang sedang 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, yang juga dikenal sebagai Docker EE.
Langkah 3: Instal forwarder
Bagian ini menjelaskan cara menginstal forwarder menggunakan container 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 ditentukan.
Sistem Linux
Tempatkan file konfigurasi di direktori forwarder dengan mengikuti langkah-langkah berikut:
Hubungkan ke host forwarder Linux menggunakan terminal.
Ubah direktori ke direktori utama yang menjalankan container Docker.
Buat direktori untuk menyimpan file konfigurasi forwarder.
mkdir /opt/chronicle/'CONFIG'
Anda dapat mengganti nama direktori,
CONFIGdengan nama apa pun yang Anda inginkan. Pastikan Anda menggunakan nama direktori yang sama saat menjalankan perintahdocker run.Ubah direktori.
cd /opt/chronicle/config
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 pilihan Anda. Pastikan
Anda menggunakan nama folder yang sama saat menjalankan perintah docker run.
Langkah 3b: Jalankan forwarder
Setelah file konfigurasi ditempatkan dalam direktori forwarder yang ditentukan, Anda dapat memulai forwarder atau mengupgrade ke versi terbaru container Google SecOps.
Jika Anda mengupgrade container, bersihkan semua operasi Docker sebelumnya dengan menjalankan perintah berikut.
docker stop 'cfps'
docker rm 'cfps'
Dalam contoh ini, nama container Docker adalah cfps.
Untuk memulai forwarder untuk pertama kalinya atau mengupgrade ke versi terbaru container Google SecOps, lakukan hal berikut:
Dapatkan image Docker terbaru dari Google Cloud:
Sistem Linux:
docker pull gcr.io/chronicle-container/cf_production_stableSistem Windows:
docker pull gcr.io/chronicle-container/cf_production_stable_windowsMulai forwarder dari container 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(Opsional untuk sistem Linux) Saat memulai forwarder dari container Docker, Anda memiliki opsi untuk memasang subdirektori tertentu dari
/var/log/.
Untuk memasang subdirektori tertentu, tambahkan baris berikut ke perintah, dan ganti placeholder<parser-name>dengan nama direktori di sistem host tempat log harus dikumpulkan:-v /var/log/<parser-name>:/opt/chronicle/edr \Sistem Linux (termasuk opsi untuk memasang subdirektori tertentu):
`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 \ -v /var/log/<parser-name>:/opt/chronicle/edr \ 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 container dan
harus digunakan selama versi Docker yang Anda gunakan mendukungnya.
Mengelola forwarder
Bagian berikut memberikan panduan tentang cara mengelola forwarder Anda.
Melihat log forwarder
Untuk melihat log forwarder, jalankan perintah berikut:
docker logs cfpsUntuk melihat jalur file tempat log disimpan, jalankan perintah berikut:
docker inspect --format='{{.LogPath}}' CONTAINER_NAMEUntuk melihat log yang berjalan secara langsung, jalankan perintah berikut:
docker logs cfps -fUntuk menyimpan log dalam file, jalankan perintah berikut:
docker logs cfps &> logs.txt
Meng-uninstal penerus
Perintah Docker berikut membantu Anda menghentikan, meng-uninstal, atau menghapus forwarder.
Untuk menghentikan atau meng-uninstal container forwarder, jalankan perintah berikut:
docker stop cfps
Untuk menghapus container forwarder, jalankan perintah berikut:
docker rm cfps
Mengupdate penerus
Forwarder terdiri dari dua komponen, masing-masing dengan proses update sebagai berikut:
Forwarder Bundle: Komponen ini diupdate secara otomatis, sehingga tidak perlu dimulai 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 di Langkah 3b.
Panduan penyerapan forwarder untuk set data tertentu
Untuk mempelajari cara set data tertentu diserap menggunakan forwarder, lihat berikut ini:
- Menginstal Carbon Black Event Forwarder
- Mengumpulkan log firewall Cisco ASA
- Mengumpulkan log Corelight Sensor
- Mengumpulkan log Fluentd
- Mengumpulkan log sistem auditd Linux dan Unix
- Mengumpulkan data Microsoft Windows AD
- Mengumpulkan data DHCP Microsoft Windows
- Mengumpulkan data DNS Microsoft Windows
- Mengumpulkan data Peristiwa Microsoft Windows
- Mengumpulkan data Microsoft Windows Sysmon
- Mengumpulkan log osquery
- Mengumpulkan log OSSEC
- Mengumpulkan log firewall Palo Alto Networks
- Mengumpulkan log CIM Splunk
- Mengumpulkan log Zeek
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.