Mengumpulkan log Juniper NetScreen Firewall

Didukung di:

Dokumen ini menjelaskan cara menyiapkan log Juniper NetScreen Firewall untuk dikirim ke Google Security Operations. Parser mengekstrak kolom menggunakan pola grok, menangani berbagai format syslog dan payload JSON. Kemudian, sistem memetakan kolom yang diekstrak ini ke UDM, mengategorikan peristiwa sebagai koneksi jaringan, login pengguna, pembaruan status, atau peristiwa umum berdasarkan keberadaan kolom tertentu seperti alamat IP, nama pengguna, dan port.

Sebelum memulai

  • Pastikan Anda memiliki akses administratif ke Juniper NetScreen Firewall.
  • Pastikan Anda memiliki instance Google Security Operations.

Mendapatkan file autentikasi penyerapan Google SecOps

  1. Login ke konsol Google SecOps.
  2. Buka Setelan SIEM > Agen Pengumpulan.
  3. Download File Autentikasi Penyerapan. Simpan file dengan aman di sistem tempat BindPlane akan diinstal.

Mendapatkan ID pelanggan Google SecOps

  1. Login ke konsol Google SecOps.
  2. Buka Setelan SIEM > Profil.
  3. Salin dan simpan ID Pelanggan dari bagian Detail Organisasi.

Menginstal agen Bindplane

Penginstalan Windows

  1. Buka Command Prompt atau PowerShell sebagai administrator.
  2. Jalankan perintah berikut:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Penginstalan Linux

  1. Buka terminal dengan hak istimewa root atau sudo.
  2. Jalankan perintah berikut:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

Referensi penginstalan tambahan

Mengonfigurasi agen BindPlane untuk menyerap Syslog dan mengirimkannya ke Google SecOps

  1. Akses file konfigurasi:

    1. Cari file config.yaml. Biasanya, file ini berada di direktori /etc/bindplane-agent/ di Linux atau di direktori penginstalan di Windows.
    2. Buka file menggunakan editor teks (misalnya, nano, vi, atau Notepad).
  2. Edit file config.yaml sebagai berikut:

    receivers:
        tcplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:54525"
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the path to the credentials file you downloaded in Step 1
            creds: '/path/to/ingestion-authentication-file.json'
            # Replace with your actual customer ID from Step 2
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # Add optional ingestion labels for better organization
            ingestion_labels:
                log_type: SYSLOG
                namespace: juniper_firewall
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
    
  3. Ganti port dan alamat IP sesuai kebutuhan di infrastruktur Anda.

  4. Ganti <customer_id> dengan ID pelanggan yang sebenarnya.

  5. Perbarui /path/to/ingestion-authentication-file.json ke jalur tempat file autentikasi disimpan di bagian Dapatkan file autentikasi penyerapan Google SecOps.

Mulai ulang agen Bindplane untuk menerapkan perubahan

  • Untuk memulai ulang agen Bindplane di Linux, jalankan perintah berikut:

    sudo systemctl restart bindplane-agent
    
  • Untuk memulai ulang agen Bindplane di Windows, Anda dapat menggunakan konsol Services atau memasukkan perintah berikut:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Mengonfigurasi firewall Juniper Networks NetScreen

  1. Login ke antarmuka web Juniper NetScreen.
  2. Pilih Konfigurasi > Setelan laporan > Setelan log.
  3. Centang semua kotak Tingkat keparahan peristiwa.
  4. Klik Terapkan.
  5. Pilih Konfigurasi > Setelan laporan > Syslog.
  6. Centang kotak Enable syslog messages.
  7. Dalam daftar Source interface, pilih antarmuka NetScreen tempat paket syslog perlu dikirim.
  8. Di bagian Server syslog, centang kotak Aktifkan dan berikan informasi berikut:
    1. IP/Hostname: masukkan alamat IP Bindplane.
    2. Port: masukkan nomor port Bindplane.
    3. Fasilitas MDR: pilih tingkat fasilitas Local0.
    4. Fasilitas: pilih tingkat fasilitas Local0.
  9. Klik Terapkan.

Tabel Pemetaan UDM

Kolom Log Pemetaan UDM Logika
ACTION security_result.action_details Dipetakan langsung dari kolom ACTION yang diekstrak melalui filter GROK dan KV.
APPLICATION principal.application Dipetakan langsung dari kolom APPLICATION yang diekstrak melalui filter GROK dan KV.
application target.application Dipetakan langsung dari kolom application yang diekstrak melalui GROK.
attack-name security_result.threat_name Dipetakan langsung dari kolom attack-name yang diekstrak melalui GROK.
bytes-from-client network.sent_bytes Dipetakan langsung dari kolom bytes-from-client yang diekstrak melalui GROK.
bytes-from-server network.received_bytes Dipetakan langsung dari kolom bytes-from-server yang diekstrak melalui GROK.
command target.process.command_line Dipetakan langsung dari kolom command yang diekstrak melalui GROK.
destination-address target.ip Dipetakan langsung dari kolom destination-address yang diekstrak melalui GROK.
destination-port target.port Dipetakan langsung dari kolom destination-port yang diekstrak melalui GROK.
destination-zone additional.fields[].value.string_value Dipetakan langsung dari kolom destination-zone yang diekstrak melalui filter GROK dan KV. key disetel ke destination-zone.
destination_zone-name security_result.detection_fields[].value Dipetakan langsung dari kolom destination_zone-name yang diekstrak melalui GROK. key disetel ke dstzone.
dst-nat-rule-name security_result.detection_fields[].value Dipetakan langsung dari kolom dst-nat-rule-name yang diekstrak melalui GROK. key disetel ke dst-nat-rule-name.
dst-nat-rule-type security_result.detection_fields[].value Dipetakan langsung dari kolom dst-nat-rule-type yang diekstrak melalui GROK. key disetel ke dst-nat-rule-type.
elapsed-time network.session_duration.seconds Dipetakan langsung dari kolom elapsed-time yang diekstrak melalui GROK.
encrypted security_result.detection_fields[].value Dipetakan langsung dari kolom encrypted yang diekstrak melalui GROK. key disetel ke encrypted.
event_time metadata.event_timestamp Stempel waktu diekstrak dari log mentah menggunakan berbagai pola GROK, dengan memprioritaskan event_time, lalu TIMESTAMP_ISO8601, dan terakhir SYSLOGTIMESTAMP. Kemudian, nilai tersebut dikonversi menjadi objek stempel waktu.
host principal.hostname, intermediary.hostname Jika type adalah NetScreen, dipetakan ke intermediary.hostname. Jika tidak, dipetakan ke principal.hostname.
host_ip intermediary.ip Dipetakan langsung dari kolom host_ip yang diekstrak melalui GROK.
icmp-type network.icmp_type Dipetakan langsung dari kolom icmp-type yang diekstrak melalui GROK.
ident target.application Dipetakan langsung dari kolom ident yang diekstrak melalui filter GROK dan JSON.
inbound-bytes network.received_bytes Dipetakan langsung dari kolom inbound-bytes yang diekstrak melalui GROK.
inbound-packets network.received_packets Dipetakan langsung dari kolom inbound-packets yang diekstrak melalui GROK.
ip principal.ip, intermediary.ip Jika type adalah NetScreen, dipetakan ke intermediary.ip. Jika tidak, dipetakan ke principal.hostname.
message security_result.description Jika pesan berupa JSON dan kolom log_message_data tidak ada, kolom message akan digunakan sebagai deskripsi.
msg_data security_result.summary Dipetakan langsung dari kolom msg_data yang diekstrak melalui GROK.
nat-destination-address target.nat_ip Dipetakan langsung dari kolom nat-destination-address yang diekstrak melalui GROK.
nat-destination-port target.nat_port Dipetakan langsung dari kolom nat-destination-port yang diekstrak melalui GROK.
nat-source-address principal.nat_ip Dipetakan langsung dari kolom nat-source-address yang diekstrak melalui GROK.
nat-source-port principal.nat_port Dipetakan langsung dari kolom nat-source-port yang diekstrak melalui GROK.
outbound-bytes network.sent_bytes Dipetakan langsung dari kolom outbound-bytes yang diekstrak melalui GROK.
outbound-packets network.sent_packets Dipetakan langsung dari kolom outbound-packets yang diekstrak melalui GROK.
packets-from-client network.sent_packets Dipetakan langsung dari kolom packets-from-client yang diekstrak melalui GROK.
packets-from-server network.received_packets Dipetakan langsung dari kolom packets-from-server yang diekstrak melalui GROK.
packet-incoming-interface security_result.detection_fields[].value Dipetakan langsung dari kolom packet-incoming-interface yang diekstrak melalui GROK. key disetel ke packet-incoming-interface.
pid target.process.pid Dipetakan langsung dari kolom pid yang diekstrak melalui filter GROK dan JSON.
policy-name security_result.rule_name Dipetakan langsung dari kolom policy-name yang diekstrak melalui GROK.
PROFILE additional.fields[].value.string_value Dipetakan langsung dari kolom PROFILE yang diekstrak melalui filter GROK dan KV. key disetel ke PROFILE.
protocol-id, protocol-name network.ip_protocol Dipetakan dari kolom protocol-id atau protocol-name yang diekstrak melalui GROK. Nilai dikonversi ke enum protokol IP yang sesuai.
REASON additional.fields[].value.string_value Dipetakan langsung dari kolom REASON yang diekstrak melalui filter GROK dan KV. key disetel ke REASON.
reason security_result.description Dipetakan langsung dari kolom reason yang diekstrak melalui GROK.
rule-name security_result.rule_name Dipetakan langsung dari kolom rule-name yang diekstrak melalui GROK.
SESSION_ID network.session_id Dipetakan langsung dari kolom SESSION_ID yang diekstrak melalui filter GROK dan KV.
service-name security_result.detection_fields[].value Dipetakan langsung dari kolom service-name yang diekstrak melalui GROK. key disetel ke srvname.
source-address principal.ip Dipetakan langsung dari kolom source-address yang diekstrak melalui GROK.
source-port principal.port Dipetakan langsung dari kolom source-port yang diekstrak melalui GROK.
source-zone additional.fields[].value.string_value Dipetakan langsung dari kolom source-zone yang diekstrak melalui filter GROK dan KV. key disetel ke source-zone.
source_zone-name security_result.detection_fields[].value Dipetakan langsung dari kolom source_zone-name yang diekstrak melalui GROK. key disetel ke srczone.
src-nat-rule-name security_result.detection_fields[].value Dipetakan langsung dari kolom src-nat-rule-name yang diekstrak melalui GROK. key disetel ke src-nat-rule-name.
src-nat-rule-type security_result.detection_fields[].value Dipetakan langsung dari kolom src-nat-rule-type yang diekstrak melalui GROK. key disetel ke src-nat-rule-type.
subtype metadata.product_event_type Dipetakan langsung dari kolom subtype yang diekstrak melalui GROK.
threat-severity security_result.severity_details Dipetakan langsung dari kolom threat-severity yang diekstrak melalui GROK.
time metadata.event_timestamp Dipetakan langsung dari kolom time yang diekstrak melalui filter GROK dan JSON. Dikonversi ke objek stempel waktu.
username target.user.userid Dipetakan langsung dari kolom username yang diekstrak melalui GROK.
metadata.log_type Hardcode ke JUNIPER_FIREWALL. Dikodekan secara permanen ke JUNIPER_FIREWALL atau NetScreen berdasarkan kolom type. Hardcode ke JUNIPER_FIREWALL. Disetel ke ALLOW atau BLOCK berdasarkan logika di parser. Tetapkan ke LOW, MEDIUM, HIGH, INFORMATIONAL, atau CRITICAL berdasarkan kolom subtype dan severity_details.

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