Mengumpulkan log Synology
Ringkasan
Parser ini mengekstrak kolom dari pesan SYSLOG Synology menggunakan pola grok, yang memetakan kolom tersebut ke UDM. Alat ini menangani berbagai format log, mengidentifikasi login pengguna dan akses resource, serta mengategorikan peristiwa berdasarkan kata kunci, yang memperkaya data dengan informasi vendor dan produk.
Sebelum memulai
- Pastikan Anda memiliki instance Google Chronicle.
- Pastikan Anda memiliki akses dengan hak istimewa ke Synology DSM.
Mengonfigurasi feed di Google SecOps untuk menyerap log Synology
- Buka Setelan SIEM > Feed.
- Klik Tambahkan baru.
- Di kolom Nama feed, masukkan nama untuk feed (misalnya, Log Synology).
- Pilih Webhook sebagai Jenis sumber.
- Pilih Synology sebagai Jenis log.
- Klik Berikutnya.
- Opsional: Tentukan nilai untuk parameter input berikut:
- Pemisah pemisahan: pembatas yang digunakan untuk memisahkan baris log, seperti
\n
. - Namespace aset: namespace aset.
- Label penyerapan: label yang diterapkan ke peristiwa dari feed ini.
- Pemisah pemisahan: pembatas yang digunakan untuk memisahkan baris log, seperti
- Klik Berikutnya.
- Tinjau konfigurasi feed di layar Finalize, lalu klik Submit.
- Klik Buat Kunci Rahasia untuk membuat kunci rahasia guna mengautentikasi feed ini.
- Salin dan simpan kunci rahasia. Anda tidak dapat melihat kunci rahasia ini lagi. Jika perlu, Anda dapat membuat ulang kunci rahasia baru, tetapi tindakan ini akan membuat kunci rahasia sebelumnya tidak berlaku lagi.
- Dari tab Detail, salin URL endpoint feed dari kolom Endpoint Information. Anda perlu menentukan URL endpoint ini di aplikasi klien.
- Klik Done.
Membuat kunci API untuk feed webhook
Buka Konsol Google Cloud > Kredensial.
Klik Create credentials, lalu pilih API key.
Batasi akses kunci API ke Google Security Operations API.
Menentukan URL endpoint
- Di aplikasi klien, tentukan URL endpoint HTTPS yang diberikan di feed webhook.
Aktifkan autentikasi dengan menentukan kunci API dan kunci secret sebagai bagian dari header kustom dalam format berikut:
X-goog-api-key = API_KEY X-Webhook-Access-Key = SECRET
Rekomendasi: Tentukan kunci API sebagai header, bukan menentukannya di URL.
Jika klien webhook Anda tidak mendukung header kustom, Anda dapat menentukan kunci API dan kunci rahasia menggunakan parameter kueri dalam format berikut:
ENDPOINT_URL?key=API_KEY&secret=SECRET
Ganti kode berikut:
ENDPOINT_URL
: URL endpoint feed.API_KEY
: kunci API untuk mengautentikasi ke Google Security Operations.SECRET
: kunci rahasia yang Anda buat untuk mengautentikasi feed.
Membuat Webhook di Synology untuk Google SecOps
- Login ke DiskStation Manager (DSM) di Synology NAS Anda.
- Buka Control Panel > Notification > Webhook.
- Klik Tambahkan.
Tentukan nilai untuk parameter berikut:
- Penyedia: Pilih Kustom.
Aturan: Pilih jenis pesan yang ingin Anda kirim di webhook.
Klik Berikutnya.
Nama penyedia: Berikan nama yang berbeda untuk webhook (misalnya, Google SecOps).
Subjek: Akan ditambahkan sebagai awalan pesan notifikasi.
Webhook URL: Masukkan ENDPOINT_URL.
Pilih Kirim pesan notifikasi dalam bahasa Inggris.
Klik Berikutnya.
Metode HTTP: Pilih POST.
Tambahkan Header X-Webhook-Access-Key, dengan nilai SECRET.
Tambahkan Header X-goog-api-key, dengan nilai API_KEY.
Klik Terapkan.
Klik Terapkan untuk menyimpan webhook.
Tabel Pemetaan UDM
Kolom log | Pemetaan UDM | Logika |
---|---|---|
app |
target.application |
Nilai kolom app yang diekstrak oleh filter grok ditetapkan ke target.application . |
desc |
metadata.description |
Nilai kolom desc yang diekstrak oleh filter grok ditetapkan ke metadata.description . |
desc |
target.file.names |
Jika kolom desc berisi "Closed)", jalur file dalam tanda kurung akan diekstrak dan ditetapkan ke target.file.names . Jika kolom desc berisi "folder bersama yang diakses", jalur folder dalam tanda kurung akan diekstrak dan ditetapkan ke target.file.names . |
host |
principal.hostname |
Nilai kolom host yang diekstrak oleh filter grok dari kolom host_and_ip ditetapkan ke principal.hostname . |
host_and_ip |
principal.ip |
Kolom host_and_ip diuraikan. Jika ditemukan, alamat IP (ip1 ) akan ditetapkan ke principal.ip . Jika alamat IP kedua (ip2 ) ditemukan, alamat tersebut juga akan ditambahkan ke principal.ip . |
intermediary_host |
intermediary.hostname |
Nilai kolom intermediary_host yang diekstrak oleh filter grok ditetapkan ke intermediary.hostname . Objek auth kosong dibuat dalam extensions jika pesan berisi "login" atau "login". Stempel waktu dari kolom collection_time log mentah digunakan. Jika pesan berisi "login" atau "login", nilainya ditetapkan ke USER_LOGIN . Jika pesan berisi "folder bersama yang diakses", nilainya ditetapkan ke USER_RESOURCE_ACCESS . Jika tidak, setelan defaultnya adalah GENERIC_EVENT . Nilai kolom type yang diekstrak oleh filter grok ditetapkan ke metadata.product_event_type . Nilai ditetapkan secara statis ke "SYNOLOGY". Nilai ditetapkan secara statis ke "SYNOLOGY". Jika pesan berisi "failed to sign", nilainya ditetapkan ke BLOCK . Jika pesan berisi "success", nilainya ditetapkan ke ALLOW . Jika kolom severity (diekstrak oleh grok) adalah "INFO", nilainya akan ditetapkan ke INFORMATIONAL . |
severity |
security_result.severity |
Nilai kolom severity yang diekstrak oleh filter grok digunakan untuk menentukan security_result.severity . Jika nilainya "INFO", nilai tersebut akan dipetakan ke "INFORMATIONAL". |
time |
metadata.event_timestamp |
Kolom time , yang diekstrak oleh filter grok, diuraikan dan dikonversi menjadi stempel waktu. Stempel waktu ini kemudian ditetapkan ke metadata.event_timestamp . |
type |
metadata.product_event_type |
Nilai kolom type yang diekstrak oleh filter grok ditetapkan ke metadata.product_event_type . |
user |
target.administrative_domain |
Jika diekstrak dari kolom user , domain akan ditetapkan ke target.administrative_domain . |
user |
target.user.userid |
Bagian nama pengguna dari kolom user (sebelum "\" jika ada) diekstrak dan ditetapkan ke target.user.userid . Stempel waktu dari kolom collection_time log mentah digunakan. |
Perubahan
2024-01-16
- Parser yang baru dibuat.