Panduan ini menunjukkan kepada praktisi keamanan cara mengaktivasi log Google Cloud untuk digunakan dalam analisis keamanan. Dengan menjalankan analisis keamanan, Anda membantu organisasi Anda mencegah, mendeteksi, dan merespons ancaman seperti malware, phishing, ransomware, dan aset yang tidak dikonfigurasi dengan baik.
Panduan ini menunjukkan cara melakukan hal berikut:
- Aktifkan log untuk dianalisis.
- Rutekan log tersebut ke satu tujuan bergantung pada pilihan alat analisis keamanan Anda, seperti Log Analytics, BigQuery, Chronicle, atau teknologi informasi keamanan dan manajemen peristiwa (SIEM) pihak ketiga.
- Analisis log tersebut untuk mengaudit penggunaan cloud Anda dan mendeteksi potensi ancaman terhadap data dan workload Anda, menggunakan contoh kueri dari project Analisis Keamanan Komunitas (CSA)
Informasi dalam panduan ini adalah bagian dari Operasi Keamanan Otonom, Google Cloud, yang mencakup transformasi yang dipimpin oleh engineer untuk praktik deteksi dan respons serta analisis keamanan untuk meningkatkan kemampuan deteksi ancaman Anda.
Dalam panduan ini, log menyediakan sumber data untuk dianalisis. Namun, Anda dapat menerapkan konsep dari panduan ini untuk analisis data pelengkap terkait keamanan lainnya dari Google Cloud, seperti temuan keamanan dari Security Command Center. Yang disediakan di Security Command Center Premium adalah daftar detektor terkelola yang diupdate secara berkala, yang dirancang untuk mengidentifikasi ancaman, kerentanan, dan kesalahan konfigurasi dalam sistem Anda hampir secara real-time. Dengan menganalisis sinyal-sinyal ini dari Security Command Center dan menghubungkannya dengan log yang ditransfer dalam alat analisis keamanan Anda seperti yang dijelaskan dalam panduan ini, Anda dapat mencapai perspektif yang lebih luas terhadap potensi ancaman keamanan.
Diagram berikut menunjukkan cara sumber data keamanan, alat analisis keamanan, dan kueri CSA berfungsi bersama.
Diagram ini dimulai dengan sumber data keamanan berikut: log dari Cloud Logging, perubahan aset dari Inventaris Aset Cloud, dan temuan keamanan dari Security Command Center. Diagram kemudian menunjukkan sumber data keamanan ini yang diarahkan ke alat analisis keamanan pilihan Anda: Log Analytics di Cloud Logging, BigQuery, Chronicle, atau SIEM pihak ketiga. Terakhir, diagram menunjukkan penggunaan kueri CSA dengan alat analisis untuk menganalisis data keamanan yang tersusun.
Alur kerja analisis log keamanan
Bagian ini menjelaskan langkah-langkah untuk menyiapkan analisis log keamanan di Google Cloud. Alur kerja terdiri dari tiga langkah yang ditampilkan dalam diagram berikut dan dijelaskan dalam paragraf berikut:
Aktifkan log: Ada banyak log keamanan yang tersedia di Google Cloud. Setiap log memiliki informasi berbeda yang dapat berguna untuk menjawab pertanyaan keamanan tertentu. Beberapa log seperti log audit Aktivitas Admin diaktifkan secara default; yang lain perlu diaktifkan secara manual karena akan menimbulkan biaya transfer tambahan di Cloud Logging. Oleh karena itu, langkah pertama dalam alur kerja ini adalah memprioritaskan log keamanan yang paling relevan untuk kebutuhan analisis keamanan Anda dan mengaktifkan log spesifik tersebut satu per satu.
Untuk membantu Anda mengevaluasi log dalam hal cakupan visibilitas dan deteksi ancaman yang diberikan, panduan ini menyertakan lalat pencakupan log. Alat ini memetakan setiap log ke taktik dan teknik ancaman yang relevan dalam Matriks MITRE ATT&CK® untuk Perusahaan. Alat ini juga memetakan aturan Deteksi Ancaman Peristiwa di Security Command Center ke log yang diandalkan. Anda dapat menggunakan alat pencakupan log untuk mengevaluasi log, terlepas dari alat analisis yang Anda gunakan.
Rute log: Setelah mengidentifikasi dan mengaktifkan log untuk dianalisis, langkah selanjutnya adalah merutekan dan menggabungkan log dari organisasi Anda, termasuk folder, project, dan akun penagihan yang ada di dalamnya. Cara Anda merutekan log bergantung pada alat analisis yang Anda gunakan.
Panduan ini menjelaskan tujuan pemilihan rute log yang umum, dan menunjukkan cara menggunakan Cloud Logging sink gabungan untuk mengarahkan log seluruh organisasi ke Cloud Logging bucket log atau set data BigQuery, tergantung pada apakah Anda memilih menggunakan Log Analytics atau BigQuery untuk analisis.
Analisis log: Setelah mengarahkan log ke alat analisis, langkah selanjutnya adalah melakukan analisis log ini untuk mengidentifikasi potensi ancaman keamanan. Cara menganalisis log bergantung pada alat analisis yang Anda gunakan. Jika Anda menggunakan Log Analytics atau BigQuery, Anda dapat menganalisis log dengan menggunakan kueri SQL. Jika Anda menggunakan Chronicle, Anda menganalisis log menggunakan aturan YARA-L. Jika Anda menggunakan alat SIEM pihak ketiga, Anda menggunakan bahasa kueri yang ditentukan oleh alat tersebut.
Dalam panduan ini, Anda akan menemukan kueri SQL yang dapat digunakan untuk menganalisis log di Log Analytics atau BigQuery. Kueri SQL yang disediakan dalam panduan ini berasal dari project Analisis Keamanan Komunitas (CSA). CSA adalah kumpulan analisis keamanan dasar open source yang dirancang untuk memberi Anda dasar pengukuran kueri dan aturan bawaan yang dapat digunakan kembali untuk mulai menganalisis log Google Cloud Anda.
Bagian berikut memberikan informasi mendetail mengenai cara menyiapkan dan menerapkan setiap langkah dalam alur kerja analisis log keamanan.
Aktifkan log
Proses pengaktifan log melibatkan langkah-langkah berikut:
- Identifikasi log yang Anda butuhkan dengan menggunakan alat pencakupan log dalam panduan ini.
- Catat filter log yang dihasilkan oleh alat cakupan log untuk digunakan nanti saat mengonfigurasi sink log.
- Aktifkan logging untuk setiap jenis log atau layanan Google Cloud yang diidentifikasi. Bergantung pada layanannya, Anda mungkin juga perlu mengaktifkan log audit Akses Data yang sesuai seperti yang dijelaskan nanti di bagian ini.
Mengidentifikasi log menggunakan alat pencakupan log
Untuk membantu mengidentifikasi log yang memenuhi kebutuhan keamanan dan kepatuhan, Anda dapat menggunakan alat pencakupan log yang ditunjukkan di bagian ini. Alat ini menyediakan tabel interaktif yang mencantumkan log penting yang relevan dengan keamanan di seluruh Google Cloud, termasuk Cloud Audit Logs, log Transparansi Akses, log jaringan, dan beberapa log platform. Alat ini memetakan setiap jenis log ke area berikut:
- Taktik dan teknik ancaman MITRE ATT&CK tyang dapat dipantau dengan log tersebut.
- Pelanggaran kepatuhan CIS Google Cloud Computing Platform yang dapat terdeteksi dalam log tersebut.
- Aturan Event Threat Detection yang mengandalkan log tersebut.
Alat cakupan log juga menghasilkan filter log yang muncul tepat setelah tabel. Saat Anda mengidentifikasi log yang diperlukan, pilih log tersebut di alat untuk memperbarui filter log tersebut secara otomatis.
Prosedur singkat berikut menjelaskan cara menggunakan alat pencakupan log:
- Untuk memilih atau menghapus log dalam alat cakupan log, klik tombol di samping nama log.
- Untuk memilih atau menghapus semua log, klik tombol di samping judul Log type.
- Untuk melihat teknik MITRE ATT&CK yang dapat dipantau oleh setiap jenis log, klik di samping judul Taktik dan teknik MITRE ATT&CK.
Alat pencakupan logg
Merekam filter log
Filter log yang otomatis dibuat oleh alat pencakupan log berisi semua log yang telah Anda pilih di alat ini. Anda dapat menggunakan filter apa adanya atau menyaring filter log lebih lanjut sesuai kebutuhan Anda. Misalnya, Anda dapat menyertakan (atau mengecualikan) resource hanya dalam satu atau beberapa project tertentu. Setelah memiliki filter log yang memenuhi persyaratan logging, Anda harus menyimpan filter untuk digunakan saat merutekan log. Misalnya, Anda dapat menyimpan filter dalam editor teks atau menyimpannya dalam variabel lingkungan sebagai berikut:
- Di bagian "Auto-generated log filter" yang mengikuti alat ini, salin kode untuk filter log.
- Opsional: Edit kode yang disalin untuk menyaring filter.
Di Cloud Shell, buat variabel untuk menyimpan filter log:
export LOG_FILTER='LOG_FILTER'
Ganti
LOG_FILTER
dengan kode untuk filter log.
Mengaktifkan log platform khusus layanan
Untuk setiap log platform yang Anda pilih di alat pencakupan log, log tersebut harus diaktifkan (biasanya pada tingkat resource) berdasarkan layan ke layanan. Misalnya, log Cloud DNS diaktifkan di tingkat jaringan VPC. Demikian juga, Log Alur VPC diaktifkan di tingkat subnet untuk semua VM di subnet, dan log dari Logging Aturan Firewall diaktifkan di tingkat aturan firewall individual.
Setiap log platform memiliki petunjuk sendiri tentang cara mengaktifkan logging. Namun, Anda dapat menggunakan alat pencakupan log untuk membuka petunjuk yang relevan dengan cepat untuk setiap log platform.
Guna mempelajari cara mengaktifkan logging untuk log platform tertentu, lakukan hal berikutini:
- Di alat pencakupan log, temukan log platform yang ingin Anda aktifkan.
- Di kolom Aktifkan secara default, klik link Enable yang sesuai dengan log tersebut. Link tersebut akan membawa Anda ke petunjuk terperinci tentang cara mengaktifkan logging untuk layanan itu
Mengaktifkan log audit Akses Data
Seperti yang Anda lihat dalam alat pencakupan log, log audit Akses Data dari Cloud Audit Logs menyediakan cakupan deteksi ancaman yang luas. Namun, volumenya bisa jadi cukup besar. Mengaktifkan log audit Akses Data ini dapat mengakibatkan biaya tambahan terkait penyerapan, penyimpanan, ekspor, dan pemrosesan log tersebut. Bagian ini menjelaskan cara mengaktifkan log dan menyajikan beberapa praktik terbaik untuk membantu Anda melakukan kompromi antara nilai dan biaya.
Log audit Akses Data—kecuali untuk BigQuery—dinonaktifkan secara default. Untuk mengonfigurasi log audit Akses Data untuk layanan Google Cloud selain BigQuery, Anda harus mengaktifkannya secara eksplisit dengan menggunakan Google Cloud Console maupun menggunakan Google Cloud CLI untuk mengedit objek kebijakan Identity and Access Management (IAM). Saat mengaktifkan log audit Akses Data, Anda juga dapat mengonfigurasi jenis operasi yang dicatat. Ada tiga jenis log audit Akses Data:
ADMIN_READ
: Merekam operasi yang membaca metadata atau informasi konfigurasi.DATA_READ
: Merekam operasi yang membaca data yang disediakan pengguna.DATA_WRITE
: Merekam operasi yang menulis data yang disediakan pengguna.
Perhatikan bahwa Anda tidak dapat mengonfigurasi perekaman operasi ADMIN_WRITE
, yaitu operasi yang menulis metadata atau informasi konfigurasi. ADMIN_WRITE
Operasi disertakan dalam log audit Aktivitas Admin dari Cloud Audit Logs
sehingga tidak dapat dinonaktifkan.
Mengelola volume log audit Akses Data
Saat mengaktifkan log audit Akses Data, tujuannya adalah untuk memaksimalkan nilai dalam hal visibilitas keamanan sekaligus membatasi biaya dan beban pengelolaannya. Untuk membantu Anda mencapai sasaran tersebut, sebaiknya lakukan tindakan berikut untuk memfilter log bernilai rendah dan bervolume tinggi:
- Prioritaskan layanan yang relevan seperti layanan yang menghosting beban kerja, kunci, dan data sensitif. Untuk contoh layanan tertentu yang mungkin ingin Anda prioritaskan daripada layanan lainnya, lihat Contoh konfigurasi log audit Akses Data.
Prioritaskan project yang relevan seperti project yang menghosting beban kerja produksi, bukan project yang menghosting lingkungan staging dan developer. Untuk memfilter semua log dari project tertentu, tambahkan ekspresi berikut ke filter log untuk sink Anda. Ganti PROJECT_ID dengan ID project tempat Anda ingin memfilter semua log:
Project Ekspresi filter log Mengecualikan semua log dari project tertentu NOT logName =~ "^projects/PROJECT_ID"
Prioritaskan subset operasi akses data seperti
ADMIN_READ
,DATA_READ
, atauDATA_WRITE
untuk set minimal operasi yang tercatat. Misalnya, beberapa layanan seperti Cloud DNS menulis ketiga jenis operasi, tetapi Anda dapat mengaktifkan logging hanya untukADMIN_READ
operasi. Setelah mengonfigurasi salah satu dari tiga jenis operasi akses data ini, Anda dapat mengecualikan operasi tertentu yang memiliki volume sangat tinggi. Anda dapat mengecualikan operasi bervolume tinggi ini dengan memodifikasi filter log sink. Misalnya, Anda memutuskan untuk mengaktifkan logging audit Akses Data lengkap, termasuk operasiDATA_READ
di beberapa layanan penyimpanan penting. Untuk mengecualikan operasi baca data traffic tinggi tertentu dalam situasi ini, Anda dapat menambahkan ekspresi filter log yang direkomendasikan berikut ke filter log sink Anda:Layanan Ekspresi filter log Mengecualikan log bervolume tinggi dari Cloud Storage NOT (resource.type="gcs_bucket" AND (protoPayload.methodName="storage.buckets.get" OR protoPayload.methodName="storage.buckets.list"))
Mengecualikan log bervolume tinggi dari Cloud SQL NOT (resource.type="cloudsql_database" AND protoPayload.request.cmd="select")
Prioritaskan resource yang relevan seperti resource yang menghosting workload dan data yang paling sensitif. Anda dapat mengklasifikasikan resource berdasarkan nilai data yang diproses, dan risiko keamanannya, seperti apakah resource tersebut dapat diakses secara eksternal atau tidak. Meskipun log audit Akses Data diaktifkan per layanan, Anda dapat memfilter resource atau jenis resource tertentu melalui filter log.
Kecualikan akun utama tertentu agar akses datanya tidak dicatat. Misalnya, Anda dapat mengecualikan akun pengujian internal agar tidak tercatat operasinya. Untuk mempelajari lebih lanjut, lihat Tetapkan pengecualian di dokumentasi log audit Akses Data.
Contoh konfigurasi log audit Akses Data
Tabel berikut menyediakan konfigurasi log audit Akses Data dasar pengukuran yang dapat Anda gunakan untuk project Google Cloud guna membatasi volume log sekaligus mendapatkan visibilitas keamanan yang berharga:
Tingkat | Service | Jenis log audit Akses Data | Taktik MITRE ATT&CK |
---|---|---|---|
Layanan autentikasi & otorisasi | IAM Identity-Aware Proxy (IAP)1 Cloud KMS Secret Manager Resource Manager |
ADMIN_READ DATA_READ |
Penemuan Akses Kredensial Eskalasi Akses |
Layanan penyimpanan | BigQuery (diaktifkan secara default) Cloud Storage1, 2 |
DATA_READ DATA_WRITE |
Koleksi Pemindahan yang tidak sah |
Layanan infrastructure | Compute Engine Kebijakan Organisasi |
ADMIN_READ | Penemuan |
1 Mengaktifkan log audit Akses Data untuk IAP atau Cloud Storage dapat menghasilkan volume log yang besar saat ada traffic tinggike resource web yang dilindungi IAP atau ke objek Cloud Storage.
2 Mengaktifkan log audit Akses Data untuk Cloud Storage dapat merusak penggunaan download browser terautentikasi untuk objek non-publik. Untuk mengetahui detail selengkapnya dan solusi yang disarankan untuk masalah ini, lihat panduan pemecahan masalah Cloud Storage
Dalam contoh konfigurasi, perhatikan bagaimana layanan dikelompokkan dalam tingkatan sensitivitas berdasarkan data, metadata, atau konfigurasi yang mendasarinya. Tingkatan ini menunjukkan perincian yang direkomendasikan untuk logging audit Akses Data berikut ini:
- Layanan autentikasi & otorisasi: Untuk tingkat layanan ini, sebaiknya audit semua operasi akses data. Level audit ini membantu Anda memantau akses ke kunci sensitif, secret, dan kebijakan IAM Anda. Memantau akses ini dapat membantu Anda mendeteksi taktik MITRE ATT&CK seperti Discovery, Akses Kredensial, dan Eskalasi Akses.
- Layanan penyimpanan: Untuk tingkat layanan ini, kami merekomendasikan untuk mengaudit operasi akses data yang melibatkan data yang disediakan pengguna. Tingkat audit ini membantu Anda memantau akses ke data Anda yang berharga dan sensitif. Memantau akses ini dapat membantu Anda mendeteksi taktik MITRE ATT&CK seperti Koleksi and Pemindahan yang tidak sah terhadap data Anda.
- Layanan infrastruktur: Untuk tingkat layanan ini, sebaiknya audit operasi akses data yang melibatkan metadata atau informasi konfigurasi. Tingkat audit ini membantu Anda memantau pemindaian konfigurasi infrastruktur. Memantau akses ini dapat membantu Anda mendeteksi taktik MITRE ATT&CK seperti Discovery terhadap workload Anda.
Log rute
Setelah log diidentifikasi dan diaktifkan, langkah berikutnya adalah merutekan log ke satu tujuan. Tujuan pemilihan rute, jalur, dan kompleksitas bervariasi, bergantung pada alat analisis yang Anda gunakan, seperti yang ditunjukkan pada diagram berikut.
Diagram menunjukkan opsi pemilihan rute berikut:
Jika menggunakan Log Analytics, Anda memerlukan sink gabungan untuk menggabungkan log dari seluruh organisasi Google Cloud ke dalam satu bucket Cloud Logging.
Jika menggunakan BigQuery, Anda memerlukan sink gabungan untuk menggabungkan log dari seluruh organisasi Google Cloud Anda ke dalam satu set data BigQuery.
Jika Anda menggunakan Chronicle dan subset log yang telah ditetapkan ini memenuhi kebutuhan analisis keamanan, Anda dapat otomatis menggabungkan log ini ke dalam akun Chronicle menggunakan penyerapan Chronicle bawaan. Anda juga dapat melihat kumpulan log yang telah ditentukan ini dengan melihat kolom Dapat diekspor langsung ke Chronicle pada alat pencakupan log. Untuk mengetahui informasi selengkapnya tentang cara mengekspor log yang telah ditetapkan ini, lihat Menyerap log Google Cloud ke Chronicle.
Jika Anda menggunakan BigQuery atau SIEM pihak ketiga, atau ingin mengekspor kumpulan log yang diperluas ke Chronicle, diagram menunjukkan bahwa langkah tambahan diperlukan antara mengaktifkan log dan menganalisisnya. Langkah tambahan ini terdiri dari mengonfigurasi sink gabungan yang merutekan log yang dipilih dengan tepat. Jika Anda menggunakan BigQuery, sink ini adalah yang Anda butuhkan untuk merutekan log ke BigQuery. Jika Anda menggunakan SIEM pihak ketiga, Anda harus memiliki sink menggabungkan log yang dipilih di Pub/Sub atau Cloud Storage sebelum log tersebut dapat ditarik ke alat analisis Anda.
Opsi pemilihan rute ke Chronicle dan SIEM pihak ketiga tidak dibahas dalam panduan ini. Namun, bagian berikut memberikan langkah-langkah mendetail untuk merutekan log ke Log Analytics atau BigQuery:
- Menyiapkan satu tujuan
- Membuat sink log gabungan
- Memberikan akses ke sink
- Mengonfigurasi akses baca ke tujuan
- Verifikasi bahwa log dirutekan ke tujuan
Menyiapkan satu tujuan
Log Analytics
Buka konsol Google Cloud di project Google Cloud tempat Anda ingin menggabungkan log.
Di terminal Cloud Shell, jalankan perintah
gcloud
berikut untuk membuat bucket log:gcloud logging buckets create BUCKET_NAME \ --location=BUCKET_LOCATION \ --project=PROJECT_ID
Ganti kode berikut:
PROJECT_ID
: ID project Google Cloud tempat log gabungan akan disimpan.BUCKET_NAME
: nama bucket Logging baru.BUCKET_LOCATION
: lokasi geografis bucket Logging baru. Lokasi yang didukung adalahglobal
,us
, ataueu
. Untuk mempelajari region penyimpanan ini lebih lanjut, lihat Region yang didukung. Jika Anda tidak menentukan lokasi, maka regionglobal
akan digunakan, yang berarti log dapat secara fisik berlokasi di region mana pun.
Pastikan bahwa bucket telah dibuat:
gcloud logging buckets list --project=PROJECT_ID
(Opsional) Tetapkan periode retensi data log di bucket. Contoh berikut memperluas retensi log yang disimpan di bucket hingga 365 hari:
gcloud logging buckets update BUCKET_NAME \ --location=BUCKET_LOCATION \ --project=PROJECT_ID \ --retention-days=365
Upgrade bucket baru Anda untuk menggunakan Log Analytics dengan mengikuti langkah-langkah ini.
BigQuery
Buka konsol Google Cloud di project Google Cloud tempat Anda ingin menggabungkan log.
Di terminal Cloud Shell, jalankan perintah
bq mk
berikut untuk membuat set data:bq --location=DATASET_LOCATION mk \ --dataset \ --default_partition_expiration=PARTITION_EXPIRATION \ PROJECT_ID:DATASET_ID
Ganti kode berikut:
PROJECT_ID
: ID project Google Cloud tempat log gabungan akan disimpan.DATASET_ID
: ID set data BigQuery yang baru.DATASET_LOCATION
: lokasi geografis set data. Setelah set data dibuat, lokasi tidak dapat diubah.PARTITION_EXPIRATION
: masa aktif default (dalam detik) untuk partisi dalam tabel yang dipartisi yang dibuat oleh sink log. Anda akan mengonfigurasi sink log di bagian berikutnya. Sink log yang Anda konfigurasi menggunakan tabel yang dipartisi menurut hari berdasarkan stempel waktu entri log. Partisi (termasuk entri log terkait) akan dihapusPARTITION_EXPIRATION
detik setelah tanggal partisi.
Membuat sink log gabungan
Anda mengarahkan log organisasi ke tujuan dengan membuat sink gabungan di tingkat organisasi. Untuk menyertakan semua log yang dipilih dalam alat pencakupan log, konfigurasikan sink dengan filter log yang dihasilkan oleh alat pencakupan log.
Log Analytics
Di terminal Cloud Shell, jalankan perintah
gcloud
berikut untuk membuat sink gabungan di tingkat organisasi:gcloud logging sinks create SINK_NAME \ logging.googleapis.com/projects/PROJECT_ID/locations/BUCKET_LOCATION/buckets/BUCKET_NAME \ --log-filter="LOG_FILTER" \ --organization=ORGANIZATION_ID \ --include-children
Ganti hal berikut:
SINK_NAME
: nama sink yang merutekan log.PROJECT_ID
: ID project Google Cloud tempat log gabungan akan disimpan.BUCKET_LOCATION
: lokasi bucket Logging yang Anda buat untuk penyimpanan log.BUCKET_NAME
: nama bucket Logging yang Anda buat untuk penyimpanan log.LOG_FILTER
: filter log yang disimpan dari alat pencakupan log.ORGANIZATION_ID
: ID resource untuk organisasi Anda.
Flag
--include-children
penting agar log dari semua project Google Cloud dalam organisasi Anda juga disertakan. Untuk mengetahui informasi selengkapnya, lihat Menggabungkan dan merutekan log tingkat organisasi ke tujuan yang didukung.Pastikan sink dibuat:
gcloud logging sinks list --organization=ORGANIZATION_ID
Dapatkan nama akun layanan yang terkait dengan sink yang baru saja Anda buat:
gcloud logging sinks describe SINK_NAME --organization=ORGANIZATION_ID
Outputnya terlihat mirip dengan yang berikut ini:
writerIdentity: serviceAccount:p1234567890-12345@logging-o1234567890.iam.gserviceaccount.com`
Salin seluruh string untuk
writerIdentity
yang dimulai dengan serviceAccount:. ID ini adalah akun layanan sink. Sampai Anda memberikan memberikan akses tulis ke bucket log akun layanan ini, pemilihan rute log dari sink ini akan gagal. Anda memberikan akses tulis ke identitas penulis sink di bagian berikutnya.
BigQuery
Di terminal Cloud Shell, jalankan perintah
gcloud
berikut untuk membuat sink gabungan di level organisasi:gcloud logging sinks create SINK_NAME \ bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID \ --log-filter="LOG_FILTER" \ --organization=ORGANIZATION_ID \ --use-partitioned-tables \ --include-children
Ganti kode berikut:
SINK_NAME
: nama sink yang merutekan log.PROJECT_ID
: ID untuk project Google Cloud tempat Anda ingin menggabungkan log.DATASET_ID
: ID set data BigQuery yang Anda buat.LOG_FILTER
: filter log yang disimpan dari alat pencakupan log.ORGANIZATION_ID
: ID resource untuk organisasi Anda.
Flag
--include-children
penting agar log dari semua project Google Cloud dalam organisasi Anda juga disertakan. Untuk mengetahui informasi selengkapnya, lihat Menggabungkan dan merutekan log tingkat organisasi ke tujuan yang didukung.Flag
--use-partitioned-tables
penting agar data dipartisi menurut hari berdasarkan kolomtimestamp
entri log Hal ini menyederhanakan pembuatan kueri data dan membantu mengurangi biaya kueri dengan mengurangi jumlah data yang dipindai oleh kueri. Manfaat lain dari tabel yang dipartisi adalah Anda dapat menetapkan masa berlaku partisi default pada level set data untuk memenuhi persyaratan retensi log Anda. Anda telah menetapkan masa berlaku partisi default saat membuat tujuan set data di bagian sebelumnya. Anda juga dapat memilih untuk menetapkan masa berlaku partisi di setiap level tabel, yang memberi Anda kontrol retensi data di terperinci berdasarkan jenis log.Pastikan sink dibuat:
gcloud logging sinks list --organization=ORGANIZATION_ID
Dapatkan nama akun layanan yang terkait dengan sink yang baru saja Anda buat:
gcloud logging sinks describe SINK_NAME --organization=ORGANIZATION_ID
Outputnya terlihat mirip dengan yang berikut ini:
writerIdentity: serviceAccount:p1234567890-12345@logging-o1234567890.iam.gserviceaccount.com`
Salin seluruh string untuk
writerIdentity
yang dimulai dengan serviceAccount:. ID ini adalah akun layanan sink. Sampai Anda memberikan akses tulis akun layanan ini ke set data BigQuery, perutean log dari sink ini akan gagal. Anda memberikan akses tulis ke identitas penulis sink di bagian berikutnya.
Memberikan akses ke sink
Setelah membuat sink log, Anda harus memberi sink akses untuk menulis ke tujuannya, baik itu bucket Logging maupun set data BigQuery.
Log Analytics
Untuk menambahkan izin ke akun layanan sink, ikuti langkah-langkah berikut:
Di Konsol Google Cloud, buka halaman IAM:
Pastikan Anda telah memilih project Google Cloud tujuan yang berisi bucket Logging yang Anda buat untuk penyimpanan log pusat.
Klik person_add Grant access.
Di kolom New principals, masukkan akun layanan sink tanpa awalan
serviceAccount:
. Ingat bahwa identitas ini berasal dari kolomwriterIdentity
yang Anda ambil di bagian sebelumnya setelah Anda membuat sink.Di menu drop-down Pilih peran, pilih Penulis Bucket Log.
Klik Add IAM condition untuk membatasi akses akun layanan hanya ke bucket log yang Anda buat.
Masukkan Judul dan Deskripsi untuk kondisi.
Di menu drop-down Jenis kondisi, pilih Resource > Nama.
Di menu drop-down Operator, pilih Diakhiri dengan.
Pada kolom Value, masukkan lokasi dan nama bucket sebagai berikut:
locations/BUCKET_LOCATION/buckets/BUCKET_NAME
Klik Simpan untuk menambahkan kondisi tersebut.
Klik Save untuk menetapkan izin.
BigQuery
Untuk menambahkan izin ke akun layanan sink, ikuti langkah-langkah berikut:
Di Konsol Google Cloud, buka BigQuery.
Buka set data BigQuery yang Anda buat untuk penyimpanan log pusat.
Di tab Info set data, klik menu drop-down Sharingkeyboard_arrow_down lalu klik Permissions.
Di panel samping Dataset Permissions, klik Add Principal.
Di kolom New principals, masukkan akun layanan sink tanpa awalan
serviceAccount:
. Ingat bahwa identitas ini berasal dari kolomwriterIdentity
yang Anda ambil di bagian sebelumnya setelah Anda membuat sink.Di menu drop-down Peran, pilih Editor Data BigQuery.
Klik Save.
Setelah Anda memberikan akses ke sink, entri log akan mulai mengisi tujuan sink: bucket Logging atau set data BigQuery.
Mengonfigurasi akses baca ke tujuan
Setelah sink log merutekan log dari seluruh organisasi Anda ke dalam satu tujuan, Anda dapat melakukan penelusuran di semua log tersebut. Gunakan izin IAM untuk mengelola izin dan memberikan akses sesuai kebutuhan.
Log Analytics
Untuk memberikan akses guna melihat dan membuat kueri log di bucket log baru Anda, ikuti langkah-langkah berikut.
Di Konsol Google Cloud, buka halaman IAM:
Pastikan Anda telah memilih project Google Cloud yang akan digunakan untuk menggabungkan log.
Click person_add Add.
Di kolom New principal, tambahkan akun email Anda.
Di menu drop-down Select a role, pilih Logs Views Accessor.
Peran ini memberi akun utama yang baru ditambahkan akses baca ke semua tampilan untuk setiap bucket dalam project Google Cloud. Untuk membatasi akses pengguna, tambahkan kondisi yang memungkinkan pengguna hanya membaca dari bucket baru Anda.
Klik Tambahkan Kondisi.
Masukkan Judul dan Deskripsi untuk kondisi.
Di menu drop-down Jenis kondisi, pilih Resource > Nama.
Di menu drop-down Operator, pilih Diakhiri dengan.
Di kolom Value, masukkan lokasi dan nama bucket, serta tampilan log default
_AllLogs
seperti berikut:locations/BUCKET_LOCATION/buckets/BUCKET_NAME/views/_AllLogs
Klik Simpan untuk menambahkan kondisi tersebut.
Klik Save untuk menetapkan izin.
BigQuery
Untuk memberikan akses melihat dan melakukan kueri log di set data BigQuery Anda, ikuti langkah-langkah di bagian Pemberian akses ke set data dalam dokumentasi BigQuery.
Verifikasi bahwa log dirutekan ke tujuan
Log Analytics
Saat Anda merutekan log ke bucket log yang diupgrade ke Log Analytics, Anda dapat melihat dan membuat kueri semua entri log melalui satu tampilan log dengan skema terpadu untuk semua jenis log. Ikuti langkah berikut untuk memverifikasi bahwa log diarahkan dengan benar.
Di konsol Google Cloud, buka halaman Log Analytics:
Pastikan Anda telah memilih project Google Cloud yang akan digunakan untuk menggabungkan log.
Klik tab Log Views.
Luaskan tampilan log di bagian bucket log yang telah Anda buat (yaitu
BUCKET_NAME
) jika belum diperluas.Pilih tampilan log default
_AllLogs
. Sekarang Anda dapat memeriksa seluruh skema log di panel kanan, seperti yang ditunjukkan pada screenshot berikut:Di samping
_AllLogs
, klik Query . Tindakan ini akan mengisi editor Query dengan sampel kueri SQL untuk mengambil entri log yang baru saja dirutekan.Klik Run query untuk melihat entri log yang baru saja dirutekan.
Bergantung pada tingkat aktivitas dalam project Google Cloud di organisasi Anda, Anda mungkin harus menunggu beberapa menit sampai beberapa log dibuat, lalu dirutekan ke bucket log Anda.
BigQuery
Saat Anda mengarahkan log ke set data BigQuery, Cloud Logging akan membuat tabel BigQuery untuk menyimpan entri log seperti yang ditunjukkan ada screenshot berikut:
Screenshot menunjukkan cara Cloud Logging memberi nama setiap tabel BigQuery
berdasarkan nama log tempat entri log berada. Misalnya,
the cloudaudit_googleapis_com_data_access
tabel yang dipilih di
screenshot berisi log audit Akses Data yang ID log-nya adalah
cloudaudit.googleapis.com%2Fdata_access
. Selain diberi nama berdasarkan
entri log yang sesuai, setiap tabel juga dipartisi berdasarkan
stempel waktu untuk setiap entri log.
Bergantung pada tingkat aktivitas dalam project Google Cloud di organisasi Anda, Anda mungkin harus menunggu beberapa menit sampai beberapa log dibuat, lalu dirutekan ke set data BigQuery.
Analisis log
Anda dapat menjalankan berbagai kueri terhadap log platform dan audit. Daftar berikut menyediakan kumpulan contoh pertanyaan keamanan yang mungkin ingin Anda ajukan dari log Anda sendiri. Untuk setiap pertanyaan dalam daftar ini, ada dua versi kueri CSA yang sesuai: satu untuk digunakan dengan Log Analytics dan satu lagi untuk digunakan dengan BigQuery. Gunakan versi kueri yang cocok dengan tujuan sink yang sebelumnya Anda siapkan.
Log Analytics
Sebelum menggunakan salah satu kueri SQL di bawah ini, ganti MY_PROJECT_ID
dengan ID project Google Cloud tempat Anda membuat bucket log (yaitu PROJECT_ID)
, dan MY_DATASET_ID
dengan region dan nama bucket log tersebut (yaitu
BUCKET_LOCATION.BUCKET_NAME
).
BigQuery
Sebelum menggunakan salah satu kueri SQL di bawah ini, ganti MY_PROJECT_ID
dengan ID project Google Cloud tempat Anda membuat set data BigQuery (yaitu PROJECT_ID)
, dan MY_DATASET_ID
dengan nama set data tersebut, yaitu DATASET_ID
.
- Pertanyaan terkait login dan akses
- Pertanyaan terkait perubahan izin
- Pertanyaan aktivitas penyediaan
- Pertanyaan terkait penggunaan beban kerja
- Pertanyaan terkait akses data
- Pengguna mana yang paling sering mengakses data dalam seminggu terakhir?
- Pengguna mana yang mengakses data di tabel "akun" bulan lalu?
- Tabel apa yang paling sering diakses dan oleh siapa?
- Apa saja 10 kueri teratas terhadap BigQuery dalam seminggu terakhir?
- Apa saja tindakan paling umum yang tercatat dalam log akses data selama sebulan terakhir?
- Pertanyaan keamanan jaringan
Pertanyaan terkait login dan akses
Contoh kueri ini melakukan analisis untuk mendeteksi upaya login yang mencurigakan atau upaya akses awal ke lingkungan Google Cloud Anda.
Apakah ada upaya login mencurigakan yang ditandai oleh Google Workspace?
Dengan menelusuri log Cloud Identity yang merupakan bagian dari Audit Login Google Workspace, kueri berikut mendeteksi upaya login mencurigakan yang ditandai oleh Google Workspace. Upaya login tersebut dapat dilakukan dari Google Cloud Console, konsol Admin, atau gcloud CLI.
Log Analytics
BigQuery
Apakah ada kegagalan login berlebihan dari identitas pengguna mana pun?
Dengan menelusuri log Cloud Identity yang merupakan bagian dari Audit Login Google Workspace, kueri berikut mendeteksi pengguna yang mengalami tiga kegagalan login atau lebih berturut-turut dalam 24 jam terakhir.
Log Analytics
BigQuery
Adakah upaya akses yang melanggar Kontrol Layanan VPC?
Dengan menganalisis log audit Kebijakan Ditolak dari Cloud Audit Logs, kueri berikut mendeteksi upaya akses yang diblokir oleh Kontrol Layanan VPC. Setiap hasil kueri dapat menunjukkan potensi aktivitas berbahaya seperti upaya akses dari jaringan yang tidak sah menggunakan kredensial yang dicuri.
Log Analytics
BigQuery
Apakah ada upaya akses yang melanggar kontrol akses IAP?
Dengan menganalisis log Load Balancer Aplikasi eksternal, kueri berikut mendeteksi upaya akses yang diblokir oleh IAP. Setiap hasil kueri mungkin dapat menunjukkan upaya akses awal atau upaya eksploitasi kerentanan.
Log Analytics
BigQuery
Pertanyaan terkait perubahan izin
Contoh kueri ini menjalankan analisis atas aktivitas administrator yang mengubah izin, termasuk perubahan pada kebijakan IAM, grup dan keanggotaan grup, akun layanan, serta kunci terkait. Perubahan izin tersebut dapat memberikan akses tingkat tinggi ke lingkungan atau data sensitif.
Adakah pengguna yang ditambahkan ke grup dengan hak istimewa tinggi?
Dengan menganalisis log audit Audit Admin Google Workspace
kueri berikut mendeteksi pengguna yang telah ditambahkan ke salah satu
grup dengan hak istimewa yang tercantum dalam kueri. Anda menggunakan ekspresi reguler
dalam kueri untuk menentukan grup mana (seperti admin@example.com
atau prod@example.com
)
yang akan dipantau. Hasil kueri apa pun dapat menunjukkan eskalasi hak istimewa yang berbahaya atau tidak disengaja.
Log Analytics
BigQuery
Apakah ada izin yang diberikan melalui akun layanan?
Dengan menganalisis log audit Aktivitas Admin dari Cloud Audit Logs, kueri berikut mendeteksi izin apa pun yang telah diberikan ke akun utama melalui akun layanan. Contoh izin yang mungkin diberikan adalah kemampuan untuk meniru identitas akun layanan tersebut atau membuat kunci akun layanan. Setiap hasil kueri dapat mengindikasikan adanya eskalasi hak istimewa atau risiko kebocoran kredensial.
Log Analytics
BigQuery
Apakah ada kunci atau akun layanan yang dibuat oleh identitas yang tidak disetujui?
Dengan menganalisis log audit Aktivitas Admin, kueri berikut mendeteksi semua akun layanan atau kunci yang dibuat secara manual oleh pengguna. Misalnya, Anda dapat mengikuti praktik terbaik untuk hanya mengizinkan pembuatan akun layanan oleh akun layanan yang disetujui sebagai bagian dari alur kerja otomatis. Oleh karena itu, pembuatan akun layanan apa pun di luar alur kerja tersebut dianggap tidak mematuhi kebijakan dan mungkin berbahaya.
Log Analytics
BigQuery
Apakah ada pengguna yang ditambahkan ke (atau dihapus dari) kebijakan IAM sensitif?
Dengan menelusuri log audit Aktivitas perubahan akses pengguna atau grup untuk resource yang diamankan oleh IAP seperti
layanan backend Compute Engine. Kueri berikut menelusuri semua
pembaruan kebijakan IAM untuk resource IAP yang melibatkan peran
IAM roles/iap.httpsResourceAccessor
. Peran ini memberikan izin untuk mengakses
resource HTTPS atau layanan backend. Setiap hasil kueri dapat menunjukkan
upaya untuk mengabaikan pertahanan layanan backend yang mungkin terekspos
ke internet.
Log Analytics
BigQuery
Pertanyaan aktivitas penyediaan
Contoh kueri ini melakukan analisis untuk mendeteksi aktivitas admin yang mencurigakan atau tidak wajar, seperti penyediaan dan konfigurasi resource.
Apakah ada perubahan pada setelan logging?
Dengan menelusuri log audit Aktivitas Admin, kueri berikut mendeteksi perubahan apa pun yang dilakukan pada setelan logging. Pemantauan setelan logging membantu Anda mendeteksi penonaktifan log audit yang tidak disengaja atau berbahaya serta teknik pengelakan pertahanan yang serupa.
Log Analytics
BigQuery
Apakah ada Log Alur VPC yang dinonaktifkan secara aktif?
Dengan menelusuri log audit Aktivitas Admin, kueri berikut mendeteksi semua subnet yang Log Alur VPCnya dinonaktifkan secara aktif . Pemantauan setelan Log Alur VPC membantu Anda mendeteksi penonaktifan yang tidak disengaja atau berbahaya terhadap Log Alur VPC dan teknik penghindaran pertahanan serupa.
Log Analytics
BigQuery
Apakah ada terlalu banyak aturan firewall yang dimodifikasi dalam seminggu terakhir?
Dengan menelusuri log audit Aktivitas Admin, kueri berikut mendeteksi perubahan aturan firewall yang sangat banyak pada hari tertentu dalam seminggu terakhir. Untuk menentukan apakah ada pencilan, kueri melakukan analisis statistik terhadap jumlah harian perubahan aturan firewall. Rata-rata dan standar deviasi dihitung untuk setiap hari dengan melihat kembali jumlah harian sebelumnya dengan periode lihat balik 90 hari. Outliers diperhitungkan jika jumlah harian lebih dari dua deviasi standar di atas rata-rata. Kueri, termasuk faktor deviasi standar dan periode lihat balik, semuanya dapat dikonfigurasi agar sesuai dengan profil aktivitas penyediaan cloud Anda dan untuk meminimalkan positif palsu (PP).
Log Analytics
BigQuery
Apakah ada VM yang dihapus dalam seminggu terakhir?
Dengan menelusuri log audit Aktivitas Admin, kueri berikut mencantumkan setiap instance Compute Engine yang dihapus dalam seminggu terakhir. Kueri ini dapat membantu Anda mengaudit penghapusan resource dan mendeteksi potensi aktivitas berbahaya.
Log Analytics
BigQuery
Pertanyaan terkait penggunaan beban kerja
Sampel kueri ini melakukan analisis untuk memahami siapa dan apa yang memakai beban kerja cloud dan API Anda, serta membantu mendeteksi potensi perilaku berbahaya secara internal atau eksternal.
Apakah ada penggunaan API yang sangat tinggi oleh identitas pengguna dalam seminggu terakhir?
Dengan menganalisis semua Cloud Audit Logs, kueri berikut mendeteksi penggunaan API yang sangat tinggi oleh identitas pengguna pada hari tertentu dalam seminggu terakhir. Penggunaan tinggi yang tidak biasa tersebut dapat menjadi indikator potensi penyalahgunaan API, ancaman orang dalam, atau kebocoran kredensial. Untuk menentukan apakah ada pencilan, kueri ini melakukan analisis statistik atas jumlah tindakan harian per akun utama. Rata-rata dan deviasi standar dihitung untuk setiap hari dan untuk setiap utama dengan melihat kembali jumlah harian sebelumnya dengan periode lihat balik 60 hari. Pencilan diperhitungkan jika jumlah harian untuk pengguna lebih dari tiga deviasi standar di atas rata-ratanya. Kueri, termasuk faktor standar deviasi dan periode lihat balik, dapat dikonfigurasi agar sesuai dengan profil aktivitas penyediaan cloud Anda dan untuk meminimalkan positif palsu (PP).
Log Analytics
BigQuery
Berapa penggunaan penskalaan otomatis per hari dalam sebulan terakhir?
Dengan menganalisis log audit Aktivitas Admin, kueri berikut melaporkan penggunaan penskalaan otomatis menurut hari selama sebulan terakhir. Kueri ini dapat digunakan untuk mengidentifikasi pola atau anomali yang menjamin penyelidikan keamanan lebih lanjut.
Log Analytics
BigQuery
Pertanyaan terkait akses data
Sampel kueri ini melakukan analisis untuk memahami siapa yang mengakses atau mengubah data di Google Cloud.
Pengguna mana yang paling sering mengakses data dalam seminggu terakhir?
Kueri berikut menggunakan log audit Akses Data untuk menemukan identitas pengguna yang paling sering mengakses data tabel BigQuery selama seminggu terakhir.
Log Analytics
BigQuery
Pengguna mana yang mengakses data di tabel "akun" bulan lalu?
Kueri berikut menggunakan log audit Akses Data untuk menemukan identitas
pengguna yang paling sering dikueri tabel accounts
tertentu selama sebulan terakhir.
Selain placeholder MY_DATASET_ID
dan
MY_PROJECT_ID
untuk tujuan ekspor BigQuery
Anda, kueri berikut menggunakan DATASET_ID
dan PROJECT_ID
placeholder. Anda harus mengganti ke placeholder DATASET_ID
dan PROJECT_ID
untuk menentukan tabel target yang aksesnya sedang dianalisis,
seperti tabel accounts
dalam contoh ini.
Log Analytics
BigQuery
Tabel apa yang paling sering diakses dan oleh siapa?
Kueri berikut menggunakan log audit Akses Data untuk menemukan tabel BigQuery dengan data yang paling sering dibaca dan diubah selama sebulan terakhir. Data ini menampilkan identitas pengguna terkait beserta perincian total frekuensi data dibaca versus diubah.
Log Analytics
BigQuery
Apa saja 10 kueri teratas terhadap BigQuery dalam seminggu terakhir?
Kueri berikut menggunakan log audit Akses Data untuk menemukan kueri yang paling umum selama seminggu terakhir. Kode ini juga mencantumkan pengguna yang sesuai dan tabel yang dirujuk.
Log Analytics
BigQuery
Apa saja tindakan paling umum yang tercatat dalam log akses data selama sebulan terakhir?
Kueri berikut menggunakan semua log dari Cloud Audit Logs untuk menemukan 100 tindakan yang paling sering yang tercatat selama sebulan terakhir.
Log Analytics
BigQuery
Pertanyaan terkait keamanan jaringan
Contoh kueri ini menjalankan analisis atas aktivitas jaringan Anda di Google Cloud.
Adakah koneksi dari alamat IP baru ke subnetwork tertentu?
Kueri berikut mendeteksi koneksi dari alamat IP sumber baru ke subnet tertentu dengan menganalisis Log Alur VPC. Dalam contoh ini, alamat IP sumber dianggap baru jika dilihat pertama kali dalam 24 jam terakhir selama periode lihat balik 60 hari. Anda mungkin ingin menggunakan dan menyesuaikan kueri ini di subnet yang berada dalam cakupan persyaratan kepatuhan tertentu seperti PCI.
Log Analytics
BigQuery
Adakah koneksi yang diblokir oleh Google Cloud Armor?
Kueri berikut membantu mendeteksi potensi upaya eksploitasi dengan menganalisis log Load Balancer Aplikasi eksternal untuk menemukan koneksi yang diblokir oleh kebijakan keamanan yang dikonfigurasi di Google Cloud Armor. Kueri ini mengasumsikan bahwa Anda telah mengonfigurasi kebijakan keamanan Google Cloud Armor pada Load Balancer Aplikasi eksternal. Kueri ini juga mengasumsikan bahwa Anda telah mengaktifkan logging Load Balancer Aplikasi eksternal seperti yang dijelaskan dalam petunjuk yang disediakan oleh link Aktifkan di alat pencakupan logsingkat ini.
Log Analytics
BigQuery
Apakah ada virus atau malware tingkat tinggi yang terdeteksi oleh Cloud IDS?
Kueri berikut menunjukkan virus atau malware tingkat tinggi yang terdeteksi oleh Cloud IDS dengan menelusuri Cloud IDS Threat Logs. Kueri ini mengasumsikan bahwa Anda telah mengonfigurasi endpoint Cloud IDS.
Log Analytics
BigQuery
Apa saja domain Cloud DNS teratas yang dikueri dari jaringan VPC Anda?
Kueri berikut mencantumkan 10 domain teratas yang dikueri Cloud DNS dari jaringan VPC Anda selama 60 hari terakhir. Kueri ini mengasumsikan bahwa Anda telah mengaktifkan logging DNS Cloud untuk jaringan VPC, seperti yang dijelaskan dalam petunjuk yang disediakan oleh link Aktifkan di alat cakupan log.
Log Analytics
BigQuery
Langkah selanjutnya
Lihat skenario ekspor lainnya:
Pelajari arsitektur referensi, diagram, dan praktik terbaik tentang Google Cloud. Lihat Cloud Architecture Center kami.