收集 Juniper NetScreen 防火牆記錄

支援的國家/地區:

本文說明如何設定 Juniper NetScreen 防火牆記錄,以便傳送至 Google Security Operations。剖析器會使用 grok 模式擷取欄位,並處理各種系統記錄格式和 JSON 酬載。然後將這些擷取的欄位對應至 UDM,並根據 IP 位址、使用者名稱和連接埠等特定欄位是否存在,將事件分類為網路連線、使用者登入、狀態更新或一般事件。

事前準備

  • 確認您擁有 Juniper NetScreen 防火牆的管理員存取權。
  • 確認您有 Google Security Operations 執行個體。

取得 Google SecOps 擷取驗證檔案

  1. 登入 Google SecOps 控制台。
  2. 依序前往「SIEM 設定」>「收集代理程式」
  3. 下載擷取驗證檔案。將檔案安全地儲存在要安裝 Bindplane 的系統上。

取得 Google SecOps 客戶 ID

  1. 登入 Google SecOps 控制台。
  2. 依序前往「SIEM 設定」>「設定檔」
  3. 複製並儲存「機構詳細資料」專區中的客戶 ID

安裝 Bindplane 代理程式

Windows 安裝

  1. 以系統管理員身分開啟「命令提示字元」或「PowerShell」
  2. 執行下列指令:

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

Linux 安裝

  1. 開啟具有根層級或 sudo 權限的終端機。
  2. 執行下列指令:

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

其他安裝資源

設定 Bindplane 代理程式,擷取系統記錄檔並傳送至 Google SecOps

  1. 存取設定檔:

    1. 找出 config.yaml 檔案。通常位於 Linux 的 /etc/bindplane-agent/ 目錄,或 Windows 的安裝目錄。
    2. 使用文字編輯器 (例如 nanovi 或記事本) 開啟檔案。
  2. 按照下列方式編輯 config.yaml 檔案:

    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. 視基礎架構需求,替換通訊埠和 IP 位址。

  4. <customer_id> 替換為實際的客戶 ID。

  5. /path/to/ingestion-authentication-file.json 更新為「取得 Google SecOps 擷取驗證檔案」一節中儲存驗證檔案的路徑。

重新啟動 Bindplane 代理程式,以套用變更

  • 如要在 Linux 中重新啟動 Bindplane 代理程式,請執行下列指令:

    sudo systemctl restart bindplane-agent
    
  • 如要在 Windows 中重新啟動 Bindplane 代理程式,可以使用「服務」控制台,或輸入下列指令:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

設定 Juniper Networks NetScreen 防火牆

  1. 登入 Juniper NetScreen 網頁介面。
  2. 依序選取「設定」>「報表設定」>「記錄設定」
  3. 選取所有「事件嚴重性」核取方塊。
  4. 按一下 [套用]
  5. 依序選取「Configuration」>「Report settings」>「Syslog」
  6. 勾選「Enable syslog messages」(啟用系統記錄訊息) 核取方塊。
  7. 在「Source interface」(來源介面) 清單中,選取要傳送系統記錄封包的「NetScreen」介面。
  8. 在「Syslog servers」(系統記錄伺服器) 區段中,勾選「Enable」(啟用) 核取方塊,並提供下列資訊:
    1. IP/主機名稱:輸入 Bindplane IP 位址。
    2. 「Port」(通訊埠):輸入 Bindplane 通訊埠編號。
    3. MDR 設施:選取「Local0」設施層級。
    4. 設施:選取「Local0」設施層級。
  9. 按一下 [套用]

UDM 對應表

記錄欄位 UDM 對應 邏輯
ACTION security_result.action_details 直接從透過 GROK 和 KV 篩選器擷取的 ACTION 欄位對應。
APPLICATION principal.application 直接從透過 GROK 和 KV 篩選器擷取的 APPLICATION 欄位對應。
application target.application 直接從透過 GROK 擷取的「application」欄位對應。
attack-name security_result.threat_name 直接從透過 GROK 擷取的「attack-name」欄位對應。
bytes-from-client network.sent_bytes 直接從透過 GROK 擷取的「bytes-from-client」欄位對應。
bytes-from-server network.received_bytes 直接從透過 GROK 擷取的「bytes-from-server」欄位對應。
command target.process.command_line 直接從透過 GROK 擷取的「command」欄位對應。
destination-address target.ip 直接從透過 GROK 擷取的「destination-address」欄位對應。
destination-port target.port 直接從透過 GROK 擷取的「destination-port」欄位對應。
destination-zone additional.fields[].value.string_value 直接從透過 GROK 和 KV 篩選器擷取的 destination-zone 欄位對應。key 設為 destination-zone
destination_zone-name security_result.detection_fields[].value 直接從透過 GROK 擷取的「destination_zone-name」欄位對應。key 設為 dstzone
dst-nat-rule-name security_result.detection_fields[].value 直接從透過 GROK 擷取的「dst-nat-rule-name」欄位對應。key 設為 dst-nat-rule-name
dst-nat-rule-type security_result.detection_fields[].value 直接從透過 GROK 擷取的「dst-nat-rule-type」欄位對應。key 設為 dst-nat-rule-type
elapsed-time network.session_duration.seconds 直接從透過 GROK 擷取的「elapsed-time」欄位對應。
encrypted security_result.detection_fields[].value 直接從透過 GROK 擷取的「encrypted」欄位對應。key 設為 encrypted
event_time metadata.event_timestamp 系統會使用各種 GROK 模式從原始記錄中擷取時間戳記,優先順序為 event_timeTIMESTAMP_ISO8601,最後是 SYSLOGTIMESTAMP。然後轉換為時間戳記物件。
host principal.hostnameintermediary.hostname 如果 typeNetScreen,則會對應到 intermediary.hostname。否則會對應至 principal.hostname
host_ip intermediary.ip 直接從透過 GROK 擷取的「host_ip」欄位對應。
icmp-type network.icmp_type 直接從透過 GROK 擷取的「icmp-type」欄位對應。
ident target.application 直接從透過 GROK 和 JSON 篩選器擷取的 ident 欄位對應。
inbound-bytes network.received_bytes 直接從透過 GROK 擷取的「inbound-bytes」欄位對應。
inbound-packets network.received_packets 直接從透過 GROK 擷取的「inbound-packets」欄位對應。
ip principal.ipintermediary.ip 如果 typeNetScreen,則會對應到 intermediary.ip。否則會對應至 principal.hostname
message security_result.description 如果訊息是 JSON 格式,且沒有 log_message_data 欄位,系統會使用 message 欄位做為說明。
msg_data security_result.summary 直接從透過 GROK 擷取的「msg_data」欄位對應。
nat-destination-address target.nat_ip 直接從透過 GROK 擷取的「nat-destination-address」欄位對應。
nat-destination-port target.nat_port 直接從透過 GROK 擷取的「nat-destination-port」欄位對應。
nat-source-address principal.nat_ip 直接從透過 GROK 擷取的「nat-source-address」欄位對應。
nat-source-port principal.nat_port 直接從透過 GROK 擷取的「nat-source-port」欄位對應。
outbound-bytes network.sent_bytes 直接從透過 GROK 擷取的「outbound-bytes」欄位對應。
outbound-packets network.sent_packets 直接從透過 GROK 擷取的「outbound-packets」欄位對應。
packets-from-client network.sent_packets 直接從透過 GROK 擷取的「packets-from-client」欄位對應。
packets-from-server network.received_packets 直接從透過 GROK 擷取的「packets-from-server」欄位對應。
packet-incoming-interface security_result.detection_fields[].value 直接從透過 GROK 擷取的「packet-incoming-interface」欄位對應。key 設為 packet-incoming-interface
pid target.process.pid 直接從透過 GROK 和 JSON 篩選器擷取的 pid 欄位對應。
policy-name security_result.rule_name 直接從透過 GROK 擷取的「policy-name」欄位對應。
PROFILE additional.fields[].value.string_value 直接從透過 GROK 和 KV 篩選器擷取的 PROFILE 欄位對應。key 設為 PROFILE
protocol-idprotocol-name network.ip_protocol 從透過 GROK 擷取的「protocol-id」或「protocol-name」欄位對應。這個值會轉換為對應的 IP 通訊協定列舉。
REASON additional.fields[].value.string_value 直接從透過 GROK 和 KV 篩選器擷取的 REASON 欄位對應。key 設為 REASON
reason security_result.description 直接從透過 GROK 擷取的「reason」欄位對應。
rule-name security_result.rule_name 直接從透過 GROK 擷取的「rule-name」欄位對應。
SESSION_ID network.session_id 直接從透過 GROK 和 KV 篩選器擷取的 SESSION_ID 欄位對應。
service-name security_result.detection_fields[].value 直接從透過 GROK 擷取的「service-name」欄位對應。key 設為 srvname
source-address principal.ip 直接從透過 GROK 擷取的「source-address」欄位對應。
source-port principal.port 直接從透過 GROK 擷取的「source-port」欄位對應。
source-zone additional.fields[].value.string_value 直接從透過 GROK 和 KV 篩選器擷取的 source-zone 欄位對應。key 設為 source-zone
source_zone-name security_result.detection_fields[].value 直接從透過 GROK 擷取的「source_zone-name」欄位對應。key 設為 srczone
src-nat-rule-name security_result.detection_fields[].value 直接從透過 GROK 擷取的「src-nat-rule-name」欄位對應。key 設為 src-nat-rule-name
src-nat-rule-type security_result.detection_fields[].value 直接從透過 GROK 擷取的「src-nat-rule-type」欄位對應。key 設為 src-nat-rule-type
subtype metadata.product_event_type 直接從透過 GROK 擷取的「subtype」欄位對應。
threat-severity security_result.severity_details 直接從透過 GROK 擷取的「threat-severity」欄位對應。
time metadata.event_timestamp 直接從透過 GROK 和 JSON 篩選器擷取的 time 欄位對應。已轉換為時間戳記物件。
username target.user.userid 直接從透過 GROK 擷取的「username」欄位對應。
metadata.log_type 硬式編碼為 JUNIPER_FIREWALL。根據 type 欄位,硬式編碼為 JUNIPER_FIREWALLNetScreen。硬式編碼為 JUNIPER_FIREWALL。根據剖析器中的邏輯設為 ALLOW 或 BLOCK。根據 subtypeseverity_details 欄位,設為 LOW、MEDIUM、HIGH、INFORMATIONAL 或 CRITICAL。

還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。