Mengumpulkan log Microsoft System Center Endpoint Protection (SCEP)
Dokumen ini menjelaskan cara mengumpulkan log Microsoft System Center Endpoint Protection (SCEP) dengan menyiapkan feed Google Security Operations menggunakan Microsoft Azure Blob Storage V2.
Microsoft System Center Endpoint Protection (SCEP) adalah solusi antivirus dan antimalware perusahaan yang terintegrasi dengan System Center Configuration Manager (SCCM). SCEP memberikan perlindungan real-time terhadap malware, virus, spyware, dan software berbahaya lainnya untuk endpoint berbasis Windows. SCEP menulis peristiwa keamanan ke saluran Microsoft-Windows-Windows Defender/Operational Windows Event Log, yang dapat dikumpulkan menggunakan Azure Monitor Agent dan diekspor ke Azure Blob Storage.
Sebelum memulai
Pastikan Anda memiliki prasyarat berikut:
- Instance Google SecOps
- Akses istimewa ke portal Microsoft Azure dengan izin untuk:
- Membuat Akun Penyimpanan
- Membuat dan mengelola ruang kerja Log Analytics
- Membuat dan mengelola Aturan Pengumpulan Data
- Mengonfigurasi aturan ekspor data
- Mengelola kunci akses
- Windows Server 2012 R2 atau yang lebih baru dengan SCEP terinstal, atau Windows Server 2016 atau yang lebih baru dengan Windows Defender Antivirus
- Agen Azure Monitor diinstal di server Windows (memerlukan Azure Arc untuk server lokal, atau dukungan native untuk VM Azure)
Akses administrator di server Windows tempat SCEP di-deploy
Mengonfigurasi Akun Azure Storage
Buat Akun Penyimpanan
- Di portal Azure, cari Storage accounts.
- Klik + Create.
Berikan detail konfigurasi berikut:
Setelan Nilai Langganan Pilih langganan Azure Anda Grup resource Pilih yang sudah ada atau buat yang baru Nama akun penyimpanan Masukkan nama unik (misalnya, sceplogssa)Region Pilih region (misalnya, East US)Performa Standar (direkomendasikan) Redundansi GRS (Geo-redundant storage) atau LRS (Locally redundant storage) Klik Review + create.
Tinjau ringkasan akun, lalu klik Buat.
Tunggu hingga deployment selesai.
Mendapatkan kredensial Akun Penyimpanan
- Buka Akun Penyimpanan yang baru saja Anda buat.
- Di navigasi kiri, pilih Kunci akses di bagian Keamanan + jaringan.
- Klik Tampilkan kunci.
- Salin dan simpan yang berikut untuk digunakan nanti:
- Nama akun penyimpanan: Nama yang Anda buat (misalnya,
sceplogssa) - Kunci 1 atau Kunci 2: Kunci akses bersama (string acak 512-bit dalam encoding base-64)
- Nama akun penyimpanan: Nama yang Anda buat (misalnya,
Mendapatkan endpoint Blob Service
- Di Akun Penyimpanan yang sama, pilih Endpoints dari navigasi kiri.
- Salin dan simpan URL endpoint Blob service.
- Contoh:
https://sceplogssa.blob.core.windows.net/
- Contoh:
Membuat ruang kerja Log Analytics
- Di portal Azure, cari ruang kerja Log Analytics.
- Klik + Create.
Berikan detail konfigurasi berikut:
Setelan Nilai Langganan Pilih langganan Azure Anda Grup resource Pilih grup resource yang sama dengan Akun Penyimpanan Nama Masukkan nama unik (misalnya, scep-logs-workspace)Region Pilih region yang sama dengan Akun Penyimpanan Klik Tinjau + Buat.
Klik Create.
Tunggu hingga deployment selesai.
Menginstal Agen Azure Monitor di server Windows
Untuk server lokal yang menjalankan SCEP, Anda harus mengaktifkan server ke Azure Arc terlebih dahulu, lalu menginstal Agen Azure Monitor.
Mengaktifkan Azure Arc (khusus server lokal)
- Di portal Azure, cari Azure Arc.
- Pilih Server di bagian Infrastruktur.
- Klik + Tambahkan.
- Pilih Tambahkan satu server, lalu klik Buat skrip.
- Berikan detail konfigurasi berikut:
- Langganan: Pilih langganan Azure Anda
- Grup resource: Pilih grup resource Anda
- Region: Pilih region yang sama dengan Akun Penyimpanan
- Sistem operasi: Pilih Windows
- Klik Download and run script.
- Di server Windows yang menjalankan SCEP, buka PowerShell sebagai administrator.
Jalankan skrip yang didownload untuk menyelesaikan orientasi Azure Arc.
Menginstal Agen Azure Monitor
- Di portal Azure, buka Azure Arc > Servers (atau Virtual Machines untuk VM Azure).
- Pilih server yang menjalankan SCEP.
- Di navigasi kiri, pilih Ekstensi di bagian Setelan.
- Klik + Tambahkan.
- Telusuri dan pilih Azure Monitor Agent.
- Klik Berikutnya, lalu Tinjau + buat.
- Klik Create.
- Tunggu hingga penginstalan ekstensi selesai.
Membuat Aturan Pengumpulan Data untuk peristiwa SCEP
- Di portal Azure, cari Monitor.
- Pilih Aturan Pengumpulan Data di bagian Setelan.
- Klik + Create.
- Di tab Basics, berikan detail konfigurasi berikut:
- Nama aturan: Masukkan nama deskriptif (misalnya,
dcr-scep-events) - Langganan: Pilih langganan Azure Anda
- Grup resource: Pilih grup resource Anda
- Region: Pilih region yang sama dengan ruang kerja Log Analytics
- Jenis Platform: Pilih Windows
- Nama aturan: Masukkan nama deskriptif (misalnya,
- Klik Berikutnya: Fasilitas.
- Di tab Resources:
- Klik + Tambahkan referensi.
- Luaskan grup resource dan pilih server yang menjalankan SCEP (server Azure Arc atau Azure VM).
- Klik Terapkan.
- Klik Berikutnya: Kumpulkan dan kirimkan.
Di tab Pengambilan dan pengiriman:
- Klik + Tambahkan sumber data.
- Di dropdown Jenis sumber data, pilih Log Peristiwa Windows.
- Pilih Kustom untuk memasukkan kueri XPath.
Klik + Add XPath query dan masukkan kueri XPath berikut untuk mengumpulkan semua peristiwa SCEP dan Windows Defender:
Microsoft-Windows-Windows Defender/Operational!*[System[(Level=1 or Level=2 or Level=3 or Level=4 or Level=5)]]Kueri XPath ini mengumpulkan semua peristiwa (Kritis, Error, Peringatan, Informasi, dan Verbose) dari channel Operasional Windows Defender. Untuk mengumpulkan hanya ID peristiwa tertentu (misalnya, deteksi malware), gunakan kueri yang lebih bertarget seperti:
Microsoft-Windows-Windows Defender/Operational!*[System[(EventID=1006 or EventID=1007 or EventID=1116 or EventID=1117 or EventID=2000 or EventID=2001 or EventID=5007)]]Di tab Tujuan, klik + Tambahkan tujuan.
Pilih Azure Monitor Logs sebagai Jenis tujuan.
Pilih ruang kerja Log Analytics yang Anda buat sebelumnya (misalnya,
scep-logs-workspace).
Klik Tambahkan sumber data.
Klik Review + create.
Klik Create.
ID peristiwa utama yang dikumpulkan
Aturan Pengumpulan Data mengumpulkan peristiwa dari saluran Microsoft-Windows-Windows Defender/Operational, yang mencakup ID peristiwa SCEP utama berikut:
| ID Peristiwa | Deskripsi |
|---|---|
| 1006 | Malware terdeteksi oleh mesin antimalware |
| 1007 | Tindakan antimalware yang diambil pada malware yang terdeteksi |
| 1116 | Perlindungan real-time mendeteksi malware atau software yang berpotensi tidak diinginkan |
| 1117 | Perlindungan real-time mengambil tindakan terhadap malware |
| 2000 | Pembaruan tanda tangan antimalware dimulai |
| 2001 | Update tanda tangan antimalware selesai |
| 5007 | Konfigurasi platform antimalware diubah |
Mengonfigurasi ekspor data dari ruang kerja Log Analytics ke Azure Blob Storage
Mendaftarkan penyedia resource Microsoft.Insights
- Di portal Azure, buka Subscriptions.
- Pilih langganan Anda.
- Di navigasi kiri, pilih Penyedia resource di bagian Setelan.
- Cari Microsoft.Insights.
- Jika statusnya bukan Terdaftar, pilih, lalu klik Daftarkan.
Membuat aturan ekspor data
- Di portal Azure, buka ruang kerja Log Analytics (misalnya,
scep-logs-workspace). - Di navigasi kiri, pilih Ekspor Data di bagian Setelan.
- Klik + Aturan ekspor baru.
- Di tab Dasar-dasar:
- Nama aturan ekspor data: Masukkan nama deskriptif (misalnya,
export-scep-to-blob)
- Nama aturan ekspor data: Masukkan nama deskriptif (misalnya,
- Klik Berikutnya: Sumber.
Di tab Sumber, pilih tabel Peristiwa.
Klik Berikutnya: Tujuan.
Di tab Tujuan:
- Jenis tujuan: Pilih Akun Penyimpanan
- Subscription: Pilih langganan yang berisi Akun Penyimpanan
- Akun penyimpanan: Pilih Akun Penyimpanan yang Anda buat sebelumnya (misalnya,
sceplogssa)
Klik Berikutnya: Tinjau + Buat.
Klik Create.
Setelah konfigurasi, peristiwa akan otomatis diekspor ke Akun Penyimpanan. Container bernama
am-Eventdibuat di Akun Penyimpanan. Blob disimpan dalam folder 5 menit menggunakan struktur jalur berikut:am-Event/ └── WorkspaceResourceId=/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/microsoft.operationalinsights/workspaces/{workspace}/ └── y={year}/m={month}/d={day}/h={hour}/m={minute}/ └── PT05M.json
Memverifikasi ekspor data
- Di portal Azure, buka Storage Account (misalnya,
sceplogssa). - Di navigasi kiri, pilih Containers di bagian Data storage.
- Pastikan bahwa penampung
am-Eventada. - Buka container dan verifikasi bahwa file JSON dengan data peristiwa sedang dibuat dalam struktur folder.
Mengonfigurasi feed di Google SecOps untuk menyerap log Microsoft System Center Endpoint Protection (SCEP)
- Buka Setelan SIEM > Feed.
- Klik Tambahkan Feed Baru.
- Di halaman berikutnya, klik Konfigurasi satu feed.
- Di kolom Nama feed, masukkan nama untuk feed (misalnya,
Microsoft SCEP Logs). - Pilih Microsoft Azure Blob Storage V2 sebagai Jenis sumber.
- Pilih Microsoft System Center Endpoint Protection (SCEP) sebagai Jenis log.
- Klik Berikutnya.
Tentukan nilai untuk parameter input berikut:
- URI Azure: Masukkan URL endpoint Blob Service dengan jalur container:
https://sceplogssa.blob.core.windows.net/am-Event/Ganti kode berikut:
sceplogssa: Nama akun penyimpanan Azure Anda.am-Event: Nama container blob tempat peristiwa yang diekspor disimpan.
- Opsi penghapusan sumber: Pilih opsi penghapusan sesuai preferensi Anda:
- Jangan pernah: Tidak pernah menghapus file apa pun setelah transfer.
- Hapus file yang ditransfer: Menghapus file setelah transfer berhasil.
- Hapus file yang ditransfer dan direktori kosong: Menghapus file dan direktori kosong setelah transfer berhasil.
- Usia File Maksimum: Menyertakan file yang diubah dalam beberapa hari terakhir (defaultnya adalah 180 hari)
- Kunci bersama: Masukkan nilai kunci bersama (kunci akses) yang Anda ambil dari Akun Penyimpanan
- Namespace aset: Namespace aset
- Label penyerapan: Label yang akan diterapkan ke peristiwa dari feed ini
Klik Berikutnya.
Tinjau konfigurasi feed baru Anda di layar Selesaikan, lalu klik Kirim.
Konfigurasi firewall Azure Storage (jika diaktifkan)
Jika Akun Azure Storage Anda menggunakan firewall, Anda harus menambahkan rentang IP Google SecOps.
- Di portal Azure, buka Akun Penyimpanan Anda.
- Pilih Networking di bagian Security + networking.
- Di bagian Firewalls and virtual networks, pilih Enabled from selected virtual networks and IP addresses.
- Di bagian Firewall, di bagian Rentang alamat, klik + Tambahkan rentang IP.
Tambahkan setiap rentang IP Google SecOps dalam notasi CIDR.
Untuk mendapatkan rentang IP saat ini:
- Lihat dokumentasi Daftar IP yang Diizinkan
- Atau ambil secara terprogram menggunakan Feed Management API
Selain itu, centang kotak Izinkan layanan Azure di daftar layanan tepercaya untuk mengakses akun penyimpanan ini guna mengizinkan ekspor data ruang kerja Log Analytics untuk menulis ke Akun Penyimpanan.
Klik Simpan.
Tabel pemetaan UDM
| Kolom Log | Pemetaan UDM | Logika |
|---|---|---|
| about.hostname | about.hostname | Tetapkan ke "%{_DB_HOST}" |
| _DB_PORT | about.port | Nilai disalin langsung, dikonversi menjadi bilangan bulat |
| _DB_DRIVER | about.resource.name | Tetapkan ke "%{_DB_DRIVER}" |
| _DB_URL | about.url | Ditetapkan ke "%{_DB_URL}" |
| signature_labels | event.idm.read_only_udm.additional.fields | Digabungkan dari signature_labels jika tanda tangan tidak kosong, pending_action jika PendingAction tidak kosong, execution_status jika ExecutionStatus tidak kosong, record_id jika RecordID tidak kosong, error_code jika ErrorCode tidak kosong, action_success jika ActionSuccess tidak kosong |
| pending_action | event.idm.read_only_udm.additional.fields | |
| execution_status | event.idm.read_only_udm.additional.fields | |
| record_id | event.idm.read_only_udm.additional.fields | |
| error_code | event.idm.read_only_udm.additional.fields | |
| action_success | event.idm.read_only_udm.additional.fields | |
| source_url | event.idm.read_only_udm.src.url | Nilai dari source_url jika tidak kosong, atau dari my_string1 jika tidak kosong |
| my_string1 | event.idm.read_only_udm.src.url | |
| has_principal | metadata.event_type | Ditetapkan ke "NETWORK_CONNECTION" jika has_principal dan has_target benar, atau "STATUS_UPDATE" jika has_principal benar, atau "SCAN_FILE" jika not no_target_host dan path_available benar, atau "STATUS_UNCATEGORIZED" jika not no_target_host, atau "USER_UNCATEGORIZED" jika has_user benar, atau "GENERIC_EVENT" |
| has_user | metadata.event_type | |
| has_target | metadata.event_type | |
| no_target_host | metadata.event_type | |
| path_available | metadata.event_type | |
| Nama | metadata.product_event_type | Nilai disalin secara langsung |
| DetectionID | metadata.product_log_id | Nilai disalin secara langsung |
| metadata.product_name | metadata.product_name | Tetapkan ke "MICROSOFT SYSTEM CENTER ENDPOINT PROTECTION" |
| metadata.vendor_name | metadata.vendor_name | Tetapkan ke "MICROSOFT" |
| NTdomain | principal.administrative_domain | Nilai disalin secara langsung |
| hostname | principal.asset.hostname | Nilai dari nama host jika tidak kosong, atau dari TargetHost |
| TargetHost | principal.asset.hostname | |
| action_type | principal.group.attribute.labels | Digabungkan dari action_type_label jika action_type tidak kosong |
| hostname | principal.hostname | Nilai dari nama host jika tidak kosong, atau dari TargetHost |
| TargetHost | principal.hostname | |
| Proses | principal.process.file.full_path | Nilai disalin secara langsung jika Proses tidak kosong |
| NAMA PENGGUNA | principal.user.user_display_name | Nilai disalin secara langsung |
| NamaPengguna | principal.user.userid | Nilai dari UserName jika tidak kosong, atau dari pengguna jika tidak kosong |
| pengguna | principal.user.userid | |
| tindakan | security_result.action | Disetel berdasarkan nilai tindakan (ALLOW untuk berhasil/dibuat/dimulai/dikirim/diizinkan, BLOCK untuk gagal/diblokir/penghapusan/ditangguhkan/dihapus/ditolak/dibatalkan/error/dikunci, ALLOW_WITH_MODIFICATION untuk acl_modified/modified, QUARANTINE untuk dikarantina) atau CleanAction (FAIL jika Gagal, QUARANTINE jika Dikarantina, ALLOW jika Diizinkan, BLOCK jika Diblokir) |
| CleanAction | security_result.action | |
| CleanAction | security_result.action_details | Nilai disalin secara langsung jika CleanAction tidak kosong |
| category | security_result.category_details | Digabungkan dari kategori jika tidak kosong, atau dari Kategori |
| Kategori | security_result.category_details | |
| DetectionID | security_result.detection_fields | Digabungkan dari DetectionID_field jika DetectionID tidak kosong, detectionid_field jika detectionid tidak kosong, detection_source_labels jika detection_source tidak kosong, pending_action_labels jika pending_action tidak kosong, detection_Path jika source_url dan file_path dan Path tidak kosong |
| detectionid | security_result.detection_fields | |
| detection_source | security_result.detection_fields | |
| pending_action | security_result.detection_fields | |
| Jalur | security_result.detection_fields | |
| tingkat keseriusan, | security_result.severity | Tetapkan berdasarkan tingkat keparahan (RENDAH untuk 0/1/2/3/RENDAH, SEDANG untuk 4/5/6/SEDANG/SUBSTANSIAL/INFO, TINGGI untuk 7/8/TINGGI/PARAH, KRITIS untuk 9/10/SANGAT TINGGI/KRITIS) atau SeverityID (RENDAH untuk 1, SEDANG untuk 2, TINGGI untuk 4, KRITIS untuk 5, UNKNOWN_SEVERITY untuk lainnya) |
| SeverityID | security_result.severity | |
| SeverityID | security_result.severity_details | Nilai disalin secara langsung |
| ThreatID | security_result.threat_id | Nilai disalin secara langsung |
| ThreatName | security_result.threat_name | Nilai disalin secara langsung |
| MaliciousFileCt | security_result.verdict_info | Nilai disalin secara langsung, dikonversi menjadi bilangan bulat, digabungkan sebagai malicious_file_ct |
| dest_nt_domain | target.administrative_domain | Nilai disalin secara langsung |
| dest_name | target.asset.hostname | Nilai disalin secara langsung jika dest_name tidak kosong |
| file_path | target.file.full_path | Nilai dari file_path jika tidak kosong, jika tidak, dari Path jika file_path kosong, jika tidak, dari my_string jika tidak kosong |
| Jalur | target.file.full_path | |
| my_string | target.file.full_path | |
| dest_name | target.hostname | Nilai disalin secara langsung jika dest_name tidak kosong |
| ResourceID | target.resource.name | Nilai dari ResourceID jika tidak kosong, atau dari resourceid jika tidak kosong |
| resourceid | target.resource.name | |
| pengguna | target.user.userid | Nilai disalin langsung jika pengguna tidak kosong |
| waktu | metadata.event_timestamp | Dikonversi dari waktu menggunakan format "MMM dd HH:mm:ss" jika waktu tidak kosong, atau dari DetectionTime atau detectiontime menggunakan UNIX_MS |
| DetectionTime | metadata.event_timestamp | |
| detectiontime | metadata.event_timestamp |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.