Mengumpulkan log Proxy Web Aman untuk Cloud

Didukung di:

Dokumen ini menjelaskan cara mengekspor dan menyerap Secure Web Proxy Cloud ke Google Security Operations menggunakan Cloud Storage. Parser mengekstrak kolom dari log JSON, yang mengubahnya menjadi Unified Data Model (UDM). Fungsi ini melakukan inisialisasi kolom UDM, mengurai payload JSON, mengekstrak informasi jaringan, detail keamanan, atribut resource, dan menetapkan jenis peristiwa berdasarkan keberadaan informasi akun utama dan target.

Sebelum memulai

  • Pastikan Anda memiliki instance Google Chronicle.
  • Pastikan Cloud Secure Web Proxy aktif dan dikonfigurasi di lingkungan Google Cloud Anda.
  • Pastikan Anda memiliki akses dengan hak istimewa ke Google Cloud dan izin yang sesuai untuk mengakses log Secure Web Proxy.

Membuat bucket Cloud Storage

  1. Login ke konsol Google Cloud.
  2. Buka halaman Cloud Storage Buckets.

    Buka Buckets

  3. Klik Buat.

  4. Di halaman Buat bucket, masukkan informasi bucket Anda. Setelah menyelesaikan setiap langkah berikut, klik Lanjutkan untuk melanjutkan ke langkah berikutnya:

    1. Di bagian Mulai, lakukan tindakan berikut:

      1. Masukkan nama unik yang memenuhi persyaratan nama bucket; misalnya, gcp-swp-logs.
      2. Untuk mengaktifkan namespace hierarkis, klik panah peluas untuk meluaskan bagian Optimalkan untuk beban kerja yang berorientasi pada file dan intensif data, lalu pilih Aktifkan Namespace hierarkis di bucket ini.

      3. Untuk menambahkan label bucket, klik panah peluas untuk meluaskan bagian Labels.

      4. Klik Tambahkan label, lalu tentukan kunci dan nilai untuk label Anda.

    2. Di bagian Pilih tempat untuk menyimpan data, lakukan hal berikut:

      1. Pilih Jenis lokasi.
      2. Gunakan menu jenis lokasi untuk memilih Location tempat data objek dalam bucket Anda akan disimpan secara permanen.

      3. Untuk menyiapkan replikasi lintas bucket, luaskan bagian Menyiapkan replikasi lintas bucket.

    3. Di bagian Pilih kelas penyimpanan untuk data Anda, pilih kelas penyimpanan default untuk bucket, atau pilih Autoclass untuk pengelolaan kelas penyimpanan otomatis untuk data bucket Anda.

    4. Di bagian Choose how to control access to objects, pilih not untuk menerapkan public access prevention, dan pilih access control model untuk objek bucket Anda.

    5. Di bagian Pilih cara melindungi data objek, lakukan hal berikut:

      1. Pilih salah satu opsi di bagian Perlindungan data yang ingin Anda tetapkan untuk bucket.
      2. Untuk memilih cara enkripsi data objek, klik panah peluas berlabel Enkripsi data, lalu pilih Metode enkripsi data.
  5. Klik Buat.

Mengonfigurasi Google Cloud ekspor log Secure Web Proxy

  1. Login ke konsol Google Cloud.
  2. Buka Logging > Router Log.
  3. Klik Create Sink.
  4. 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"
    
  5. Klik Buat.

Mengonfigurasi izin untuk Cloud Storage

  1. Buka IAM & Admin > IAM.
  2. Temukan akun layanan Cloud Logging.
  3. Berikan roles/storage.admin di bucket.

Mengonfigurasi feed di Google SecOps untuk menyerap Google Cloud log Secure Web Proxy

  1. Buka Setelan SIEM > Feed.
  2. Klik Tambahkan baru.
  3. Di kolom Nama feed, masukkan nama untuk feed; misalnya, Google Cloud SWP Logs.
  4. Pilih Google Cloud Storage sebagai Source type.
  5. Pilih GCP Secure Web Proxy sebagai Jenis log.
  6. Klik Dapatkan Akun Layanan di samping kolom Chronicle Service Account.
  7. Klik Berikutnya.
  8. Tentukan nilai untuk parameter input berikut:

    • Storage Bucket URI: URL bucket Cloud Storage; misalnya, gs://gcp-swp-logs.
    • URI Adalah: pilih Direktori yang menyertakan subdirektori.
    • Opsi penghapusan sumber: pilih opsi penghapusan sesuai preferensi Anda.

    • Namespace aset: namespace aset.

    • Label penyerapan: label yang diterapkan ke peristiwa dari feed ini.

  9. Klik Berikutnya.

  10. Tinjau konfigurasi feed baru Anda di layar Finalize, lalu klik Submit.

Tabel Pemetaan UDM

Kolom Log Pemetaan UDM Logika
httpRequest.latency additional.fields[].key: HTTPRequest Latency
additional.fields[].value.string_value: 0.124462s
Dipetakan langsung dari kolom log mentah.
httpRequest.protocol network.application_protocol: HTTP
network.application_protocol_version: 2
Protokol dan versi diekstrak dari kolom httpRequest.protocol menggunakan pola grok.
httpRequest.remoteIp target.asset.ip: 1.1.0.1
target.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.4
principal.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.1
network.http.parsed_user_agent: {
family: USER_DEFINED,
device: git,
device_version: 2.34.1
}
Dipetakan langsung dari kolom log mentah. Kolom parsed_user_agent berasal dari penguraian kolom httpRequest.userAgent.
insertId metadata.product_log_id: 1yh8wczer5o8n Dipetakan langsung dari kolom log mentah.
jsonPayload.@type additional.fields[].key: Log Type
additional.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.com
target.hostname: github.com
Dipetakan langsung dari kolom log mentah.
jsonPayload.enforcedGatewaySecurityPolicy.matchedRules[].action security_result.action: ALLOW
security_result.action_details: ALLOWED
security_result.action berasal dari 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: requestWasTlsIntercepted
security_result.detection_fields[].value: true
Dipetakan langsung dari kolom log mentah.
logName additional.fields[].key: Log Name
additional.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-name
security_result.detection_fields[].value: github-access-gateway-5cec30cd
Dipetakan langsung dari kolom log mentah.
resource.labels.gateway_type security_result.detection_fields[].key: gateway-type
security_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_name
target.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 Type
target.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 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.

Perubahan

2024-04-15

  • Parser yang baru dibuat.

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