Mengumpulkan log audit Cisco Umbrella
Dokumen ini menjelaskan cara mengumpulkan log audit Cisco Umbrella ke feed Google Security Operations menggunakan bucket AWS S3. Parser menormalisasi data log CSV mentah, menangani berbagai pemisah dan potensi inkonsistensi pemformatan. Kemudian, berdasarkan jenis log (DNS atau Audit), kolom yang diekstrak dipetakan ke skema UDM yang sesuai, sehingga memperkaya data dengan konteks tambahan dan menstandardisasi representasi untuk analisis lebih lanjut.
Sebelum memulai
- Pastikan Anda memiliki instance Google SecOps.
- Pastikan Anda memiliki akses istimewa ke AWS IAM dan S3.
- Pastikan Anda memiliki akses istimewa ke Cisco Umbrella.
Mengonfigurasi bucket Amazon S3 yang dikelola Cisco
- Login ke dasbor Cisco Umbrella.
- Buka Admin > Pengelolaan log.
- Pilih opsi Gunakan bucket Amazon S3 yang dikelola Cisco.
- Berikan detail konfigurasi berikut:
- Pilih region: pilih region yang lebih dekat dengan lokasi Anda untuk latensi yang lebih rendah.
- Pilih durasi retensi: pilih jangka waktu. Durasi retensi adalah 7, 14, atau 30 hari. Setelah jangka waktu yang dipilih, data akan dihapus dan tidak dapat dipulihkan. Jika siklus penyerapan Anda teratur, gunakan jangka waktu yang lebih singkat. Anda dapat mengubah durasi retensi di lain waktu.
- Klik Simpan.
- Klik Lanjutkan untuk mengonfirmasi pilihan Anda dan menerima notifikasi aktivasi.
Di jendela Activation complete yang muncul, nilai Access key dan Secret key ditampilkan. - Salin nilai Access key dan Secret key. Jika Anda kehilangan kunci ini, Anda harus membuatnya ulang.
- Klik Oke > Lanjutkan.
- Halaman ringkasan menampilkan konfigurasi dan nama bucket Anda. Anda dapat menonaktifkan atau mengaktifkan logging sesuai kebutuhan organisasi Anda. Namun, log dihapus berdasarkan durasi retensi, terlepas dari penambahan data baru.
Opsional: Mengonfigurasi kunci akses pengguna untuk bucket AWS S3 yang dikelola sendiri
- Login ke AWS Management Console.
- Buat Pengguna dengan mengikuti panduan pengguna ini: Membuat pengguna IAM.
- Pilih Pengguna yang dibuat.
- Pilih tab Kredensial keamanan.
- Klik Create Access Key di bagian Access Keys.
- Pilih Layanan pihak ketiga sebagai Kasus penggunaan.
- Klik Berikutnya.
- Opsional: tambahkan tag deskripsi.
- Klik Create access key.
- Klik Download CSV file untuk menyimpan Access Key dan Secret Access Key untuk digunakan nanti.
- Klik Selesai.
- Pilih tab Izin.
- Klik Tambahkan izin di bagian Kebijakan izin.
- Pilih Tambahkan izin.
- Pilih Lampirkan kebijakan secara langsung.
- Telusuri dan pilih kebijakan AmazonS3FullAccess.
- Klik Berikutnya.
- Klik Add permissions.
Opsional: Mengonfigurasi bucket Amazon S3 yang dikelola sendiri
Login ke AWS Management Console.
Buka S3.
Klik Create bucket.
Berikan detail konfigurasi berikut:
- Nama bucket: berikan nama untuk bucket Amazon S3.
- Region: pilih region.
Klik Buat.
Opsional: Mengonfigurasi kebijakan bucket untuk bucket AWS S3 yang dikelola sendiri
- Klik bucket yang baru dibuat untuk membukanya.
- Pilih Properti > Izin.
- Di daftar Permissions, klik Add bucket policy.
Masukkan kebijakan bucket yang telah dikonfigurasi sebelumnya sebagai berikut:
{ "Version": "2008-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::568526795995:user/logs" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::BUCKET_NAME/*" }, { "Sid": "", "Effect": "Deny", "Principal": { "AWS": "arn:aws:iam::568526795995:user/logs" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::BUCKET_NAME/*"}, { "Sid": "", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::568526795995:user/logs" }, "Action": "s3:GetBucketLocation", "Resource": "arn:aws:s3:::BUCKET_NAME" }, { "Sid": "", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::568526795995:user/logs" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::BUCKET_NAME" } ] }
- Ganti
BUCKET_NAME
dengan nama bucket Amazon S3 yang Anda berikan.
- Ganti
Klik Simpan.
Opsional: Verifikasi yang Diperlukan untuk bucket Amazon S3 yang dikelola sendiri
- Di dasbor Cisco Umbrella, pilih Admin > Log management > Amazon S3.
- Di kolom Bucket name, tentukan nama bucket Amazon S3 Anda yang tepat, lalu klik Verify.
- Sebagai bagian dari proses verifikasi, file bernama
README_FROM_UMBRELLA.txt
diupload dari Cisco Umbrella ke bucket Amazon S3 Anda. Anda mungkin perlu memuat ulang browser untuk melihat file readme saat diupload. - Download file
README_FROM_UMBRELLA.txt
, lalu buka menggunakan editor teks. - Salin dan simpan token Cisco Umbrella unik dari file.
- Buka dasbor Cisco Umbrella.
- Di kolom Token number, tentukan token, lalu klik Save.
- Jika berhasil, Anda akan menerima pesan konfirmasi di dasbor yang menunjukkan bahwa bucket telah berhasil diverifikasi. Jika Anda menerima error yang menunjukkan bahwa bucket Anda tidak dapat diverifikasi, periksa kembali sintaks nama bucket dan tinjau konfigurasi.
Mengonfigurasi feed di Google SecOps untuk menyerap log Audit Cisco Umbrella
- Buka Setelan SIEM > Feed.
- Klik Tambahkan baru.
- Di kolom Feed name, masukkan nama untuk feed; misalnya, Cisco Umbrella Audit Logs.
- Pilih Amazon S3 V2 sebagai Jenis sumber.
- Pilih Cisco Umbrella Audit sebagai Jenis log.
- Klik Berikutnya.
Tentukan nilai untuk parameter input berikut:
- URI S3: URI bucket.
s3:/BUCKET_NAME
- Ganti
BUCKET_NAME
dengan nama bucket yang sebenarnya.
- Ganti
- Opsi penghapusan sumber: pilih opsi penghapusan sesuai preferensi Anda.
- URI S3: URI bucket.
Klik Berikutnya.
Tinjau konfigurasi feed baru Anda di layar Selesaikan, lalu klik Kirim.
Tabel Pemetaan UDM
Kolom log | Pemetaan UDM | Logika |
---|---|---|
action_type | security_result.action_details | Dipetakan langsung dari kolom log mentah action_type . |
action_type | security_result.action | Jika action_type berisi allow (tidak peka huruf besar/kecil), tetapkan ke ALLOW . Jika action_type berisi block (tidak peka huruf besar/kecil), tetapkan ke BLOCK . |
additionalValue | additional.fields{}.key | Tetapkan ke Additional Value . |
additionalValue | additional.fields{}.value.string_value | Dipetakan langsung dari kolom log mentah additionalValue . |
blocked_categories | additional.fields{}.key | Tetapkan ke blocked_categories . |
blocked_categories | additional.fields{}.value.string_value | Dipetakan langsung dari kolom log mentah blocked_categories . |
kategori | security_result.category_details | Dipetakan langsung dari kolom log mentah categories , setelah dipisahkan dengan koma. |
kolom1 | metadata.product_log_id | Dipetakan dari kolom log mentah column1 jika log adalah log audit. |
kolom1 | date_time | Dipetakan dari kolom log mentah column1 jika log adalah log DNS. |
column10 | kategori | Dipetakan langsung dari kolom log mentah column10 . |
column11 | most_granular_identity_type | Dipetakan langsung dari kolom log mentah column11 . |
column12 | identity_types | Dipetakan langsung dari kolom log mentah column12 . |
column13 | blocked_categories | Dipetakan langsung dari kolom log mentah column13 . |
kolom2 | date_time | Dipetakan dari kolom log mentah column2 jika log adalah log audit. |
kolom2 | most_granular_identity | Dipetakan dari kolom log mentah column2 jika log adalah log DNS. |
kolom3 | principal.user.email_addresses | Dipetakan dari kolom log mentah column3 jika log adalah log audit. |
kolom3 | identitas | Dipetakan dari kolom log mentah column3 jika log adalah log DNS. |
column4 | principal.user.userid | Dipetakan dari kolom log mentah column4 jika log adalah log audit. |
column4 | internal_ip | Dipetakan dari kolom log mentah column4 jika log adalah log DNS. |
column5 | security_result.rule_name | Dipetakan dari kolom log mentah column5 jika log adalah log audit. |
column5 | external_ip | Dipetakan dari kolom log mentah column5 jika log adalah log DNS. |
column6 | action_type | Dipetakan langsung dari kolom log mentah column6 . |
column7 | principal.ip | Dipetakan dari kolom log mentah column7 jika log adalah log audit. |
column7 | dns_query_type | Dipetakan dari kolom log mentah column7 jika log adalah log DNS. |
column8 | additionalValue | Dipetakan dari kolom log mentah column8 jika log adalah log audit. |
column8 | dns_response_code | Dipetakan dari kolom log mentah column8 jika log adalah log DNS. |
column9 | domain | Dipetakan langsung dari kolom log mentah column9 . |
date_time | metadata.event_timestamp.seconds | Stempel waktu epoch yang diekstrak dari kolom date_time . |
dns_query_type | network.dns.questions.type | Diekstrak dari kolom dns_query_type menggunakan ekspresi reguler, dikonversi menjadi bilangan bulat. |
dns_response_code | network.dns.response_code | Dipetakan dari kolom dns_response_code , dikonversi menjadi bilangan bulat berdasarkan nilai kode respons DNS. |
domain | network.dns.questions.name | Dipetakan langsung dari kolom domain . |
external_ip | principal.ip | Dipetakan dari kolom external_ip jika tidak kosong dan berbeda dari internal_ip . |
identitas | principal.location.name | Dipetakan dari kolom identities jika kolom identity_types yang sesuai adalah Networks . |
identitas | principal.hostname | Dipetakan dari kolom identities jika kolom identity_types yang sesuai adalah AD Computers , Roaming Computers , atau Anyconnect Roaming Client . |
identitas | principal.asset.hostname | Dipetakan dari kolom identities jika kolom identity_types yang sesuai adalah AD Computers , Roaming Computers , atau Anyconnect Roaming Client . |
identitas | principal.location.city | Dipetakan dari kolom identities jika kolom identity_types yang sesuai adalah Sites . |
identity_types | additional.fields{}.key | Tetapkan ke identities_types . |
identity_types | additional.fields{}.value.string_value | Dipetakan langsung dari kolom log mentah identity_types . |
internal_ip | principal.ip | Dipetakan dari kolom internal_ip jika tidak kosong. |
most_granular_identity | additional.fields{}.key | Tetapkan ke most_granular_identity . |
most_granular_identity | additional.fields{}.value.string_value | Dipetakan langsung dari kolom log mentah most_granular_identity . |
most_granular_identity_type | additional.fields{}.key | Tetapkan ke most_granular_identity_type . |
most_granular_identity_type | additional.fields{}.value.string_value | Dipetakan langsung dari kolom log mentah most_granular_identity_type . |
metadata.event_type | Tetapkan ke NETWORK_DNS jika log adalah log DNS. |
|
metadata.event_type | Disetel ke STATUS_UPDATE jika log adalah log audit dan principal_ip tidak kosong. |
|
metadata.event_type | Disetel ke GENERIC_EVENT jika log adalah log audit dan principal_ip kosong. |
|
metadata.vendor_name | Tetapkan ke CISCO UMBERLLA . |
|
metadata.product_name | Tetapkan ke CISCO UMBERLLA . |
|
metadata.log_type | Tetapkan ke AUDITD . |
|
network.application_protocol | Tetapkan ke DNS jika log adalah log DNS. |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.