Mengumpulkan log Cato Networks
Dokumen ini menjelaskan cara menyerap log Cato Networks ke Google Security Operations menggunakan AWS S3. Parser pertama-tama menginisialisasi serangkaian kolom ke string kosong dan kemudian mem-parsing log Cato Networks berformat JSON. Kemudian, kolom yang diekstrak dipetakan ke kolom yang sesuai dalam model Data Terpadu (UDM) Google SecOps, menangani berbagai jenis peristiwa, dan memperkaya data dengan konteks tambahan.
Sebelum memulai
Pastikan Anda memenuhi prasyarat berikut:
- Instance Google SecOps
- Akses istimewa ke AWS S3, AWS IAM
- Akses istimewa ke Cato Networks
Mengonfigurasi AWS IAM dan Bucket S3
- Buat bucket Amazon S3 dengan mengikuti panduan pengguna ini: Membuat bucket
- Simpan Nama dan Region bucket untuk referensi di masa mendatang.
- 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 referensi di masa mendatang.
- Klik Selesai.
- Pilih tab Izin.
- Klik Tambahkan izin di bagian Kebijakan izin.
- Pilih Tambahkan izin.
- Pilih Lampirkan kebijakan secara langsung.
- Cari kebijakan AmazonS3FullAccess, lalu pilih kebijakan tersebut.
- Klik Berikutnya.
- Klik Add permissions.
Mengonfigurasi Kebijakan IAM Baru Untuk Bucket S3 agar dapat mengupload data
- Di Kebijakan, klik tab JSON.
Edit JSON berikut, ganti
<bucket name>
dengan bucket S3 Anda, lalu tempelkan di tab.{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::<bucket name>" ] }, { "Sid": "", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::<bucket name>/*" ] } ] }
Klik Create policy.
Mengonfigurasi Peran IAM Baru dengan ARN Cato
Di layar Select trusted entity, pilih Custom Trust Policy dan tambahkan ARN Cato ke peran: arn:aws:iam::428465470022:role/cato-events-integration
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::428465470022:role/cato-events-integration" }, "Action": "sts:AssumeRole" } ] }
Klik Berikutnya.
Di layar Tambahkan izin, lampirkan kebijakan yang Anda buat sebelumnya ke peran.
Klik Berikutnya.
Masukkan Nama peran, lalu klik Buat peran.
Mengonfigurasi Integrasi S3 dan Peristiwa Cato Networks
- Login ke UI web Cato Networks.
- Buka Resources > Event Integrations.
- Klik Aktifkan integrasi dengan peristiwa Cato.
- Klik New.
- Berikan detail konfigurasi berikut:
- Masukkan Nama untuk integrasi.
- Nama Bucket: Nama bucket S3 yang identik.
- Folder: Nama yang sama untuk jalur folder dalam bucket S3 (jika perlu).
- Region: Wilayah yang sama untuk bucket S3.
- ARN Peran: Salin dan tempel ARN untuk peran bucket S3.
- (Opsional) Tentukan setelan filter untuk peristiwa yang diupload ke bucket S3 (Jika Anda menentukan beberapa filter, akan ada hubungan DAN, dan peristiwa yang cocok dengan semua filter akan diupload).
- Klik Terapkan.
Menyiapkan feed
Untuk mengonfigurasi feed, ikuti langkah-langkah berikut:
- Buka Setelan SIEM > Feed.
- Klik Tambahkan Feed Baru.
- Di halaman berikutnya, klik Konfigurasi satu feed.
- Di kolom Nama feed, masukkan nama untuk feed (misalnya,
Cato Logs
). - Pilih Amazon S3 V2 sebagai Jenis sumber.
- Pilih Cato Networks sebagai Jenis log.
- Klik Berikutnya.
Tentukan nilai untuk parameter input berikut:
URI S3: URI bucket (formatnya harus:
s3://<your-log-bucket-name>
). Ganti berikut ini:your-log-bucket-name
: nama bucket.
Opsi penghapusan sumber: Pilih opsi penghapusan sesuai preferensi Anda.
Klik Berikutnya.
Tinjau konfigurasi feed baru Anda di layar Selesaikan, lalu klik Kirim.
Tabel pemetaan UDM
Kolom log | Pemetaan UDM | Logika |
---|---|---|
account_id | target.user.userid | Nilai kolom ini diambil dari kolom account_id . |
tindakan | additional.fields.value.string_value | Nilai kolom ini diambil dari kolom action . |
app_stack | additional.fields.value.list_value.values.string_value | Nilai kolom ini diambil dari kolom app_stack . |
application | principal.application | Nilai kolom ini diambil dari kolom application . |
kategori | additional.fields.value.list_value.values.string_value | Nilai kolom ini diambil dari kolom categories . |
clientIP | principal.ip, principal.asset.ip | Nilai kolom ini diambil dari kolom clientIP . |
creationTime | Kolom ini digunakan untuk menghitung stempel waktu peristiwa. | |
custom_categories | additional.fields.value.list_value.values.string_value | Nilai kolom ini diambil dari kolom custom_categories . |
dest_country | target.location.country_or_region | Nilai kolom ini diambil dari kolom dest_country . |
dest_country_code | target.resource.attribute.labels.value | Nilai kolom ini diambil dari kolom dest_country_code . |
dest_ip | target.ip, target.asset.ip | Nilai kolom ini diambil dari kolom dest_ip . |
dest_port | target.port | Nilai kolom ini diambil dari kolom dest_port . |
destinationCountry | target.location.country_or_region | Nilai kolom ini diambil dari kolom destinationCountry . |
destinationIp | target.ip, target.asset.ip | Nilai kolom ini diambil dari kolom destinationIp . |
destinationName | target.hostname, target.asset.hostname | Nilai kolom ini diambil dari kolom destinationName . |
device_name | network.dhcp.client_hostname | Nilai kolom ini diambil dari kolom device_name . |
dns_name | additional.fields.value.string_value | Nilai kolom ini diambil dari kolom dns_name . |
event_count | additional.fields.value.string_value | Nilai kolom ini diambil dari kolom event_count . |
event_sub_type | metadata.description | Nilai kolom ini diambil dari kolom event_sub_type . |
fieldsMap.ISP_name | additional.fields.value.string_value | Nilai kolom ini diambil dari kolom fieldsMap.ISP_name . |
fieldsMap.action | security_result.action_details | Nilai kolom ini diambil dari kolom fieldsMap.action . |
fieldsMap.categories | security_result.category_details | Nilai kolom ini diambil dari kolom fieldsMap.categories . |
fieldsMap.dest_country | target.location.country_or_region | Nilai kolom ini diambil dari kolom fieldsMap.dest_country . |
fieldsMap.dest_ip | target.ip, target.asset.ip | Nilai kolom ini diambil dari kolom fieldsMap.dest_ip . |
fieldsMap.dest_port | principal.port | Nilai kolom ini diambil dari kolom fieldsMap.dest_port . |
fieldsMap.domain_name | principal.administrative_domain | Nilai kolom ini diambil dari kolom fieldsMap.domain_name . |
fieldsMap.event_sub_type | metadata.description | Nilai kolom ini diambil dari kolom fieldsMap.event_sub_type . |
fieldsMap.event_type | metadata.product_event_type | Nilai kolom ini diambil dari kolom fieldsMap.event_type . |
fieldsMap.ip_protocol | network.ip_protocol | Nilai kolom ini diambil dari kolom fieldsMap.ip_protocol . |
fieldsMap.os_type | Kolom ini digunakan untuk menentukan sistem operasi prinsipal. | |
fieldsMap.pop_name | additional.fields.value.string_value | Nilai kolom ini diambil dari kolom fieldsMap.pop_name . |
fieldsMap.rule_id | security_result.rule_id | Nilai kolom ini diambil dari kolom fieldsMap.rule_id . |
fieldsMap.rule_name | security_result.rule_name | Nilai kolom ini diambil dari kolom fieldsMap.rule_name . |
fieldsMap.src_ip | principal.ip, principal.asset.ip | Nilai kolom ini diambil dari kolom fieldsMap.src_ip . |
fieldsMap.src_isp_ip | src.ip, src.asset.ip | Nilai kolom ini diambil dari kolom fieldsMap.src_isp_ip . |
fieldsMap.time | Kolom ini digunakan untuk menghitung stempel waktu peristiwa. | |
file_hash | target.file.sha256 | Nilai kolom ini diambil dari kolom file_hash . |
file_name | target.file.full_path | Nilai kolom ini diambil dari kolom file_name . |
file_size | target.file.size | Nilai kolom ini diambil dari kolom file_size . |
http_host_name | principal.hostname, principal.asset.hostname | Nilai kolom ini diambil dari kolom http_host_name . |
insertionDate | additional.fields.value.string_value | Nilai kolom ini diambil dari kolom insertionDate . |
internalId | additional.fields.value.string_value | Nilai kolom ini diambil dari kolom internalId . |
ip_protocol | network.ip_protocol | Nilai kolom ini diambil dari kolom ip_protocol . |
is_sanctioned_app | security_result.detection_fields.value | Nilai kolom ini diambil dari kolom is_sanctioned_app . |
os_type | principal.platform | Nilai kolom ini diambil dari kolom os_type . |
pop_name | Kolom ini digunakan untuk mengisi kolom fieldsMap.pop_name . |
|
prettyType | metadata.product_event_type | Nilai kolom ini diambil dari kolom prettyType . |
aturan | additional.fields.value.string_value | Nilai kolom ini diambil dari kolom rule . |
rule_id | security_result.rule_id | Nilai kolom ini diambil dari kolom rule_id . |
rule_name | security_result.rule_name | Nilai kolom ini diambil dari kolom rule_name . |
server_port | target.port | Nilai kolom ini diambil dari kolom server_port . |
tingkat keseriusan, | security_result.severity_details | Nilai kolom ini diambil dari kolom severity . |
sourceCountry | principal.location.country_or_region | Nilai kolom ini diambil dari kolom sourceCountry . |
sourceInternalIp | principal.ip | Nilai kolom ini diambil dari kolom sourceInternalIp . |
sourceIp | src.ip, src.asset.ip | Nilai kolom ini diambil dari kolom sourceIp . |
sourceName | principal.user.user_display_name | Nilai kolom ini diambil dari kolom sourceName . |
olahraga | principal.port | Nilai kolom ini diambil dari kolom sport . |
src_country | Kolom ini digunakan untuk mengisi kolom sourceCountry . |
|
src_country_code | principal.resource.attribute.labels.value | Nilai kolom ini diambil dari kolom src_country_code . |
src_ip | principal.ip, principal.asset.ip | Nilai kolom ini diambil dari kolom src_ip . |
src_is_site_or_vpn | security_result.detection_fields.value | Nilai kolom ini diambil dari kolom src_is_site_or_vpn . |
src_isp_ip | src.ip, src.asset.ip | Nilai kolom ini diambil dari kolom src_isp_ip . |
src_site | additional.fields.value.string_value | Nilai kolom ini diambil dari kolom src_site . |
src_site_name | additional.fields.value.string_value | Nilai kolom ini diambil dari kolom src_site_name . |
mulai | Kolom ini digunakan untuk menghitung stempel waktu peristiwa. | |
subnet_name | additional.fields.value.string_value | Nilai kolom ini diambil dari kolom subnet_name . |
waktu | Kolom ini digunakan untuk menghitung stempel waktu peristiwa. | |
time_str | Kolom ini digunakan untuk menghitung stempel waktu peristiwa. | |
tunnel_host_logon_names | principal.user.userid | Nilai kolom ini diambil dari kolom tunnel_host_logon_names . |
URL | target.url | Nilai kolom ini diambil dari kolom url . |
user_id | principal.user.userid | Nilai kolom ini diambil dari kolom user_id . |
metadata.event_type | Nilai kolom ini ditetapkan ke GENERIC_EVENT dan dapat diganti menjadi NETWORK_CONNECTION , NETWORK_DHCP , atau NETWORK_HTTP berdasarkan peristiwa. |
|
metadata.log_type | Nilai kolom ini ditetapkan ke CATO_NETWORKS . |
|
metadata.product_name | Nilai kolom ini ditetapkan ke SASE . |
|
metadata.vendor_name | Nilai kolom ini ditetapkan ke Cato Networks . |
|
network.application_protocol | Nilai kolom ini ditetapkan ke DHCP untuk peristiwa Connected . |
|
network.dhcp.chaddr | Nilai kolom ini ditetapkan ke 01:23:45:ab:cd:ef untuk peristiwa Connected . |
|
network.dhcp.lease_time_seconds | Nilai kolom ini ditetapkan ke 86400 untuk peristiwa Connected . |
|
network.dhcp.opcode | Nilai kolom ini ditetapkan ke BOOTREPLY untuk peristiwa Connected . |
|
network.dhcp.type | Nilai kolom ini ditetapkan ke ACK untuk peristiwa Connected . |
|
network.direction | Nilai kolom ini ditetapkan ke OUTBOUND untuk peristiwa Anti Malware dan URL Filtering . |
|
security_result.action | Nilai kolom ini ditetapkan ke ALLOW jika kolom action bukan BLOCK , atau ditetapkan ke BLOCK . |
|
event_type | metadata.description | Nilai kolom ini diambil dari kolom event_type . |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.