Mengumpulkan log Cisco Email Security
Dokumen ini menjelaskan cara menyerap log Cisco Email Security ke Google Security Operations menggunakan Bindplane.
Parser mengekstrak kolom dari log yang diformat JSON, nilai kunci, dan syslog Cisco Email Security Appliance. Log ini menggunakan grok dan/atau kv untuk mengurai pesan log, lalu memetakan nilai ini ke Model Data Terpadu (UDM). Layanan ini juga menetapkan nilai metadata default untuk sumber dan jenis peristiwa.
Sebelum memulai
Pastikan Anda memiliki prasyarat berikut:
- Instance Google SecOps
- Windows Server 2016 atau yang lebih baru, atau host Linux dengan
systemd - Jika beroperasi dari balik proxy, pastikan port firewall terbuka sesuai dengan persyaratan agen Bindplane
- Akses istimewa ke antarmuka web Cisco Email Security Appliance
Mendapatkan file autentikasi penyerapan Google SecOps
- Login ke konsol Google SecOps.
- Buka Setelan SIEM > Agen Pengumpulan.
- Download File Autentikasi Penyerapan. Simpan file dengan aman di sistem tempat BindPlane akan diinstal.
Mendapatkan ID pelanggan Google SecOps
- Login ke konsol Google SecOps.
- Buka Setelan SIEM > Profil.
- Salin dan simpan ID Pelanggan dari bagian Detail Organisasi.
Menginstal agen Bindplane
Instal agen Bindplane di sistem operasi Windows atau Linux Anda sesuai dengan petunjuk berikut.
Penginstalan Windows
- Buka Command Prompt atau PowerShell sebagai administrator.
Jalankan perintah berikut:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quietTunggu hingga penginstalan selesai.
Verifikasi penginstalan dengan menjalankan:
sc query observiq-otel-collector
Layanan akan ditampilkan sebagai RUNNING.
Penginstalan Linux
- Buka terminal dengan hak istimewa root atau sudo.
Jalankan perintah berikut:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.shTunggu hingga penginstalan selesai.
Verifikasi penginstalan dengan menjalankan:
sudo systemctl status observiq-otel-collector
Layanan akan ditampilkan sebagai aktif (berjalan).
Referensi penginstalan tambahan
Untuk opsi penginstalan dan pemecahan masalah tambahan, lihat Panduan penginstalan agen BindPlane.
Mengonfigurasi agen BindPlane untuk menyerap syslog dan mengirimkannya ke Google SecOps
Cari file konfigurasi
Linux:
sudo nano /etc/bindplane-agent/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
Edit file konfigurasi
Ganti seluruh konten
config.yamldengan konfigurasi berikut:receivers: tcplog: listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: compression: gzip creds_file_path: '/path/to/ingestion-authentication-file.json' customer_id: 'YOUR_CUSTOMER_ID' endpoint: malachiteingestion-pa.googleapis.com log_type: 'CISCO_EMAIL_SECURITY' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels
Parameter konfigurasi
Ganti placeholder berikut:
Konfigurasi penerima:
tcplog: Gunakanudploguntuk syslog UDP atautcploguntuk syslog TCP0.0.0.0: Alamat IP yang akan didengarkan (0.0.0.0untuk mendengarkan semua antarmuka)514: Nomor port yang akan diproses (port syslog standar)
Konfigurasi eksportir:
creds_file_path: Jalur lengkap ke file autentikasi penyerapan:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
YOUR_CUSTOMER_ID: ID Pelanggan dari bagian Dapatkan ID pelangganendpoint: URL endpoint regional:- Amerika Serikat:
malachiteingestion-pa.googleapis.com - Eropa:
europe-malachiteingestion-pa.googleapis.com - Asia:
asia-southeast1-malachiteingestion-pa.googleapis.com - Lihat Endpoint Regional untuk mengetahui daftar lengkapnya
- Amerika Serikat:
log_type: Jenis log persis seperti yang muncul di Chronicle (CISCO_EMAIL_SECURITY)
Simpan file konfigurasi
- Setelah mengedit, simpan file:
- Linux: Tekan
Ctrl+O, laluEnter, laluCtrl+X - Windows: Klik File > Save
- Linux: Tekan
Mulai ulang agen Bindplane untuk menerapkan perubahan
Untuk memulai ulang agen Bindplane di Linux, jalankan perintah berikut:
sudo systemctl restart observiq-otel-collectorPastikan layanan sedang berjalan:
sudo systemctl status observiq-otel-collectorPeriksa log untuk mengetahui error:
sudo journalctl -u observiq-otel-collector -f
Untuk memulai ulang agen Bindplane di Windows, pilih salah satu opsi berikut:
Command Prompt atau PowerShell sebagai administrator:
net stop observiq-otel-collector && net start observiq-otel-collectorKonsol layanan:
- Tekan
Win+R, ketikservices.msc, lalu tekan Enter. - Temukan observIQ OpenTelemetry Collector.
Klik kanan, lalu pilih Mulai Ulang.
Pastikan layanan sedang berjalan:
sc query observiq-otel-collectorPeriksa log untuk mengetahui error:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
- Tekan
Mengonfigurasi penerusan Syslog di Cisco Email Security Appliance
- Login ke antarmuka web Cisco Email Security Appliance.
- Buka Administrasi Sistem > Langganan Log.
- Klik Tambahkan Langganan Log.
- Berikan detail konfigurasi berikut:
- Jenis Log: Pilih jenis log yang akan diteruskan (misalnya, Log Peristiwa Gabungan, Log Email, Log Email Teks).
- Name: Masukkan nama deskriptif (misalnya,
Google-SecOps-Syslog). - Retrieval Method: Pilih Syslog Push.
- Nama host: Masukkan alamat IP host agen Bindplane.
- Protocol: Pilih TCP.
- Port: Masukkan
514. - Fasilitas: Pilih LOG_MAIL (atau fasilitas pilihan Anda).
- Klik Kirim.
- Ulangi langkah 3-5 untuk setiap jenis log tambahan yang akan diteruskan. Jenis log yang direkomendasikan:
- Log Peristiwa Gabungan
- Text Mail Logs
- Log Anti-Spam
- Log Antivirus
- Log AMP Engine
- Log Filter Konten
- Klik Commit Changes untuk menerapkan konfigurasi.
- Pastikan pesan syslog dikirim dengan memeriksa log agen Bindplane.
Tabel pemetaan UDM
| Kolom log | Pemetaan UDM | Logika |
|---|---|---|
| acl_decision_tag | read_only_udm.security_result.detection_fields.value | Dipetakan secara langsung jika tidak kosong, "-", atau "NONE". Kuncinya adalah "ACL Decision Tag". |
| access_or_decryption_policy_group | read_only_udm.security_result.detection_fields.value | Dipetakan secara langsung jika tidak kosong, "-", atau "NONE". Kuncinya adalah "AccessOrDecryptionPolicyGroup". |
| act | read_only_udm.security_result.action_details | Dipetakan secara langsung. |
| authenticated_user | read_only_udm.principal.user.userid | Dipetakan secara langsung jika tidak kosong, "-", atau "NONE". |
| cache_hierarchy_retrieval | read_only_udm.security_result.detection_fields.value | Dipetakan secara langsung jika tidak kosong, "-", atau "NONE". Kuncinya adalah "Pengambilan Hierarki Cache". |
| cipher | read_only_udm.network.tls.cipher | Dipetakan secara langsung. |
| country | read_only_udm.principal.location.country_or_region | Dipetakan secara langsung. |
| data_security_policy_group | read_only_udm.security_result.detection_fields.value | Dipetakan secara langsung jika tidak kosong, "-", atau "NONE". Kuncinya adalah "DataSecurityPolicyGroup". |
| deskripsi | read_only_udm.metadata.description | Dipetakan secara langsung untuk pesan syslog. Untuk pesan CEF, kolom ini menjadi deskripsi produk secara keseluruhan. Berbagai pola grok mengekstrak deskripsi tertentu berdasarkan product_event. Beberapa deskripsi diubah oleh gsub untuk menghapus spasi dan titik dua di awal/akhir. |
| deviceDirection | read_only_udm.network.direction | Jika '0', dipetakan ke 'INBOUND'. Jika '1', dipetakan ke 'OUTBOUND'. Digunakan untuk menentukan sandi dan protokol TLS mana yang akan dipetakan secara langsung dan mana yang akan dipetakan sebagai label. |
| deviceExternalId | read_only_udm.principal.asset.asset_id | Dipetakan sebagai "ID Perangkat:". |
| domain | read_only_udm.target.administrative_domain | Dipetakan langsung dari log JSON. |
| domain_age | read_only_udm.security_result.about.labels.value | Dipetakan secara langsung. Kuncinya adalah "YoungestDomainAge". |
| duser | read_only_udm.target.user.email_addresses, read_only_udm.network.email.to | Jika berisi ";", pisahkan menjadi beberapa alamat email dan petakan setiap alamat ke kedua kolom UDM. Jika tidak, petakan langsung ke kedua kolom UDM jika alamat email valid. Juga digunakan untuk mengisi network_to jika kosong. |
| dvc | read_only_udm.target.ip | Dipetakan secara langsung. |
| entries.collection_time.nanos, entries.collection_time.seconds | read_only_udm.metadata.event_timestamp.nanos, read_only_udm.metadata.event_timestamp.seconds | Digunakan untuk membuat stempel waktu peristiwa. |
| env-from | read_only_udm.additional.fields.value.string_value | Dipetakan secara langsung. Kuncinya adalah "Env-From". |
| ESAAttachmentDetails | read_only_udm.security_result.about.file.full_path, read_only_udm.security_result.about.file.sha256 | Diuraikan untuk mengekstrak nama file dan hash SHA256. Beberapa file dan hash dapat diekstrak. |
| ESADCID | read_only_udm.security_result.about.labels.value | Dipetakan secara langsung. Kuncinya adalah "ESADCID". |
| ESAFriendlyFrom | read_only_udm.principal.user.user_display_name, read_only_udm.network.email.from | Diuraikan untuk mengekstrak nama tampilan dan alamat email. |
| ESAHeloDomain | read_only_udm.intermediary.administrative_domain | Dipetakan secara langsung. |
| ESAHeloIP | read_only_udm.intermediary.ip | Dipetakan secara langsung. |
| ESAICID | read_only_udm.security_result.about.labels.value | Dipetakan secara langsung. Kuncinya adalah "ESAICID". |
| ESAMailFlowPolicy | read_only_udm.security_result.rule_name | Dipetakan secara langsung. |
| ESAMID | read_only_udm.security_result.about.labels.value | Dipetakan secara langsung. Kuncinya adalah "ESAMID". |
| ESAReplyTo | read_only_udm.network.email.reply_to | Dipetakan secara langsung jika alamat email valid. Juga digunakan untuk mengisi network_to. |
| ESASDRDomainAge | read_only_udm.security_result.about.labels.value | Dipetakan secara langsung. Kuncinya adalah "ESASDRDomainAge". |
| ESASenderGroup | read_only_udm.principal.group.group_display_name | Dipetakan secara langsung. |
| ESAStatus | read_only_udm.security_result.about.labels.value | Dipetakan secara langsung. Kuncinya adalah "ESAStatus". |
| ESATLSInCipher | read_only_udm.network.tls.cipher atau read_only_udm.security_result.about.labels.value | Dipetakan langsung ke sandi jika deviceDirection adalah '0'. Jika tidak, dipetakan sebagai label dengan kunci "ESATLSInCipher". |
| ESATLSInProtocol | read_only_udm.network.tls.version atau read_only_udm.security_result.about.labels.value | Versi TLS diekstrak dan dipetakan secara langsung jika deviceDirection adalah '0'. Jika tidak, dipetakan sebagai label dengan kunci "ESATLSInProtocol". |
| ESATLSOutCipher | read_only_udm.network.tls.cipher atau read_only_udm.security_result.about.labels.value | Dipetakan langsung ke sandi jika deviceDirection adalah '1'. Jika tidak, dipetakan sebagai label dengan kunci "ESATLSOutCipher". |
| ESATLSOutProtocol | read_only_udm.network.tls.version atau read_only_udm.security_result.about.labels.value | Versi TLS diekstrak dan dipetakan secara langsung jika deviceDirection adalah '1'. Jika tidak, dipetakan sebagai label dengan kunci "ESATLSOutProtocol". |
| ESAURLDetails | read_only_udm.target.url | Diuraikan untuk mengekstrak URL. Hanya URL pertama yang dipetakan karena kolom tidak diulang. |
| external_dlp_policy_group | read_only_udm.security_result.detection_fields.value | Dipetakan secara langsung jika tidak kosong, "-", atau "NONE". Kuncinya adalah "ExternalDlpPolicyGroup". |
| ExternalMsgID | read_only_udm.security_result.about.labels.value | Dipetakan secara langsung setelah menghapus tanda petik tunggal dan tanda kurung sudut. Kuncinya adalah "ExternalMsgID". |
| dari | read_only_udm.network.email.from | Dipetakan secara langsung jika alamat email valid. Juga digunakan untuk mengisi network_from. |
| host.hostname | read_only_udm.principal.hostname atau read_only_udm.intermediary.hostname | Dipetakan ke nama host utama jika kolom host tidak valid. Juga dipetakan ke nama host perantara. |
| host.ip | read_only_udm.principal.ip atau read_only_udm.intermediary.ip | Dipetakan ke IP utama jika kolom ip tidak ditetapkan dalam log JSON. Juga dipetakan ke IP perantara. |
| hostname | read_only_udm.target.hostname | Dipetakan secara langsung. |
| http_method | read_only_udm.network.http.method | Dipetakan secara langsung. |
| http_response_code | read_only_udm.network.http.response_code | Dipetakan dan dikonversi langsung ke bilangan bulat. |
| identity_policy_group | read_only_udm.security_result.detection_fields.value | Dipetakan secara langsung jika tidak kosong, "-", atau "NONE". Kuncinya adalah "IdentityPolicyGroup". |
| ip | read_only_udm.principal.ip | Dipetakan secara langsung. Ditimpa oleh source_ip jika ada. |
| kv_msg | Bervariasi | Diuraikan menggunakan filter kv. Pra-pemrosesan mencakup penggantian spasi sebelum kunci dengan "#" dan penukaran nilai csLabel. |
| log_type | read_only_udm.metadata.log_type | Dikodekan secara permanen ke "CISCO_EMAIL_SECURITY". |
| loglevel | read_only_udm.security_result.severity, read_only_udm.security_result.action | Digunakan untuk menentukan tingkat keparahan dan tindakan. "Info", "", "Debug", "Trace" dipetakan ke "INFORMATIONAL" dan "ALLOW". "Warning" dipetakan ke "MEDIUM" dan "ALLOW". "High" dipetakan ke "HIGH" dan "BLOCK". "Kritis" dan "Peringatan" dipetakan ke "KRITIS", "BLOKIR". |
| mail_id | read_only_udm.network.email.mail_id | Dipetakan langsung dari log JSON. |
| mailto | read_only_udm.target.user.email_addresses, read_only_udm.network.email.to | Dipetakan langsung ke kedua kolom UDM jika alamat email valid. |
| MailPolicy | read_only_udm.security_result.about.labels.value | Dipetakan secara langsung. Kuncinya adalah "MailPolicy". |
| pesan | Bervariasi | Diurai sebagai JSON jika memungkinkan. Jika tidak, diproses sebagai pesan syslog. |
| message_id | read_only_udm.network.email.mail_id | Dipetakan secara langsung. Juga digunakan untuk mengisi network_data. |
| msg | read_only_udm.network.email.subject | Dipetakan secara langsung setelah decoding UTF-8 dan menghapus carriage return, baris baru, dan tanda petik tambahan. Juga digunakan untuk mengisi network_data. |
| msg1 | Bervariasi | Diuraikan menggunakan filter kv. Digunakan untuk mengekstrak Hostname, helo, env-from, dan reply-to. |
| outbound_malware_scanning_policy_group | read_only_udm.security_result.detection_fields.value | Dipetakan secara langsung jika tidak kosong, "-", atau "NONE". Kuncinya adalah "DataSecurityPolicyGroup". |
| port | read_only_udm.target.port | Dipetakan dan dikonversi langsung ke bilangan bulat. |
| principalMail | read_only_udm.principal.user.email_addresses | Dipetakan secara langsung. |
| principalUrl | read_only_udm.principal.url | Dipetakan secara langsung. |
| product_event | read_only_udm.metadata.product_event_type | Dipetakan secara langsung. Digunakan untuk menentukan pola grok mana yang akan diterapkan. Karakter "%" di awal dihapus. "amp" diganti dengan "SIEM_AMPenginelogs". |
| product_version | read_only_udm.metadata.product_version | Dipetakan secara langsung. |
| protokol | read_only_udm.network.tls.version | Dipetakan secara langsung. |
| received_bytes | read_only_udm.network.received_bytes | Dipetakan dan dikonversi langsung ke bilangan bulat tidak bertanda. |
| balas ke | read_only_udm.additional.fields.value.string_value | Dipetakan secara langsung. Kuncinya adalah "Reply-To". |
| reputasi | read_only_udm.security_result.confidence_details | Dipetakan secara langsung. |
| request_method_uri | read_only_udm.target.url | Dipetakan secara langsung. |
| result_code | read_only_udm.security_result.detection_fields.value | Dipetakan secara langsung. Kuncinya adalah "Result Code". |
| routing_policy_group | read_only_udm.security_result.detection_fields.value | Dipetakan secara langsung jika tidak kosong, "-", atau "NONE". Kuncinya adalah "RoutingPolicyGroup". |
| aturan | read_only_udm.security_result.detection_fields.value | Dipetakan secara langsung. Kuncinya adalah "Kondisi yang Cocok". |
| SDRThreatCategory | read_only_udm.security_result.threat_name | Dipetakan secara langsung jika tidak kosong atau "T/A". |
| SenderCountry | read_only_udm.principal.location.country_or_region | Dipetakan secara langsung. |
| senderGroup | read_only_udm.principal.group.group_display_name | Dipetakan secara langsung. |
| security_description | read_only_udm.security_result.description | Dipetakan secara langsung. |
| security_email | read_only_udm.security_result.about.email atau read_only_udm.principal.hostname | Dipetakan ke email jika alamat email valid. Jika tidak, dipetakan ke nama host setelah diekstrak dengan grok. |
| sumber | read_only_udm.network.ip_protocol | Jika berisi "tcp", dipetakan ke "TCP". |
| sourceAddress | read_only_udm.principal.ip | Dipetakan secara langsung. |
| sourceHostName | read_only_udm.principal.administrative_domain | Dipetakan secara langsung jika bukan "tidak diketahui". |
| source_ip | read_only_udm.principal.ip | Dipetakan secara langsung. Menimpa IP jika ada. |
| Subjek | read_only_udm.network.email.subject | Dipetakan secara langsung setelah menghapus titik di akhir. Juga digunakan untuk mengisi network_data. |
| suser | read_only_udm.principal.user.email_addresses, read_only_udm.network.email.bounce_address | Dipetakan langsung ke kedua kolom UDM jika alamat email valid. |
| target_ip | read_only_udm.target.ip | Dipetakan secara langsung. |
| sampai | read_only_udm.network.email.to | Dipetakan secara langsung jika alamat email valid. Juga digunakan untuk mengisi network_to. |
| total_bytes | read_only_udm.network.sent_bytes | Dipetakan dan dikonversi langsung ke bilangan bulat tidak bertanda. |
| trackerHeader | read_only_udm.additional.fields.value.string_value | Dipetakan secara langsung. Kuncinya adalah "Header Pelacak". |
| ts, ts1, year | read_only_udm.metadata.event_timestamp.seconds | Digunakan untuk membuat stempel waktu peristiwa. ts1 dan tahun digabungkan jika ts1 ada. Berbagai format didukung, dengan dan tanpa tahun. Jika tahun tidak ada, tahun saat ini akan digunakan. Dikodekan secara permanen ke "Cisco". Dikodekan secara permanen ke "Cisco Email Security". Defaultnya adalah "ALLOW". Disetel ke "BLOCK" berdasarkan level log atau deskripsi. Defaultnya adalah "INBOUND" jika application_protocol ada. Tetapkan berdasarkan deviceDirection untuk pesan CEF. Ditentukan berdasarkan kombinasi kolom termasuk network_from, network_to, target_ip, ip, description, event_type, principal_host, Hostname, user_id, dan sourceAddress. Default-nya adalah "GENERIC_EVENT". Setel ke "SMTP" jika application_protocol adalah "SMTP" atau "smtp", atau jika target_ip dan ip ada. Disetel ke "AUTHTYPE_UNSPECIFIED" jika login_status dan user_id ada di log sshd. Disetel ke benar (true) jika loglevel adalah "Kritis" (Critical) atau "Peringatan" (Alert). |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.