Halaman ini menjelaskan cara mengekspor log dari Google Distributed Cloud (GDC) dengan air gap 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 Anda perlukan untuk mengelola resource kustom SIEMOrgForwarder, minta Admin Org IAM Anda untuk memberi Anda salah satu peran Org Ekspor SIEM terkait.
Bergantung pada tingkat akses dan izin yang Anda perlukan, Anda mungkin mendapatkan peran kreator, 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:
Buat konektivitas: Pastikan ada koneksi antara GDC dan tujuan SIEM eksternal. Jika diperlukan, berkolaborasilah dengan Operator Infrastruktur (IO) untuk membuat koneksi uplink ke jaringan pelanggan Anda.
Menetapkan variabel lingkungan: Tetapkan variabel lingkungan berikut untuk menjalankan perintah dari halaman ini:
Jalur file kubeconfig:
export KUBECONFIG=KUBECONFIG_PATHGanti
KUBECONFIG_PATHdengan jalur ke file kubeconfig untuk server Management API.Namespace project Anda:
export PROJECT_NAMESPACE=PROJECT_NAMESPACE
Mengonfigurasi ekspor log
Buat secret dan resource kustom SIEMOrgForwarder di namespace yang sama. Anda dapat menggunakan namespace project apa pun. Setiap SIEMOrgForwarder mengekspor log platform dari semua cluster dalam organisasi, sehingga Anda tidak perlu membuat resource ini di project atau cluster lain.
Sebagai praktik terbaik, gunakan namespace platform-obs karena SIEMOrgForwarder hanya mengekspor log platform. Peran SIEM Export Org juga memberikan akses baca ke semua secret di namespace tempat peran tersebut diberikan, jadi minta Admin Org IAM Anda untuk memberikan peran ini hanya kepada Administrator Platform.
Mengekspor log ke sistem SIEM eksternal:
Berikan token untuk menghubungkan stack logging ke sistem SIEM. Untuk melakukan tindakan ini, Anda harus membuat secret di namespace project untuk menyimpan token jika menggunakan Splunk dan sandi jika menggunakan Elastic SIEM:
cat <<EOF | kubectl --kubeconfig=${KUBECONFIG} apply -f - apiVersion: v1 kind: Secret metadata: name: SECRET_NAME namespace: ${PROJECT_NAMESPACE} type: Opaque stringData: SECRET_FIELD: FIELD_VALUE EOFGanti kode berikut:
SECRET_NAME: nama secret Anda.SECRET_FIELD: nama kolom tempat Anda ingin menyimpan secret. Untuk Elastic, gunakan nilai yang sama denganHTTP_USER_NAMEdi resource kustom.FIELD_VALUE: FIELD_VALUE adalah token untuk Splunk dan sandi untuk Elastic.TOKEN: token Anda.
Deploy resource kustom
SIEMOrgForwarderdi namespace project Anda. Anda harus menentukan jenis log dengan memilih antara log audit atau log operasional. Untuk mengonfigurasi ekspor log untuk kedua jenis log, Anda harus men-deploy resourceSIEMOrgForwarderuntuk setiap jenis.Contoh berikut menunjukkan cara menerapkan konfigurasi ke resource kustom
SIEMOrgForwarderuntuk Splunk: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 destinations: splunkOutputs: - host: SIEM_HOST token: name: SECRET_NAME field: SECRET_FIELD tls: "TLS" netConnectTimeout: NET_CONNECT_TIMEOUT EOFGanti kode berikut:
SIEM_ORG_FORWARDER: nama file definisiSIEMOrgForwarder.LOG_TYPE: jenis log yang Anda ekspor. Nilai yang diterima adalahauditdanoperational.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, nilai180berarti menunggu 180 detik.
Contoh berikut menunjukkan cara menerapkan konfigurasi ke resource kustom
SIEMOrgForwarderuntuk Elastic: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 destinations: elasticOutputs: - host: SIEM_HOST port: SIEM_PORT http_credential: http_user: HTTP_USER_NAME http_passwd: SECRET_NAME tls: "TLS" netConnectTimeout: NET_CONNECT_TIMEOUT index: INDEX EOFGanti kode berikut:
SIEM_ORG_FORWARDER: nama file definisiSIEMOrgForwarder.LOG_TYPE: jenis log yang Anda ekspor. Nilai yang diterima adalahauditdanoperational.SIEM_HOST: nama host SIEM.SIEM_PORT: port instance SIEM.HTTP_USER_NAME: nama pengguna instance SIEM. Nilai ini juga harus berupa kunciSECRET_FIELDdalam secret yang menyimpan sandi.SECRET_NAME: nama secret Anda.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, nilai180berarti menunggu 180 detik.INDEX: indeks untuk instance Elastic. Jika tidak ditentukan, jenis log (auditatauoperational) akan digunakan. Kolom ini bersifat opsional.
Verifikasi status resource kustom
SIEMOrgForwarderyang 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.
- Log audit: Periksa status