Mengekspor log ke sistem SIEM

Halaman ini menjelaskan cara mengekspor log dari Google Distributed Cloud (GDC) air-gapped ke sistem Security Information and Event Management (SIEM) eksternal. Integrasi ini memungkinkan analisis log terpusat dan pemantauan keamanan yang ditingkatkan.

Inti dari ekspor log melibatkan deployment resource kustom SIEMOrgForwarder. Resource ini berfungsi sebagai file konfigurasi, yang menentukan detail instance SIEM eksternal yang ditetapkan untuk menerima log. Dengan menentukan parameter ini dalam file SIEMOrgForwarder, administrator dapat membuat pipeline ekspor log yang efisien dan aman.

Sebelum memulai

Untuk mendapatkan izin yang diperlukan untuk mengelola resource SIEMOrgForwarderkustom, minta Admin IAM Organisasi Anda untuk memberi Anda salah satu peran Org Ekspor SIEM terkait.

Bergantung pada tingkat akses dan izin yang Anda butuhkan, Anda mungkin mendapatkan peran pembuat, editor, atau pelihat untuk resource ini di namespace project Anda. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan izin IAM.

Setelah mendapatkan izin yang diperlukan, selesaikan langkah-langkah berikut sebelum mengekspor log ke sistem SIEM eksternal:

  1. Buat konektivitas: Pastikan ada koneksi antara GDC dan tujuan SIEM eksternal. Jika diperlukan, berkolaborasi dengan Operator Infrastruktur (IO) untuk membuat koneksi uplink ke jaringan pelanggan Anda.

  2. Tetapkan variabel lingkungan: Tetapkan variabel lingkungan berikut untuk menjalankan perintah dari halaman ini:

    • Jalur file kubeconfig:

      export KUBECONFIG=KUBECONFIG_PATH
      

      Ganti KUBECONFIG_PATH dengan jalur ke file kubeconfig untuk server Management API.

    • Namespace project Anda:

      export PROJECT_NAMESPACE=PROJECT_NAMESPACE
      

Mengonfigurasi ekspor log

Mengekspor log ke sistem SIEM eksternal:

  1. Berikan token untuk menghubungkan stack logging ke sistem SIEM. Untuk melakukan tindakan ini, Anda harus membuat secret di namespace project untuk menyimpan token:

    cat <<EOF | kubectl --kubeconfig=${KUBECONFIG} apply -f -
    apiVersion: v1
    kind: Secret
    metadata:
      name: SECRET_NAME
      namespace: ${PROJECT_NAMESPACE}
    type: Opaque
    stringData:
      SECRET_FIELD: TOKEN
    EOF
    

    Ganti kode berikut:

    • SECRET_NAME: nama secret Anda.
    • SECRET_FIELD: nama kolom tempat Anda ingin menyimpan secret.
    • TOKEN: token Anda.
  2. Deploy resource kustom SIEMOrgForwarder di namespace project Anda. Anda harus menentukan jenis log dengan memilih antara log audit atau operasional. Untuk mengonfigurasi ekspor log untuk kedua jenis log, Anda harus men-deploy resource SIEMOrgForwarder untuk setiap jenis.

    Contoh berikut menunjukkan cara menerapkan konfigurasi ke resource kustom SIEMOrgForwarder:

      cat <<EOF | kubectl --kubeconfig=${KUBECONFIG} apply -f -
      apiVersion: logging.gdc.goog/v1
      kind: SIEMOrgForwarder
      metadata:
        name: SIEM_ORG_FORWARDER
        namespace: ${PROJECT_NAMESPACE}
      spec:
        source: LOG_TYPE
        splunkOutputs:
          - host: SIEM_HOST
            token:
              name: SECRET_NAME
              field: SECRET_FIELD
            tls: "TLS"
            netConnectTimeout: NET_CONNECT_TIMEOUT
      EOF
    

    Ganti kode berikut:

    • SIEM_ORG_FORWARDER: nama file definisi SIEMOrgForwarder.
    • LOG_TYPE: jenis log yang Anda ekspor. Nilai yang diterima adalah audit dan operational.
    • SIEM_HOST: nama host SIEM.
    • SECRET_NAME: nama secret Anda.
    • SECRET_FIELD: nama kolom tempat Anda menyimpan secret.
    • TLS: status Transport Layer Security (TLS). Nilai yang diterima adalah "On" dan "Off".
    • NET_CONNECT_TIMEOUT: waktu maksimum dalam detik untuk menunggu koneksi dibuat. Misalnya, nilai 180 berarti menunggu 180 detik.
  3. Verifikasi status resource kustom SIEMOrgForwarder yang di-deploy:

      kubectl --kubeconfig=${KUBECONFIG} describe siemorgforwarder/SIEM_ORG_FORWARDER \
          -n ${PROJECT_NAMESPACE}
    

    Menurut jenis log, periksa status berikut:

    • Log audit: Periksa status AuditLoggingReady.
    • Log operasional: Periksa status OperationalLoggingReady.