Mengumpulkan log Secure Web Proxy
Versi Parser: 2.0
Dokumen ini menjelaskan cara mengekspor dan menyerap Secure Web Proxy ke Google Security Operations menggunakan Cloud Storage. Parser mengekstrak kolom dari log JSON, lalu mengubahnya menjadi Unified Data Model (UDM). Parser ini menginisialisasi kolom UDM, mengurai payload JSON, mengekstrak informasi jaringan, detail keamanan, atribut resource, dan menetapkan jenis peristiwa berdasarkan ada atau tidaknya informasi principal dan target.
Sebelum memulai
Pastikan Anda memiliki prasyarat berikut:
- Instance Google SecOps.
- Secure Web Proxy aktif dan dikonfigurasi di lingkungan Google Cloud Anda.
- Akses istimewa ke Google Cloud dan izin yang sesuai untuk mengakses log Secure Web Proxy.
Membuat bucket Cloud Storage
- Login ke Google Cloud console.
Buka halaman Cloud Storage Buckets.
Klik Buat.
Di halaman Buat bucket, masukkan informasi bucket Anda. Setelah menyelesaikan setiap langkah berikut, klik Continue untuk melanjutkan ke langkah berikutnya:
Di bagian Get started, lakukan tindakan berikut:
- Masukkan nama unik yang memenuhi persyaratan nama bucket; misalnya, gcp-swp-logs.
Untuk mengaktifkan namespace hierarkis, klik panah peluas untuk meluaskan bagian Optimize for file oriented and data-intensive workloads, lalu pilih Enable Hierarchical namespace on this bucket.
Untuk menambahkan label bucket, klik panah peluas untuk meluaskan bagian Labels.
Klik Add label, lalu tentukan kunci dan nilai untuk label Anda.
Di bagian Choose where to store your data, lakukan tindakan berikut:
- Pilih Location type.
Gunakan menu jenis lokasi untuk memilih Location tempat data objek dalam bucket Anda akan disimpan secara permanen.
Untuk menyiapkan replikasi lintas bucket, luaskan bagian Set up cross-bucket replication.
Di bagian Choose a storage class for your data, pilih default storage class untuk bucket, atau pilih Autoclass untuk pengelolaan kelas penyimpanan otomatis untuk data bucket Anda.
Di bagian Choose how to control access to objects, pilih not untuk menerapkan public access prevention, lalu pilih access control model untuk objek bucket Anda.
Di bagian Choose how to protect object data, lakukan hal berikut:
- Pilih salah satu opsi di bagian Perlindungan data yang ingin Anda tetapkan untuk bucket.
- Untuk memilih cara data objek Anda akan dienkripsi, klik panah peluas berlabel Data encryption, lalu pilih Data encryption method.
Klik Create.
Mengonfigurasi ekspor log Secure Web Proxy
- Login ke Google Cloud console.
- Buka Logging > Log Router.
- Klik Create Sink.
Berikan parameter konfigurasi berikut:
- Sink Name: masukkan nama yang bermakna; misalnya,
SWP-Export-Sink. - Sink Destination: pilih Cloud Storage Storage dan masukkan URI untuk bucket Anda; misalnya,
gs://gcp-swp-logs/. - Filter Log:
logName="projects/<your-project-id>/logs/networkservices.googleapis.com/gateway_requests"- Sink Name: masukkan nama yang bermakna; misalnya,
Klik Create.
Mengonfigurasi izin untuk Cloud Storage
- Buka IAM & Admin > IAM.
- Temukan akun layanan Cloud Logging.
- Berikan roles/storage.admin pada bucket.
Menyiapkan feed
Untuk mengonfigurasi feed, ikuti langkah-langkah berikut:
- Buka Setelan > Pengelolaan Data > Feed. Jika Anda menggunakan platform khusus SIEM, buka Settings > Feeds.
- Klik Tambahkan Feed Berita Baru.
- Di halaman berikutnya, klik Konfigurasi satu feed.
- Di kolom Feed name, masukkan nama untuk feed; misalnya, Google Cloud SWP Logs.
- Pilih Google Cloud Storage V2 sebagai Source type.
- Pilih GCP Secure Web Proxy sebagai Log type.
- Klik Get Service Account di samping kolom Chronicle Service Account.
- Klik Berikutnya.
Tentukan nilai untuk parameter input berikut:
- Storage Bucket URI: URL bucket Cloud Storage; misalnya,
gs://gcp-swp-logs/. URL ini harus diakhiri dengan garis miring (/). Opsi penghapusan sumber: pilih opsi penghapusan sesuai preferensi Anda.
Usia File Maksimum: Menyertakan file yang diubah dalam jumlah hari terakhir. Defaultnya adalah 180 hari.
- Storage Bucket URI: URL bucket Cloud Storage; misalnya,
Klik Berikutnya.
Tinjau konfigurasi feed berita baru Anda di layar Finalize, lalu klik Submit.
Tabel Pemetaan UDM
| Kolom Log | Pemetaan UDM | Logika |
|---|---|---|
httpRequest.latency |
additional.fields[].key: HTTPRequest Latencyadditional.fields[].value.string_value: 0.124462s |
Dipetakan langsung dari kolom log mentah. |
httpRequest.protocol |
network.application_protocol: HTTPnetwork.application_protocol_version: 2 |
Protokol dan versi diekstrak dari kolom httpRequest.protocol menggunakan pola grok. |
httpRequest.remoteIp |
target.asset.ip: 1.1.0.1target.ip: 1.1.0.1 |
Alamat IP diekstrak dari kolom httpRequest.remoteIp menggunakan pola grok. |
httpRequest.requestMethod |
network.http.method: GET |
Dipetakan langsung dari kolom log mentah. |
httpRequest.requestSize |
network.sent_bytes: 144 |
Dipetakan langsung dari kolom log mentah dan dikonversi menjadi bilangan bulat. |
httpRequest.requestUrl |
target.url: https://github.com/tempuslabs/tempusutils/info/refs?service=git-upload-pack |
Dipetakan langsung dari kolom log mentah. |
httpRequest.responseSize |
network.received_bytes: 225 |
Dipetakan langsung dari kolom log mentah dan dikonversi menjadi bilangan bulat. |
httpRequest.serverIp |
principal.asset.ip: 1.8.1.4principal.ip: 1.8.1.4 |
Alamat IP diekstrak dari kolom httpRequest.serverIp menggunakan pola grok. |
httpRequest.status |
network.http.response_code: 401 |
Dipetakan langsung dari kolom log mentah dan dikonversi menjadi bilangan bulat. |
httpRequest.userAgent |
network.http.user_agent: git/2.34.1network.http.parsed_user_agent: {family: USER_DEFINED,device: git,device_version: 2.34.1} |
Dipetakan langsung dari kolom log mentah. Kolom parsed_user_agent diperoleh dengan mengurai kolom httpRequest.userAgent. |
insertId |
metadata.product_log_id: 1yh8wczer5o8n |
Dipetakan langsung dari kolom log mentah. |
jsonPayload.@type |
additional.fields[].key: Log Typeadditional.fields[].value.string_value: type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry |
Dipetakan langsung dari kolom log mentah. |
jsonPayload.enforcedGatewaySecurityPolicy.hostname |
target.asset.hostname: github.comtarget.hostname: github.com |
Dipetakan langsung dari kolom log mentah. |
jsonPayload.enforcedGatewaySecurityPolicy.matchedRules[].action |
security_result.action: ALLOWsecurity_result.action_details: ALLOWED |
security_result.action diperoleh berdasarkan nilai jsonPayload.enforcedGatewaySecurityPolicy.matchedRules[].action. Jika tindakannya adalah ALLOWED, kolom UDM ditetapkan ke ALLOW. Jika tindakannya adalah DENIED, kolom UDM ditetapkan ke BLOCK. |
jsonPayload.enforcedGatewaySecurityPolicy.matchedRules[].name |
security_result.rule_name: projects/671807354785/locations/us-central1/gatewaySecurityPolicies/github-access-gateway-security-policy-5cec30cd/rules/github-access-gateway-security-policy-rule-5cec30cd |
Dipetakan langsung dari kolom log mentah. |
jsonPayload.enforcedGatewaySecurityPolicy.requestWasTlsIntercepted |
security_result.detection_fields[].key: requestWasTlsInterceptedsecurity_result.detection_fields[].value: true |
Dipetakan langsung dari kolom log mentah. |
logName |
additional.fields[].key: Log Nameadditional.fields[].value.string_value: projects/rws-w6uza3pn5jzzh6z3hc3d/logs/networkservices.googleapis.com%2Fgateway_requests |
Dipetakan langsung dari kolom log mentah. |
receiveTimestamp |
metadata.collected_timestamp: {seconds: 1710189647,nanos: 661101224} |
Diurai dari kolom log mentah menggunakan format tanggal RFC 3339. |
resource.labels.gateway_name |
security_result.detection_fields[].key: gateway-namesecurity_result.detection_fields[].value: github-access-gateway-5cec30cd |
Dipetakan langsung dari kolom log mentah. |
resource.labels.gateway_type |
security_result.detection_fields[].key: gateway-typesecurity_result.detection_fields[].value: SECURE_WEB_GATEWAY |
Dipetakan langsung dari kolom log mentah. |
resource.labels.location |
target.resource.attribute.cloud.availability_zone: us-central1 |
Dipetakan langsung dari kolom log mentah. |
resource.labels.network_name |
target.resource.attribute.labels[].key: rc_network_nametarget.resource.attribute.labels[].value: projects/rws-w6uza3pn5jzzh6z3hc3d/global/networks/rws-tr-pilot-workspace |
Dipetakan langsung dari kolom log mentah. |
resource.type |
target.resource.attribute.labels[].key: Resource Typetarget.resource.attribute.labels[].value: networkservices.googleapis.com/Gateway |
Dipetakan langsung dari kolom log mentah. |
severity |
security_result.severity: MEDIUM |
Dipetakan dari kolom log mentah. Nilai ini diterjemahkan ke tingkat keparahan UDM. Dalam hal ini, WARNING dipetakan ke MEDIUM. |
timestamp |
metadata.event_timestamp: {seconds: 1710189639,nanos: 952848000} |
Diurai dari kolom log mentah menggunakan format tanggal RFC 3339. |
| (Logika Parser) | metadata.event_type: NETWORK_HTTP |
Ditentukan oleh logika parser berdasarkan keberadaan has_principal, has_target, dan protokol yang cocok dengan http. |
| (Logika Parser) | metadata.log_type: GCP_SWP |
Nilai hardcode berdasarkan produk. |
Log Perubahan
Melihat Log Perubahan untuk parser ini
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.