Mengumpulkan log Tanium Threat Response
Dokumen ini menjelaskan cara menyerap log Tanium Threat Response ke Google Security Operations menggunakan fungsi ekspor AWS S3 bawaan Tanium Connect. Tanium Threat Response menghasilkan pemberitahuan deteksi ancaman, temuan investigasi, dan data respons insiden dalam format JSON, yang dapat langsung diekspor ke S3 menggunakan Tanium Connect tanpa memerlukan fungsi Lambda kustom. Parser mengubah data JSON mentah dari Tanium Threat Response menjadi model data terpadu (UDM). Pertama-tama, pesan masuk akan diuraikan sebagai JSON, menangani potensi error, lalu mengekstrak dan memetakan kolom yang relevan ke struktur UDM, termasuk detail tentang host, pengguna, proses, aktivitas jaringan, dan temuan keamanan yang terpengaruh.
Sebelum memulai
Pastikan Anda memenuhi prasyarat berikut:
- Instance Google SecOps
- Tanium Core Platform 7.0 atau yang lebih baru
- Modul Tanium Threat Response telah diinstal dan dikonfigurasi
- Modul Tanium Connect diinstal dengan lisensi yang valid
- Tanium Direct Connect 1.9.30 atau yang lebih baru untuk kemampuan penyelidikan
- Akses istimewa ke Tanium Console dengan hak administratif
- Akses istimewa ke AWS (S3, IAM)
Mengonfigurasi akun layanan Tanium Threat Response
- Login ke Tanium Console.
- Buka Modules > Threat Response.
- Klik Setelan di kanan atas.
- Di bagian Service Account, konfigurasikan hal berikut:
- Pengguna Akun Layanan: Pilih pengguna dengan izin Threat Response yang sesuai.
- Verifikasi bahwa akun memiliki hak istimewa peran Pengguna yang Terhubung.
- Konfirmasi akses ke data investigasi dan pemberitahuan Threat Response.
- Klik Simpan untuk menerapkan konfigurasi akun layanan.
Mengumpulkan prasyarat Tanium Threat Response
- Login ke Tanium Console sebagai administrator.
- Buka Administrasi > Izin > Pengguna.
- Buat atau identifikasi pengguna akun layanan dengan peran berikut:
- Peran Administrator Respons Ancaman atau Pengguna Hanya Baca Respons Ancaman.
- Hak istimewa peran Hubungkan Pengguna.
- Akses ke grup komputer yang dipantau (direkomendasikan: grup Semua Komputer).
- Izin Baca Pertanyaan Tersimpan untuk set konten Threat Response.
Mengonfigurasi bucket AWS S3 dan IAM untuk Google SecOps
- Buat bucket Amazon S3 dengan mengikuti panduan pengguna ini: Membuat bucket
- Simpan Name dan Region bucket untuk referensi di masa mendatang (misalnya,
tanium-threat-response-logs
). - Buat pengguna dengan mengikuti panduan pengguna ini: Membuat pengguna IAM.
- Pilih Pengguna yang dibuat.
- Pilih tab Kredensial keamanan.
- Klik Create Access Key di bagian Access Keys.
- Pilih Layanan pihak ketiga sebagai Kasus penggunaan.
- Klik Berikutnya.
- Opsional: tambahkan tag deskripsi.
- Klik Create access key.
- Klik Download CSV file untuk menyimpan Access Key dan Secret Access Key untuk digunakan nanti.
- Klik Selesai.
- Pilih tab Izin.
- Klik Tambahkan izin di bagian Kebijakan izin.
- Pilih Tambahkan izin.
- Pilih Lampirkan kebijakan secara langsung
- Telusuri dan pilih kebijakan AmazonS3FullAccess.
- Klik Berikutnya.
- Klik Add permissions.
Mengonfigurasi tujuan AWS S3 Tanium Connect
- Login ke Tanium Console.
- Buka Modules > Connect.
- Klik Buat Koneksi.
- Berikan detail konfigurasi berikut:
- Nama: Masukkan nama deskriptif (misalnya,
Threat Response Alerts to S3 for SecOps
). - Deskripsi: Deskripsi opsional (misalnya,
Export threat detection alerts and investigation findings to AWS S3 for Google SecOps ingestion
). - Aktifkan: Pilih untuk mengaktifkan koneksi agar berjalan sesuai jadwal.
- Nama: Masukkan nama deskriptif (misalnya,
- Klik Berikutnya.
Mengonfigurasi sumber koneksi
- Di bagian Sumber, berikan detail konfigurasi berikut:
- Jenis Sumber: Pilih Pertanyaan Tersimpan.
- Pertanyaan Tersimpan: Pilih salah satu pertanyaan tersimpan terkait Threat Response berikut:
- Threat Response - Alerts untuk pemberitahuan deteksi ancaman.
- Respons Terhadap Ancaman - Hasil Investigasi untuk temuan investigasi.
- Respons Ancaman - Kecocokan Intelijen untuk kecocokan kecerdasan ancaman.
- Respons Ancaman - Aktivitas Endpoint untuk aktivitas endpoint yang mencurigakan.
- Respons Terhadap Ancaman - Koneksi Jaringan untuk ancaman berbasis jaringan.
- Grup Komputer: Pilih Semua Komputer atau grup komputer tertentu yang akan dipantau.
- Interval Pembaruan: Tetapkan interval yang sesuai untuk pengumpulan data (misalnya, 10 menit untuk pemberitahuan ancaman).
- Klik Berikutnya.
Mengonfigurasi tujuan AWS S3
- Di bagian Tujuan, berikan detail konfigurasi berikut:
- Jenis Tujuan: Pilih AWS S3.
- Nama Tujuan: Masukkan nama unik (misalnya,
Google SecOps ThreatResponse S3 Destination
). - Kunci Akses AWS: Masukkan kunci akses AWS dari file CSV yang didownload pada langkah konfigurasi AWS S3.
- AWS Secret Access Key: Masukkan kunci akses rahasia AWS dari file CSV yang didownload pada langkah konfigurasi AWS S3.
- Nama Bucket: Masukkan nama bucket S3 Anda (misalnya,
tanium-threat-response-logs
). - Region: Pilih region AWS tempat bucket S3 Anda berada.
- Awalan Kunci: Masukkan awalan untuk objek S3 (misalnya,
tanium/threat-response/
).
- Klik Berikutnya.
Mengonfigurasi filter
- Di bagian Filter, konfigurasikan opsi pemfilteran data:
- Kirim hanya item baru: Pilih opsi ini untuk mengirim hanya pemberitahuan ancaman baru sejak ekspor terakhir.
- Filter kolom: Tambahkan filter berdasarkan atribut pemberitahuan tertentu jika diperlukan (misalnya, filter menurut tingkat keparahan pemberitahuan, jenis ancaman, atau status penyelidikan).
- Klik Berikutnya.
Memformat data untuk AWS S3
- Di bagian Format, konfigurasikan format data:
- Format: Pilih JSON.
- Opsi:
- Sertakan header: Hapus centang untuk menghindari header dalam output JSON.
- Sertakan sel kosong: Pilih berdasarkan preferensi Anda.
- Opsi Lanjutan:
- Penamaan file: Gunakan penamaan berbasis stempel waktu default.
- Kompresi: Pilih Gzip untuk mengurangi biaya penyimpanan dan waktu transfer.
- Klik Berikutnya.
Menjadwalkan koneksi
- Di bagian Jadwalkan, konfigurasikan jadwal ekspor:
- Aktifkan jadwal: Pilih untuk mengaktifkan ekspor terjadwal otomatis.
- Jenis jadwal: Pilih Berulang.
- Frekuensi: Pilih Setiap 10 menit untuk menerima pemberitahuan respons ancaman tepat waktu.
- Waktu mulai: Tetapkan waktu mulai yang sesuai untuk ekspor pertama.
- Klik Berikutnya.
Simpan dan verifikasi koneksi
- Tinjau konfigurasi koneksi di layar ringkasan.
- Klik Simpan untuk membuat koneksi.
- Klik Uji Koneksi untuk memverifikasi konfigurasi.
- Jika pengujian berhasil, klik Jalankan Sekarang untuk melakukan ekspor awal.
- Pantau status koneksi di halaman Connect Overview.
Mengonfigurasi feed di Google SecOps untuk memproses log Tanium Threat Response
- Buka Setelan SIEM > Feed.
- Klik + Tambahkan Feed Baru.
- Di kolom Nama feed, masukkan nama untuk feed (misalnya,
Tanium Threat Response logs
). - Pilih Amazon S3 V2 sebagai Jenis sumber.
- Pilih Tanium Threat Response sebagai Jenis log.
- Klik Berikutnya.
- Tentukan nilai untuk parameter input berikut:
- URI S3:
s3://tanium-threat-response-logs/tanium/threat-response/
- Opsi penghapusan sumber: Pilih opsi penghapusan sesuai preferensi Anda.
- Usia File Maksimum: Menyertakan file yang diubah dalam jumlah hari terakhir. Defaultnya adalah 180 hari.
- ID Kunci Akses: Kunci akses pengguna dengan akses ke bucket S3.
- Kunci Akses Rahasia: Kunci rahasia pengguna dengan akses ke bucket S3.
- Namespace aset: Namespace aset.
- Label penyerapan: Label yang diterapkan ke peristiwa dari feed ini.
- URI S3:
- Klik Berikutnya.
- Tinjau konfigurasi feed baru Anda di layar Selesaikan, lalu klik Kirim.
Tabel Pemetaan UDM
Kolom log | Pemetaan UDM | Logika |
---|---|---|
ID Notifikasi | security_result.rule_instance | Nilai kolom ini diambil dari kolom "Alert Id" dalam log mentah. |
IP Komputer | principal.ip | Nilai kolom ini diambil dari kolom "IP Komputer" dalam log mentah. |
IP Komputer | target.ip | Nilai kolom ini diambil dari kolom "IP Komputer" dalam log mentah. |
Nama Komputer | principal.hostname | Nilai kolom ini diambil dari kolom "Nama Komputer" di log mentah. |
Nama Komputer | target.hostname | Nilai kolom ini diambil dari kolom "Nama Komputer" di log mentah. |
id | target.resource.attribute.labels | Nilai kolom ini diambil dari kolom "id" dalam log mentah. Kuncinya di-hardcode menjadi "id". |
ID Intel | security_result.rule_id | Nilai kolom ini diambil dari kolom "Intel Id" dalam log mentah. |
Label Intel | security_result.description | Nilai kolom ini diambil dari kolom "Label Intel" di log mentah. |
Nama Intel | security_result.summary | Nilai kolom ini diambil dari kolom "Nama Intel" di log mentah. |
Nama Intel | security_result.threat_name | Nilai kolom ini diambil dari kolom "Nama Intel" di log mentah. |
Jenis Intel | security_result.rule_type | Nilai kolom ini diambil dari kolom "Intel Type" di log mentah. |
MatchDetails.finding.system_info.bits | principal.asset.platform_software.bits | Nilai kolom ini diambil dari kolom "MatchDetails.finding.system_info.bits" dalam log mentah. |
MatchDetails.finding.system_info.os | principal.asset.platform_software.platform_version | Nilai kolom ini diambil dari kolom "MatchDetails.finding.system_info.os" dalam log mentah. |
MatchDetails.finding.system_info.patch_level | principal.asset.platform_software.platform_patch_level | Nilai kolom ini diambil dari kolom "MatchDetails.finding.system_info.patch_level" dalam log mentah. |
MatchDetails.finding.system_info.platform | principal.asset.platform_software.platform | Nilai kolom ini diambil dari kolom "MatchDetails.finding.system_info.platform" dalam log mentah. |
MatchDetails.match.contexts.0.event.registrySet.keyPath | target.registry.registry_key | Nilai kolom ini diambil dari kolom "MatchDetails.match.contexts.0.event.registrySet.keyPath" dalam log mentah. |
MatchDetails.match.contexts.0.event.registrySet.valueName | target.registry.registry_value_name | Nilai kolom ini diambil dari kolom "MatchDetails.match.contexts.0.event.registrySet.valueName" dalam log mentah. |
MatchDetails.match.properties.args | security_result.about.process.command_line | Nilai kolom ini diambil dari kolom "MatchDetails.match.properties.args" dalam log mentah. |
MatchDetails.match.properties.file.fullpath | target.process.file.full_path | Nilai kolom ini diambil dari kolom "MatchDetails.match.properties.file.fullpath" dalam log mentah. |
MatchDetails.match.properties.file.md5 | target.process.file.md5 | Nilai kolom ini diambil dari kolom "MatchDetails.match.properties.file.md5" dalam log mentah. |
MatchDetails.match.properties.file.sha1 | target.process.file.sha1 | Nilai kolom ini diambil dari kolom "MatchDetails.match.properties.file.sha1" dalam log mentah. |
MatchDetails.match.properties.file.sha256 | target.process.file.sha256 | Nilai kolom ini diambil dari kolom "MatchDetails.match.properties.file.sha256" dalam log mentah. |
MatchDetails.match.properties.fullpath | target.process.file.full_path | Nilai kolom ini diambil dari kolom "MatchDetails.match.properties.fullpath" dalam log mentah. |
MatchDetails.match.properties.local_port | principal.port | Nilai kolom ini diambil dari kolom "MatchDetails.match.properties.local_port" dalam log mentah. |
MatchDetails.match.properties.md5 | target.process.file.md5 | Nilai kolom ini diambil dari kolom "MatchDetails.match.properties.md5" dalam log mentah. |
MatchDetails.match.properties.parent.args | security_result.about.process.command_line | Nilai kolom ini diambil dari kolom "MatchDetails.match.properties.parent.args" dalam log mentah. |
MatchDetails.match.properties.parent.file.fullpath | target.process.parent_process.file.full_path | Nilai kolom ini diambil dari kolom "MatchDetails.match.properties.parent.file.fullpath" dalam log mentah. |
MatchDetails.match.properties.parent.file.md5 | target.process.parent_process.file.md5 | Nilai kolom ini diambil dari kolom "MatchDetails.match.properties.parent.file.md5" dalam log mentah. |
MatchDetails.match.properties.parent.parent.file.fullpath | target.process.parent_process.parent_process.file.full_path | Nilai kolom ini diambil dari kolom "MatchDetails.match.properties.parent.parent.file.fullpath" dalam log mentah. |
MatchDetails.match.properties.parent.parent.file.md5 | target.process.parent_process.parent_process.file.md5 | Nilai kolom ini diambil dari kolom "MatchDetails.match.properties.parent.parent.file.md5" dalam log mentah. |
MatchDetails.match.properties.parent.parent.parent.file.fullpath | target.process.parent_process.parent_process.parent_process.file.full_path | Nilai kolom ini diambil dari kolom "MatchDetails.match.properties.parent.parent.parent.file.fullpath" dalam log mentah. |
MatchDetails.match.properties.parent.parent.parent.file.md5 | target.process.parent_process.parent_process.parent_process.file.md5 | Nilai kolom ini diambil dari kolom "MatchDetails.match.properties.parent.parent.parent.file.md5" dalam log mentah. |
MatchDetails.match.properties.parent.parent.parent.parent.file.fullpath | target.process.parent_process.parent_process.parent_process.parent_process.file.full_path | Nilai kolom ini diambil dari kolom "MatchDetails.match.properties.parent.parent.parent.parent.file.fullpath" dalam log mentah. |
MatchDetails.match.properties.parent.parent.parent.parent.file.md5 | target.process.parent_process.parent_process.parent_process.parent_process.file.md5 | Nilai kolom ini diambil dari kolom "MatchDetails.match.properties.parent.parent.parent.parent.file.md5" dalam log mentah. |
MatchDetails.match.properties.parent.parent.parent.parent.parent.file.fullpath | target.process.parent_process.parent_process.parent_process.parent_process.parent_process.file.full_path | Nilai kolom ini diambil dari kolom "MatchDetails.match.properties.parent.parent.parent.parent.parent.file.fullpath" dalam log mentah. |
MatchDetails.match.properties.parent.parent.parent.parent.parent.file.md5 | target.process.parent_process.parent_process.parent_process.parent_process.parent_process.file.md5 | Nilai kolom ini diambil dari kolom "MatchDetails.match.properties.parent.parent.parent.parent.parent.file.md5" dalam log mentah. |
MatchDetails.match.properties.parent.pid | target.process.parent_process.pid | Nilai kolom ini diambil dari kolom "MatchDetails.match.properties.parent.pid" dalam log mentah. |
MatchDetails.match.properties.parent.parent.pid | target.process.parent_process.parent_process.pid | Nilai kolom ini diambil dari kolom "MatchDetails.match.properties.parent.parent.pid" dalam log mentah. |
MatchDetails.match.properties.parent.parent.parent.pid | target.process.parent_process.parent_process.parent_process.pid | Nilai kolom ini diambil dari kolom "MatchDetails.match.properties.parent.parent.parent.pid" dalam log mentah. |
MatchDetails.match.properties.parent.parent.parent.parent.pid | target.process.parent_process.parent_process.parent_process.parent_process.pid | Nilai kolom ini diambil dari kolom "MatchDetails.match.properties.parent.parent.parent.parent.pid" dalam log mentah. |
MatchDetails.match.properties.parent.parent.parent.parent.parent.pid | target.process.parent_process.parent_process.parent_process.parent_process.parent_process.pid | Nilai kolom ini diambil dari kolom "MatchDetails.match.properties.parent.parent.parent.parent.parent.pid" dalam log mentah. |
MatchDetails.match.properties.pid | target.process.pid | Nilai kolom ini diambil dari kolom "MatchDetails.match.properties.pid" dalam log mentah. |
MatchDetails.match.properties.protocol | network.ip_protocol | Nilai kolom ini diambil dari kolom "MatchDetails.match.properties.protocol" dalam log mentah. |
MatchDetails.match.properties.remote_ip | target.ip | Nilai kolom ini diambil dari kolom "MatchDetails.match.properties.remote_ip" dalam log mentah. |
MatchDetails.match.properties.remote_port | target.port | Nilai kolom ini diambil dari kolom "MatchDetails.match.properties.remote_port" dalam log mentah. |
MatchDetails.match.properties.sha1 | target.process.file.sha1 | Nilai kolom ini diambil dari kolom "MatchDetails.match.properties.sha1" dalam log mentah. |
MatchDetails.match.properties.sha256 | target.process.file.sha256 | Nilai kolom ini diambil dari kolom "MatchDetails.match.properties.sha256" dalam log mentah. |
MatchDetails.match.properties.user | target.administrative_domain | Nama domain diekstrak dari kolom "MatchDetails.match.properties.user" di log mentah dengan mencari karakter garis miring terbalik (""). Karakter sebelum garis miring terbalik dianggap sebagai nama domain. |
MatchDetails.match.properties.user | target.user.userid | Nama pengguna diekstrak dari kolom "MatchDetails.match.properties.user" di log mentah dengan mencari karakter garis miring terbalik (""). Karakter setelah garis miring terbalik dianggap sebagai nama pengguna. |
Teknik MITRE | security_result.threat_id | Nilai kolom ini diambil dari kolom "Teknik MITRE" dalam log mentah. |
params | security_result.detection_fields | Nilai kolom ini diambil dari kolom "params" di log mentah. Kuncinya di-hardcode ke "params_" yang digabungkan dengan indeks parameter. |
Stempel waktu | metadata.event_timestamp | Nilai kolom ini diambil dari kolom "Stempel Waktu" di log mentah. |
T/A | is_alert | Kolom ini dikodekan secara permanen ke "true" jika kolom "IP Komputer" dalam log mentah tidak kosong. |
T/A | metadata.log_type | Kolom ini di-hardcode ke "TANIUM_THREAT_RESPONSE". |
T/A | metadata.product_event_type | Kolom ini di-hardcode ke "Tanium Signal". |
T/A | metadata.product_name | Kolom ini di-hardcode ke "Respons Terhadap Ancaman". |
T/A | metadata.vendor_name | Kolom ini di-hardcode ke "Tanium". |
T/A | network.http.method | Kolom ini dikodekan secara permanen ke "POST" jika nilai kolom "method" dalam log mentah adalah "submit". |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.