收集 Juniper NetScreen 防火墙日志

支持的平台:

本文档介绍了如何设置 Juniper NetScreen Firewall 日志以将其发送到 Google 安全运维团队。解析器使用 Grok 模式提取字段,处理各种 syslog 格式和 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. 打开具有 root 或 sudo 权限的终端。
  2. 运行以下命令:

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

其他安装资源

  • 如需了解其他安装选项,请参阅此安装指南

配置 Bindplane 代理以提取 Syslog 并将其发送到 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. 获取 Google SecOps 提取身份验证文件部分,将 /path/to/ingestion-authentication-file.json 更新为身份验证文件的保存路径。

重启 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. 依次选择配置 > 报告设置 > Syslog
  6. 选中启用 syslog 消息复选框。
  7. Source interface(来源接口)列表中,选择需要从中发送 syslog 数据包的 NetScreen 接口。
  8. Syslog 服务器部分,选中启用复选框,然后提供以下信息:
    1. IP 地址/主机名:输入 Bindplane IP 地址。
    2. 端口:输入 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_ISO8601SYSLOGTIMESTAMP。然后,它会转换为时间戳对象。
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-idprotocol-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 字段设置为“低”“中”“高”“信息”或“严重”。

变化

2025-02-20

增强功能

  • 修改了当 user_valueRT_FLOW 开头时 target.user.useridadditional.fields 的映射。

2025-02-06

增强功能

  • 如果 user_valueUI_LOGIN_EVENT,请将其映射到 additional.fields

2025-01-15

增强功能

  • 如果 user_name 包含 RT_FLOW_SESSION_DENY,请将其作为 BLOCK 映射到 security_result.action;否则,将 user_name 的映射从 target.user.userid 更改为 security_result.summary
  • sec_desc 映射到 security_result.description

2024-10-31

增强功能

  • 添加了新的 Grok 模式来解析未解析的日志。
  • processid 映射到 target.process.id
  • TSrTSi 映射到 additional.fields
  • 添加了 gsub 函数,用于将 Remote-IP 映射到 target.ip
  • 添加了 gsub 函数,以将 TSiLocal_IKE_ID 映射到 additional.fields
  • kv_data1 添加了 KV 过滤器,以解析未解析的字段。

2024-10-30

增强功能

  • 添加了新的 Grok 模式来解析新的日志模式。
  • fw 映射到 intermediary.ip
  • msg1 映射到 security_result.summary
  • desc 映射到 metadata.description

2024-10-24

增强功能

  • 添加了新的 Grok 模式,用于解析采用新 SYSLOG+KV 格式的日志。
  • local_ip 映射到 principal.ipprincipal.assest.ip
  • remote_ip 映射到 target.iptarget.asset.ip

2024-10-11

增强功能

  • hostn 映射到 principal.hostname
  • app 映射到 principal.application
  • pid 映射到 principal.process.pid
  • event_title 映射到 metadata.product_event_type
  • event_message 映射到 metadata.description
  • Local-ip 映射到 principal.ipprincipal.asset.ip
  • Gateway_Namevpntunnel_idtunnel_ifLocal_IKE_IDRemote_IKE_IDAAA_usernameVR_idTraffic_selectorTraffic_selector_Remote_IDTraffic_selector_local_IDSA_TypeReasonthresholdtime-perioderror-message_data 映射到 observer.resource.attribute.labels
  • target_ip 映射到 target.iptarget.asset.ip
  • data 映射到 target.iptarget.asset.ip

2024-06-28

增强功能

  • 修改了 Grok 模式,以解析未解析的日志。
  • 在字段 msg_data 上添加了 Grok 模式,以提取字段 user_idprincipal_hostfile_pathpid_2server_ip
  • principal_host 映射到 principal.hostname
  • user_id 映射到 target.user.userid
  • file_path 映射到 target.file.full_path
  • pid_2 映射到 target.process.pid
  • server_ip 映射到 target.ip
  • 通过移除年份(如果存在)正确地将 event_time 映射到 metadata.event_timestamprebase

2024-01-22

bug 修复

  • 添加了新的 Grok 模式,用于解析包含键值对数据的 message 字段。
  • ACTION 映射到 security_result.action_details
  • SESSION_ID 映射到 network.session_id
  • APPLICATION 映射到 principal.application
  • pingCtlOwnerIndexpingCtlTestNameusp_lsys_max_num_rpdusp_lsys_max_numurlcategory_riskapplication_sub_categorysource-zonedestination-zoneNESTED-APPLICATIONCATEGORYREASONPROFILEsource_ruleretrans_timerarp_unicast_mode 映射到 additional.fields
  • time 映射到 metadata.event_timestamp

2023-12-31

bug 修复

  • 添加了对新 JSON 日志模式的支持。
  • time 映射到 metadata.event_timestamp
  • host 映射到 principal.hostname
  • ident 映射到 target.application
  • pid 映射到 target.process.pid
  • 添加了 Grok 模式来解析 message 字段。

2023-12-15

增强功能

  • internal-protocol 映射到 network.ip_protocol
  • state 映射到 security_result.detection_fields
  • internal-ip 映射到 principal.ip
  • reflexive-ip 映射到 target.ip
  • internal-port 映射到 principle.port
  • reflexive-port 映射到 target.port
  • local-address 映射到 principal.ip
  • remote-address 映射到 target.ip
  • 添加了来源为 task_summary 的 KV 过滤条件。
  • dns-server-address 映射到 principal.ip
  • domain-name 映射到 principal.administrative_domain
  • argument1 映射到 network.direction
  • state 映射到 security_result.detection_fields
  • test-owner 映射到 additional.fields
  • local-initiator 映射到 additional.fields
  • test-name 映射到 additional.fields
  • SPI 映射到 additional.fields
  • AUX-SPI 映射到 additional.fields
  • Type 映射到 additional.fields
  • error-message 映射到 security_result.summary

2023-11-02

增强功能

  • 添加了新的 Grok 模式,用于解析新 SYSLOG+KV 格式的日志。

2023-08-24

增强功能

  • 添加了 gsub 函数,用于移除特殊字符。

2023-08-02

增强功能

  • 修改了 Grok 模式,以支持 NetScreen 类型的新日志格式。
  • 添加了对类型 RT_FLOW_SESSION_CREATE_LSRT_FLOW_SESSION_CLOSE_LSRT_FLOW_SESSION_DENY_LS 的支持。
  • sent 映射到 network.sent_bytes
  • rcvd 映射到 network.received_bytes

2023-05-05

增强功能

  • rule-name 映射到 security_result.rule_id
  • rulebase-name 映射到 security_result.detection_fields
  • export-id 映射到 security_result.detection_fields
  • repeat-count 映射到 security_result.detection_fields
  • packet-log-id 映射到 security_result.detection_fields
  • alert 映射到 is_alert(当值为 yes 时)。
  • outbound-packets 映射到 network.sent_packets
  • inbound-packets 映射到 network.received_packets
  • outbound-bytes 映射到 network.sent_bytes
  • inbound-bytes 映射到 network.received_bytes

2023-03-08

增强功能

  • application 映射到 target.application
  • reason 映射到 security_result.description
  • application-characteristics 映射到 security_result.summary
  • application-risk 映射到 security_result.severity_details
  • application-category 映射到 security_result.detection_fields
  • application-sub-category 映射到 security_result.detection_fields
  • dst-nat-rule-name 映射到 security_result.detection_fields
  • dst-nat-rule-type 映射到 security_result.detection_fields
  • src-nat-rule-name 映射到 security_result.detection_fields
  • src-nat-rule-type 映射到 security_result.detection_fields
  • encrypted 映射到 security_result.detection_fields
  • nested-application 映射到 security_result.detection_fields
  • packet-incoming-interface 映射到 security_result.detection_fields
  • session-id-32 映射到 network.session_id
  • packets-from-client 映射到 network.sent_packets
  • packets-from-server 映射到 network.received_packets
  • bytes-from-client 映射到 network.sent_bytes
  • bytes-from-server 映射到 network.received_bytes
  • elapsed-time 映射到 network.session_duration.seconds
  • nat-destination-address 映射到 target.nat_ip
  • nat-destination-port 映射到 target.nat_port
  • source-destination-address 映射到 principal.nat_ip
  • source-destination-port 映射到 principal.nat_port

2023-01-18

bug 修复

  • 使条件不区分大小写,以便在 actiondrop/DROP 时将 BLOCK 映射到 security_result.action
  • no_app_name 为 false 时,将 msg_data 映射到 security_result.description
  • threat-severity 映射到 security_result.severity
  • message 字段映射到 metadata.description
  • app_name 映射到 target.application
  • pid 映射到 target.process.pid
  • desc 映射到 metadata.description
  • username 映射到 principal.user.userid
  • command 映射到 target.process.command_line
  • action 映射到 security_result.action_details
  • sec_description 映射到 security_result.description
  • application-name 映射到 network.application_protocol

2023-01-15

增强功能

  • 修改了 Grok 模式,以支持包含类型 UI_CMDLINE_READ_LINEUI_COMMIT_PROGRESSUI_CHILD_STARTUI_CFG_AUDIT_OTHERUI_LOGIN_EVENTUI_CHILD_STATUSUI_LOGOUT_EVENTUI_LOAD_EVENTJTASK_IO_CONNECT_FAILEDUI_AUTH_EVENTUI_NETCONF_CMDUI_COMMIT_NO_MASTER_PASSWORDUI_CFG_AUDIT_SETUI_JUNOSCRIPT_CMDSNMPD_AUTH_FAILUREUI_CFG_AUDIT_NEWUI_COMMITLIBJNX_LOGIN_ACCOUNT_LOCKEDUI_COMMIT_COMPLETEDPAM_USER_LOCK_LOGIN_REQUESTS_DENIEDRTPERF_CPU_USAGE_OKRTPERF_CPU_THRESHOLD_EXCEEDEDLIBJNX_LOGIN_ACCOUNT_UNLOCKEDJSRPD_SET_OTHER_INTF_MON_FAILJSRPD_SET_SCHED_MON_FAILUREUI_CHILD_WAITPIDUI_DBASE_LOGIN_EVENT 的未解析日志。

2022-11-07

增强功能

  • subtype 映射到 metadata.product_event_type
  • attack-name 映射到 security_result.threat_name
  • policy-name 映射到 security_result.rule_name
  • action 映射到 security_result.action,其中值 drop 映射到“屏蔽”,其他值映射到“允许”。
  • source-interface-name 映射到 security_result.detection_fields
  • destination-interface-name 映射到 security_result.detection_fields
  • source-zone-name 映射到 security_result.detection_fields
  • destination-zone-name 映射到 security_result.detection_fields
  • service-name 映射到 security_result.detection_fields
  • application-name 映射到 security_result.detection_fields
  • 已映射的 metadata.product_name
  • 已映射的 metadata.vendor_name

2022-10-04

增强功能

  • 将 attack-name 映射到 security_result.rule_name。
  • 将 SDM 映射转换为 UDM 的以下字段:-
  • source-address 映射到 principal.ip
  • destination-address 映射到 target.ip
  • source-port 映射到 principal.port
  • host 映射到 principal.hostname
  • bytes-from-server 映射到 network.received_bytes
  • policy-name 映射到 security_result.rule_name
  • protocol-id 映射到 network.ip_protocol

需要更多帮助?向社区成员和 Google SecOps 专业人士寻求解答。