Mengumpulkan log Juniper Junos

Didukung di:

Dokumen ini menjelaskan cara mengumpulkan log Juniper Junos menggunakan forwarder Google Security Operations.

Untuk mengetahui informasi selengkapnya, lihat Penambahan data ke Google Security Operations.

Label penyerapan mengidentifikasi parser yang menormalisasi data log mentah ke format UDM terstruktur. Informasi dalam dokumen ini berlaku untuk parser dengan label transfer JUNIPER_JUNOS.

Mengonfigurasi logging terstruktur untuk perangkat Juniper Networks SRX

Format log terstruktur mengekstrak informasi dari pesan log. Format log mematuhi protokol Syslog.

  1. Login ke Juniper SRX CLI menggunakan SSH ke alamat IP pengelolaannya.
  2. Ketik CLI di perintah shell, lalu tekan enter.
  3. Ketik configure dan tekan enter untuk masuk ke mode konfigurasi perangkat.
  4. Masukkan detail kontak atau titik referensi pelanggan.
  5. Untuk memetakan kolom ke akun pengguna, jalankan perintah berikut:

       set system syslog host FORWARDER_IP_ADDRESS any info
    
       set system syslog host FORWARDER_IP_ADDRESS structured-data
    
    

    Ganti FORWARDER_IP_ADDRESS dengan alamat IP penerusan Google Security Operations.

  6. Untuk mengaktifkan logging terstruktur untuk log keamanan, gunakan perintah berikut:

       set security log mode stream
    
       set security log source-address SRC_IP_ADDRESS
    
       set security log stream SYSLOG_STREAM_NAME host FORWARDER_IP_ADDRESS
    
       set security log stream SYSLOG_STREAM_NAME format sd-syslog
    
    

    Ganti kode berikut:

    • SRC_IP_ADDRESS: alamat IP perangkat Juniper SRX.

    • SYSLOG_STREAM_NAME: nama yang ditetapkan ke server syslog.

    • FORWARDER_IP_ADDRESS: alamat IP penerusan Google Security Operations.

  7. Pastikan logging diaktifkan di semua kebijakan keamanan. Untuk mengaktifkan logging, jalankan perintah berikut:

       set security policies from-zone <zone-name1> to-zone <zone-name2> policy <policy-name> then log session-close
    
       set security policies from-zone <zone-name1> to-zone <zone-name2> policy <policy-name> then log session-init
    
    
  8. Konfigurasikan nama host di perangkat menggunakan perintah berikut:

       set system host-name HOSTNAME
    
    

    Ganti HOSTNAME dengan perangkat Juniper Networks SRX yang ditetapkan.

  9. Masukkan commit untuk menyimpan perintah yang dieksekusi dalam konfigurasi.

Mengonfigurasi forwarder dan syslog Google Security Operations untuk menyerap log Juniper Junos

  1. Pilih Setelan SIEM > Penerima.
  2. Klik Tambahkan penerusan baru.
  3. Masukkan nama unik di kolom Nama pengirim.
  4. Klik Kirim, lalu klik Konfirmasi. Pengirim ditambahkan dan jendela Tambahkan konfigurasi kolektor akan muncul.
  5. Di kolom Nama kolektor, masukkan nama unik untuk kolektor.
  6. Pilih Juniper Junos sebagai Jenis log.
  7. Pilih Syslog sebagai Jenis kolektor.
  8. Konfigurasikan parameter input berikut:
    • Protocol: tentukan protokol sebagai UDP.
    • Address: tentukan alamat IP atau nama host target tempat kolektor berada dan memproses data syslog.
    • Port: menentukan port target tempat kolektor berada dan memproses data syslog.
  9. Klik Kirim.

Untuk informasi selengkapnya tentang penerusan Google Security Operations, lihat dokumentasi penerusan Google Security Operations. Untuk mengetahui informasi tentang persyaratan untuk setiap jenis forwarder, lihat Konfigurasi forwarder menurut jenis. Jika Anda mengalami masalah saat membuat penerusan, hubungi dukungan Google Security Operations.

Referensi pemetaan kolom

Parser ini mengekstrak kolom dari pesan syslog Juniper JUNOS, yang menangani format nilai kunci dan non-nilai kunci. Alat ini menggunakan pola grok untuk mencocokkan berbagai struktur pesan, termasuk log firewall, aktivitas SSH, dan eksekusi perintah, lalu memetakan kolom yang diekstrak ke UDM. Parser juga menangani log berformat CEF menggunakan file include dan melakukan tindakan tertentu berdasarkan konten pesan, seperti menggabungkan alamat IP dan nama pengguna ke kolom UDM yang sesuai.

Tabel pemetaan UDM

Kolom Log Pemetaan UDM Logika
DPT target.port Port tujuan koneksi jaringan, yang dikonversi menjadi bilangan bulat.
DST target.ip Alamat IP tujuan koneksi jaringan.
FLAG additional.fields{}.key: "FLAG", additional.fields{}.value.string_value: Nilai FLAG Flag TCP yang terkait dengan koneksi jaringan.
ID additional.fields{}.key: "ID", additional.fields{}.value.string_value: Nilai ID Kolom identifikasi IP.
IN additional.fields{}.key: "IN", additional.fields{}.value.string_value: Nilai IN Antarmuka jaringan masuk.
LEN additional.fields{}.key: "LEN", additional.fields{}.value.string_value: Nilai LEN Panjang paket IP.
MAC principal.mac Alamat MAC yang diekstrak dari kolom MAC.
OUT additional.fields{}.key: "OUT", additional.fields{}.value.string_value: Nilai OUT Antarmuka jaringan keluar.
PREC additional.fields{}.key: "PREC", additional.fields{}.value.string_value: Nilai PREC Kolom Precedence di header IP.
PROTO network.ip_protocol Protokol IP yang digunakan dalam koneksi jaringan.
RES additional.fields{}.key: "RES", additional.fields{}.value.string_value: Nilai RES Kolom yang dicadangkan di header TCP.
SPT principal.port Port sumber koneksi jaringan, yang dikonversi menjadi bilangan bulat.
SRC principal.ip Alamat IP sumber koneksi jaringan.
TOS additional.fields{}.key: "TOS", additional.fields{}.value.string_value: Nilai TOS Kolom Type of Service di header IP.
TTL network.dns.additional.ttl Nilai Time To Live, dikonversi menjadi bilangan bulat tanpa tanda tangan.
URGP additional.fields{}.key: "URGP", additional.fields{}.value.string_value: Nilai URGP Kolom Urgent pointer di header TCP.
WINDOW additional.fields{}.key: "WINDOW_SIZE", additional.fields{}.value.string_value: Nilai WINDOW Ukuran jendela TCP.
action security_result.action Tindakan yang diambil oleh firewall, diekstrak dari pesan CEF.
agt observer.ip Alamat IP agen.
amac target.mac Alamat MAC target, dikonversi menjadi huruf kecil dan tanda hubung diganti dengan titik dua.
app target.application Aplikasi yang terlibat dalam peristiwa.
artz observer.zone Zona waktu pengamat.
atz target.location.country_or_region Zona waktu target.
categoryBehavior additional.fields{}.key: "Perilaku Kategori", additional.fields{}.value.string_value: Nilai categoryBehavior dengan tanda garis miring dihapus Perilaku kategori.
categoryDeviceGroup additional.fields{}.key: "Kategori Grup Perangkat", additional.fields{}.value.string_value: Nilai categoryDeviceGroup dengan garis miring dihapus Grup perangkat kategori.
categoryObject additional.fields{}.key: "Objek Kategori", additional.fields{}.value.string_value: Nilai categoryObject dengan tanda garis miring dihapus Objek kategori.
categoryOutcome additional.fields{}.key: "Category Outcome", additional.fields{}.value.string_value: Nilai categoryOutcome dengan tanda garis miring dihapus Hasil kategori.
categorySignificance additional.fields{}.key: "Significance of category", additional.fields{}.value.string_value: Nilai categorySignificance Arti kategori.
command target.process.command_line Perintah dijalankan.
cs1Label additional.fields{}.key: cs1Label, additional.fields{}.value.string_value: Nilai kolom CEF yang sesuai Label dan nilai kolom string kustom 1 dari pesan CEF.
cs2Label additional.fields{}.key: cs2Label, additional.fields{}.value.string_value: Nilai kolom CEF yang sesuai Label dan nilai kolom string kustom 2 dari pesan CEF.
cs3Label additional.fields{}.key: cs3Label, additional.fields{}.value.string_value: Nilai kolom CEF yang sesuai Label dan nilai kolom string kustom 3 dari pesan CEF.
cs4Label additional.fields{}.key: cs4Label, additional.fields{}.value.string_value: Nilai kolom CEF yang sesuai Label dan nilai kolom string kustom 4 dari pesan CEF.
cs5Label additional.fields{}.key: cs5Label, additional.fields{}.value.string_value: Nilai kolom CEF yang sesuai Label dan nilai kolom string kustom 5 dari pesan CEF.
cs6Label additional.fields{}.key: cs6Label, additional.fields{}.value.string_value: Nilai kolom CEF yang sesuai Label dan nilai kolom string kustom 6 dari pesan CEF.
dhost target.hostname Nama host tujuan.
deviceCustomString1 additional.fields{}.key: cs1Label, additional.fields{}.value.string_value: Nilai deviceCustomString1 String kustom perangkat 1.
deviceCustomString2 additional.fields{}.key: cs2Label, additional.fields{}.value.string_value: Nilai deviceCustomString2 String kustom perangkat 2.
deviceCustomString3 additional.fields{}.key: cs3Label, additional.fields{}.value.string_value: Nilai deviceCustomString3 String kustom perangkat 3.
deviceCustomString4 additional.fields{}.key: cs4Label, additional.fields{}.value.string_value: Nilai deviceCustomString4 String kustom perangkat 4.
deviceCustomString5 additional.fields{}.key: cs5Label, additional.fields{}.value.string_value: Nilai deviceCustomString5 String kustom perangkat 5.
deviceCustomString6 additional.fields{}.key: cs6Label, additional.fields{}.value.string_value: Nilai deviceCustomString6 String kustom perangkat 6.
deviceDirection network.direction Arah traffic jaringan.
deviceEventClassId additional.fields{}.key: "eventId", additional.fields{}.value.string_value: Nilai deviceEventClassId ID class peristiwa perangkat.
deviceFacility observer.product.subproduct Fasilitas perangkat.
deviceProcessName about.process.command_line Nama proses perangkat.
deviceSeverity security_result.severity Tingkat keparahan perangkat.
deviceTimeZone observer.zone Zona waktu perangkat.
deviceVendor metadata.vendor_name Vendor perangkat.
deviceVersion metadata.product_version Versi perangkat.
dpt target.port Port tujuan.
dst target.ip Alamat IP tujuan.
duser target.user.user_display_name Pengguna tujuan.
eventId additional.fields{}.key: "eventId", additional.fields{}.value.string_value: Nilai eventId ID Peristiwa.
event_time metadata.event_timestamp Waktu terjadinya peristiwa, diuraikan dari pesan.
firewall_action security_result.action_details Tindakan firewall yang diambil.
host principal.hostname, intermediary.hostname Nama host perangkat yang membuat log. Digunakan untuk akun utama dan perantara dalam kasus yang berbeda.
msg security_result.summary Pesan yang terkait dengan peristiwa, digunakan sebagai ringkasan untuk hasil keamanan.
name metadata.product_event_type Nama peristiwa.
process_name additional.fields{}.key: "process_name", additional.fields{}.value.string_value: Nilai process_name Nama proses.
p_id target.process.pid ID proses, yang dikonversi menjadi string.
sha256 principal.process.file.sha256 Hash SHA256 file, diekstrak dari informasi kunci SSH2.
shost principal.hostname Hostname sumber.
source_address principal.ip Alamat IP sumber.
source_port principal.port Port sumber, yang dikonversi menjadi bilangan bulat.
src principal.ip Alamat IP sumber.
src_ip principal.ip Alamat IP sumber.
src_port principal.port Port sumber, yang dikonversi menjadi bilangan bulat.
ssh2 security_result.detection_fields{}.key: "ssh2", security_result.detection_fields{}.value: Nilai ssh2 Informasi kunci SSH2.
subtype metadata.product_event_type Subjenis peristiwa.
task_summary security_result.description Ringkasan tugas, yang digunakan sebagai deskripsi untuk hasil keamanan.
timestamp metadata.event_timestamp Stempel waktu peristiwa.
user target.user.userid Pengguna yang terkait dengan peristiwa.
username principal.user.userid Nama pengguna yang terkait dengan peristiwa.
user_name principal.user.userid Nama pengguna.
metadata.vendor_name Di-hardcode ke "Juniper Firewall". Di-hardcode ke "Juniper Firewall". Di-hardcode ke "JUNIPER_JUNOS". Ditentukan oleh logika parser berdasarkan konten log. Setelan defaultnya adalah "STATUS_UPDATE" jika bukan pesan CEF dan tidak ada jenis peristiwa spesifik lainnya yang diidentifikasi. Tetapkan ke "NETWORK_HTTP" untuk pesan CEF. Jika tidak ada kolom desc, kolom ini akan diisi dengan message_description yang diekstrak dari pesan log mentah.

Perubahan

2024-05-02

  • Peningkatan-
  • Menambahkan pola Grok untuk mendukung log format SYSLOG + KV baru.

2023-10-25

  • Peningkatan-
  • Menambahkan pola Grok untuk mengurai log yang tidak diuraikan.
  • Memetakan "source_port" ke "principal.port".
  • Memetakan "source_address" ke "principal.ip".
  • Memetakan "user_name" ke "target.user.userid".
  • Memetakan "application_name" ke "target.application".
  • Memetakan "p_id" ke "target.process.pid".
  • Menambahkan pemeriksaan "invalid_pattern" sebelum pemetaan KV.
  • Menambahkan pola Grok untuk memetakan "security_result.description" jika "description_present" bernilai salah.

2023-08-17

  • Peningkatan-
  • Menambahkan pola Grok ke log yang tidak diuraikan.
  • Memetakan "msg" ke "security_result.summary".
  • Memetakan "src_ip" ke "principal.ip".
  • Memetakan "user" ke "target.user.userid".
  • Memetakan "username" ke "principal.user.userid".
  • Memetakan "command" ke "target.process.command_line".
  • Memetakan "src_port" ke "principal.port".
  • Memetakan "ssh2" ke "security_result.detection_fields".
  • Memetakan "sha256" ke "principal.process.file.sha256".
  • Memetakan "desc" ke "sec_result.summary".
  • Memetakan "mac-address" ke "principal.mac".
  • Memetakan "host" ke "principal.hostname" jika event_type adalah "STATUS_UPDATE".

2023-01-15

  • Peningkatan-
  • Mengubah pola Grok untuk mendukung log yang tidak diuraikan yang berisi jenis "UI_CMDLINE_READ_LINE", "UI_COMMIT_PROGRESS", "UI_CHILD_START",
  • "UI_CFG_AUDIT_OTHER", "UI_LOGIN_EVENT", "UI_CHILD_STATUS", "UI_LOGOUT_EVENT", "UI_LOAD_EVENT",
  • "JTASK_IO_CONNECT_FAILED", "UI_AUTH_EVENT", "UI_NETCONF_CMD", "UI_COMMIT_NO_MASTER_PASSWORD", "UI_CFG_AUDIT_SET", "UI_JUNOSCRIPT_CMD",
  • "SNMPD_AUTH_FAILURE", "UI_CFG_AUDIT_NEW", "UI_COMMIT" , "LIBJNX_LOGIN_ACCOUNT_LOCKED", "UI_COMMIT_COMPLETED",
  • "PAM_USER_LOCK_LOGIN_REQUESTS_DENIED", "RTPERF_CPU_USAGE_OK", "RTPERF_CPU_THRESHOLD_EXCEEDED", "LIBJNX_LOGIN_ACCOUNT_UNLOCKED",
  • "JSRPD_SET_OTHER_INTF_MON_FAIL", "JSRPD_SET_SCHED_MON_FAILURE", "UI_CHILD_WAITPID", "UI_DBASE_LOGIN_EVENT".

2022-05-02

  • Parser default baru.

Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.