收集 Juniper Junos 日志
本文档介绍如何使用 Google Security Operations 转发器收集 Juniper Junos 日志。
如需了解详情,请参阅将数据注入 Google Security Operations。
注入标签用于标识将原始日志数据标准化为结构化 UDM 格式的解析器。本文档中的信息适用于具有 JUNIPER_JUNOS
注入标签的解析器。
为 Juniper Networks SRX 设备配置结构化日志记录
结构化日志格式可从日志消息中提取信息。日志格式符合 Syslog 协议。
- 使用 SSH 登录 Juniper SRX CLI 的管理 IP 地址。
- 在 shell 提示符处输入
CLI
,然后按 Enter 键。 - 输入
configure
,然后按 Enter 键进入设备的配置模式。 - 输入联系信息或客户参考点。
如需将字段映射到用户账号,请运行以下命令:
set system syslog host FORWARDER_IP_ADDRESS any info set system syslog host FORWARDER_IP_ADDRESS structured-data
将
FORWARDER_IP_ADDRESS
替换为 Google Security Operations 转发器的 IP 地址。如需为安全日志启用结构化日志记录,请使用以下命令:
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
替换以下内容:
SRC_IP_ADDRESS
:Juniper SRX 设备的 IP 地址。SYSLOG_STREAM_NAME
:分配给 syslog 服务器的名称。FORWARDER_IP_ADDRESS
:Google Security Operations 转发器的 IP 地址。
确保所有安全政策都已启用日志记录。如需启用日志记录,请运行以下命令:
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
使用以下命令配置设备上的主机名:
set system host-name HOSTNAME
将
HOSTNAME
替换为分配的 Juniper Networks SRX 设备。输入
commit
以将执行的命令保存在配置中。
配置 Google Security Operations 转发器和 syslog 以注入 Juniper Junos 日志
- 依次选择 SIEM 设置 > 转发器。
- 点击添加新转发器。
- 在转发器名称字段中输入唯一名称。
- 点击提交,然后点击确认。转发器已添加,系统会显示添加收集器配置窗口。
- 在收集器名称字段中,输入收集器的唯一名称。
- 选择 Juniper Junos 作为日志类型。
- 选择 Syslog 作为收集器类型。
- 配置以下输入参数:
- 协议:将协议指定为 UDP。
- 地址:指定收集器所在的目标 IP 地址或主机名,收集器会在此地址监听 syslog 数据。
- 端口:指定收集器所在的目标端口,并监听 syslog 数据。
- 点击提交。
如需详细了解 Google Security Operations 转发器,请参阅 Google Security Operations 转发器文档。如需了解每种转发器类型的要求,请参阅按类型划分的转发器配置。 如果您在创建转发器时遇到问题,请与 Google Security Operations 支持团队联系。
字段映射参考
此解析器可从 Juniper JUNOS syslog 消息中提取字段,并处理键值格式和非键值格式。它使用 Grok 模式来匹配各种消息结构,包括防火墙日志、SSH 活动和命令执行,然后将提取的字段映射到 UDM。解析器还使用包含文件处理 CEF 格式的日志,并根据消息内容执行特定操作,例如将 IP 地址和用户名合并到相应的 UDM 字段中。
UDM 映射表
日志字段 | UDM 映射 | 逻辑 |
---|---|---|
DPT |
target.port |
网络连接的目标端口,已转换为整数。 |
DST |
target.ip |
网络连接的目标 IP 地址。 |
FLAG |
additional.fields{}.key :“FLAG”,additional.fields{}.value.string_value :FLAG 的值 |
与网络连接相关联的 TCP 标志。 |
ID |
additional.fields{}.key : "ID", additional.fields{}.value.string_value : ID 的值 |
IP 识别字段。 |
IN |
additional.fields{}.key :“IN”,additional.fields{}.value.string_value :IN 的值 |
传入网络接口。 |
LEN |
additional.fields{}.key :“LEN”,additional.fields{}.value.string_value :LEN 的值 |
IP 数据包的长度。 |
MAC |
principal.mac |
从 MAC 字段中提取的 MAC 地址。 |
OUT |
additional.fields{}.key :“OUT”,additional.fields{}.value.string_value :OUT 的值 |
传出网络接口。 |
PREC |
additional.fields{}.key : "PREC",additional.fields{}.value.string_value : PREC 的值 |
IP 标头中的“优先级”字段。 |
PROTO |
network.ip_protocol |
网络连接中使用的 IP 协议。 |
RES |
additional.fields{}.key : "RES", additional.fields{}.value.string_value : RES 的值 |
TCP 标头中的保留字段。 |
SPT |
principal.port |
网络连接的来源端口,已转换为整数。 |
SRC |
principal.ip |
网络连接的源 IP 地址。 |
TOS |
additional.fields{}.key :“TOS”,additional.fields{}.value.string_value :TOS 的值 |
IP 标头中的“服务类型”字段。 |
TTL |
network.dns.additional.ttl |
存留时间值,已转换为无符号整数。 |
URGP |
additional.fields{}.key :“URGP”,additional.fields{}.value.string_value :URGP 的值 |
TCP 标头中的紧急指针字段。 |
WINDOW |
additional.fields{}.key :“WINDOW_SIZE”,additional.fields{}.value.string_value :WINDOW 的值 |
TCP 窗口大小。 |
action |
security_result.action |
从 CEF 消息中提取的防火墙采取的操作。 |
agt |
observer.ip |
代理的 IP 地址。 |
amac |
target.mac |
目标的 MAC 地址,转换为小写形式,并将连字符替换为英文冒号。 |
app |
target.application |
涉及相应事件的应用。 |
artz |
observer.zone |
观测者时区。 |
atz |
target.location.country_or_region |
目标时区。 |
categoryBehavior |
additional.fields{}.key :“类别行为”,additional.fields{}.value.string_value :移除了斜杠的 categoryBehavior 值 |
类别行为。 |
categoryDeviceGroup |
additional.fields{}.key :“类别设备组”,additional.fields{}.value.string_value :移除了斜线的 categoryDeviceGroup 值 |
类别设备组。 |
categoryObject |
additional.fields{}.key :“类别对象”,additional.fields{}.value.string_value :移除了斜线的 categoryObject 值 |
类别对象。 |
categoryOutcome |
additional.fields{}.key :“类别结果”,additional.fields{}.value.string_value :移除了斜线的 categoryOutcome 值 |
类别结果。 |
categorySignificance |
additional.fields{}.key :“类别显著性”,additional.fields{}.value.string_value :categorySignificance 的值 |
类别的显著性。 |
command |
target.process.command_line |
执行的命令。 |
cs1Label |
additional.fields{}.key :cs1Label 、additional.fields{}.value.string_value :相应 CEF 字段的值 |
来自 CEF 消息的自定义字符串字段 1 标签和值。 |
cs2Label |
additional.fields{}.key :cs2Label 、additional.fields{}.value.string_value :相应 CEF 字段的值 |
来自 CEF 消息的自定义字符串字段 2 标签和值。 |
cs3Label |
additional.fields{}.key :cs3Label 、additional.fields{}.value.string_value :相应 CEF 字段的值 |
来自 CEF 消息的自定义字符串字段 3 标签和值。 |
cs4Label |
additional.fields{}.key :cs4Label 、additional.fields{}.value.string_value :相应 CEF 字段的值 |
来自 CEF 消息的自定义字符串字段 4 标签和值。 |
cs5Label |
additional.fields{}.key :cs5Label 、additional.fields{}.value.string_value :相应 CEF 字段的值 |
来自 CEF 消息的自定义字符串字段 5 标签和值。 |
cs6Label |
additional.fields{}.key :cs6Label 、additional.fields{}.value.string_value :相应 CEF 字段的值 |
来自 CEF 消息的自定义字符串字段 6 标签和值。 |
dhost |
target.hostname |
目标主机名。 |
deviceCustomString1 |
additional.fields{}.key :cs1Label ,additional.fields{}.value.string_value :deviceCustomString1 的值 |
设备自定义字符串 1。 |
deviceCustomString2 |
additional.fields{}.key :cs2Label ,additional.fields{}.value.string_value :deviceCustomString2 的值 |
设备自定义字符串 2。 |
deviceCustomString3 |
additional.fields{}.key :cs3Label ,additional.fields{}.value.string_value :deviceCustomString3 的值 |
设备自定义字符串 3。 |
deviceCustomString4 |
additional.fields{}.key :cs4Label ,additional.fields{}.value.string_value :deviceCustomString4 的值 |
设备自定义字符串 4。 |
deviceCustomString5 |
additional.fields{}.key :cs5Label ,additional.fields{}.value.string_value :deviceCustomString5 的值 |
设备自定义字符串 5。 |
deviceCustomString6 |
additional.fields{}.key :cs6Label ,additional.fields{}.value.string_value :deviceCustomString6 的值 |
设备自定义字符串 6。 |
deviceDirection |
network.direction |
网络流量的方向。 |
deviceEventClassId |
additional.fields{}.key :“eventId”,additional.fields{}.value.string_value :deviceEventClassId 的值 |
设备事件类 ID。 |
deviceFacility |
observer.product.subproduct |
设备设施。 |
deviceProcessName |
about.process.command_line |
设备进程名称。 |
deviceSeverity |
security_result.severity |
设备严重程度。 |
deviceTimeZone |
observer.zone |
设备时区。 |
deviceVendor |
metadata.vendor_name |
设备供应商。 |
deviceVersion |
metadata.product_version |
设备版本。 |
dpt |
target.port |
目标端口。 |
dst |
target.ip |
目标 IP 地址。 |
duser |
target.user.user_display_name |
目标用户。 |
eventId |
additional.fields{}.key :“eventId”,additional.fields{}.value.string_value :eventId 的值 |
活动 ID。 |
event_time |
metadata.event_timestamp |
从消息中解析出的事件发生时间。 |
firewall_action |
security_result.action_details |
采取的防火墙操作。 |
host |
principal.hostname ,intermediary.hostname |
生成日志的设备的主机名。在不同情况下,既可用于委托人,也可用于中介。 |
msg |
security_result.summary |
与事件关联的消息,用作安全结果的摘要。 |
name |
metadata.product_event_type |
活动的名称。 |
process_name |
additional.fields{}.key :“process_name”,additional.fields{}.value.string_value :process_name 的值 |
进程的名称。 |
p_id |
target.process.pid |
进程 ID(已转换为字符串)。 |
sha256 |
principal.process.file.sha256 |
从 SSH2 密钥信息中提取的文件的 SHA256 哈希值。 |
shost |
principal.hostname |
来源主机名。 |
source_address |
principal.ip |
来源 IP 地址。 |
source_port |
principal.port |
转换为整数的源端口。 |
src |
principal.ip |
来源 IP 地址。 |
src_ip |
principal.ip |
来源 IP 地址。 |
src_port |
principal.port |
转换为整数的源端口。 |
ssh2 |
security_result.detection_fields{}.key :“ssh2”,security_result.detection_fields{}.value :ssh2 的值 |
SSH2 密钥信息。 |
subtype |
metadata.product_event_type |
事件的子类型。 |
task_summary |
security_result.description |
任务摘要,用作安全结果的说明。 |
timestamp |
metadata.event_timestamp |
事件的时间戳。 |
user |
target.user.userid |
与事件关联的用户。 |
username |
principal.user.userid |
与事件相关联的用户名。 |
user_name |
principal.user.userid |
用户名。 |
metadata.vendor_name |
硬编码为“Juniper 防火墙”。硬编码为“Juniper 防火墙”。硬编码为“JUNIPER_JUNOS”。由解析器逻辑根据日志内容确定。如果不是 CEF 消息,且未识别出其他特定事件类型,则默认为“STATUS_UPDATE”。对于 CEF 消息,设置为“NETWORK_HTTP”。如果不存在 desc 字段,则此字段会填充从原始日志消息中提取的 message_description 。 |
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。