收集 Cisco Meraki 日志
支持的语言:
Google SecOps
SIEM
本文档介绍了如何使用 Google Security Operations 转发器收集 Cisco Meraki 日志。
如需了解详情,请参阅将数据注入 Google Security Operations。
注入标签用于标识将原始日志数据标准化为结构化 UDM 格式的解析器。本文档中的信息适用于具有 CISCO_MERAKI
注入标签的解析器。
配置 Cisco Meraki
- 登录 Cisco Meraki 控制面板。
- 在 Cisco Meraki 信息中心内,依次选择配置 > 提醒和管理。
- 在日志记录部分中,执行以下操作:
- 在服务器 IP 字段中,指定 Google Security Operations 转发器的 IP 地址。
- 在端口字段中,指定端口值,例如 514。
- 在角色字段中,选择四个可用选项以获取所有日志,或根据需要选择任意组合。
- 点击保存更改。
配置 Google Security Operations 转发器和 syslog 以注入 Cisco Meraki 日志
- 依次前往 SIEM 设置 > 转发器。
- 点击添加新转发器。
- 在 Forwarder Name(转发器名称)字段中,输入转发器的唯一名称。
- 点击提交。系统会添加转发器,并显示添加收集器配置窗口。
- 在收集器名称字段中,输入一个名称。
- 选择 Cisco Meraki 作为日志类型。
- 选择 Syslog 作为收集器类型。
- 配置以下必需的输入参数:
- 协议:指定协议。
- 地址:指定收集器所在的并监听 syslog 数据的目标 IP 地址或主机名。
- 端口:指定收集器所在的并监听 syslog 数据的目标端口。
- 点击提交。
如需详细了解 Google Security Operations 转发器,请参阅 Google Security Operations 转发器文档。
如需了解每种转发器类型的要求,请参阅按类型划分的转发器配置。
如果您在创建转发器时遇到问题,请与 Google 安全运营支持团队联系。
字段映射参考
此解析器可处理 SYSLOG 或 JSON 格式的 Cisco Meraki(标识为 Cisco/Meraki)日志,并将其标准化为 UDM。它使用 grok 模式解析 syslog 消息,并根据 eventType
字段使用条件逻辑提取相关信息,处理各种事件类型(例如网络流、网址请求、防火墙事件和通用事件),将这些事件类型映射到相应的 UDM 字段,并使用其他上下文信息丰富数据。如果输入不是 syslog,则尝试将其解析为 JSON,并将相关字段映射到 UDM。
UDM 映射表
日志字段 | UDM 映射 | 逻辑 |
---|---|---|
action |
security_result.action |
值会转换为大写。如果值为“deny”,则替换为“BLOCK”。如果 sc_action 包含“allow”,则该值会被替换为“ALLOW”。否则,如果 decision 包含“block”,则将该值替换为“BLOCK”。否则,如果 authorization 为“success”,则将其设置为“ALLOW”;如果为“failure”,则将其设置为“BLOCK”。否则,如果 pattern 为“1 all”“deny all”或“Group Policy Deny”,则将其设置为“BLOCK”。如果 pattern 为“全部允许”“群组政策允许”或“0 全部”,则将其设置为“允许”。否则,该值会设置为“UNKNOWN_ACTION”。如果 decision 包含“block”,则将其设置为“BLOCK”。 |
adId |
principal.user.user_display_name |
直接从 JSON 日志中的 adId 字段映射。 |
agent |
network.http.user_agent |
撇号已移除。直接从 agent 字段映射。还使用 parseduseragent 过滤条件转换为 network.http.parsed_user_agent 。 |
aid |
network.session_id |
直接从 aid 字段映射。 |
appProtocol |
network.application_protocol |
已转换为大写。直接从 appProtocol 字段映射。 |
attr |
additional.fields |
以键值对的形式添加到键为“attr”的 additional.fields 数组中。 |
authorization |
security_result.action_details |
直接从 JSON 日志中的 authorization 字段映射。 |
band |
additional.fields |
以键值对的形式添加到 additional.fields 数组中,键为“频段”。 |
bssids.bssid |
principal.mac |
转换为小写。已合并到 principal.mac 数组中。 |
bssids.detectedBy.device |
intermediary.asset.asset_id |
格式为“设备 ID: |
bssids.detectedBy.rssi |
intermediary.asset.product_object_id |
转换为字符串。 |
Channel |
about.resource.attribute.labels |
以键值对的形式添加到 about.resource.attribute.labels 数组中,键为“渠道”。 |
clientDescription |
additional.fields |
以键值对的形式添加到 additional.fields 数组中,键为“clientDescription”。 |
clientId |
additional.fields |
以键值对的形式添加到 additional.fields 数组中,键为“clientId”。 |
clientIp |
principal.ip ,principal.asset.ip |
直接从 clientIp 字段映射。 |
clientMac |
principal.mac |
转换为小写。直接从 JSON 日志中的 clientMac 字段映射。 |
client_ip |
principal.ip ,principal.asset.ip |
直接从 client_ip 字段映射。 |
client_mac |
principal.mac |
转换为小写。直接从 client_mac 字段映射。 |
code |
additional.fields |
以键值对的形式添加到 additional.fields 数组中,键为“code”。 |
collection_time |
metadata.event_timestamp |
系统会将 seconds 和 nanos 字段合并以创建时间戳。 |
Conditions |
security_result.about.resource.attribute.labels |
回车符、换行符和制表符会被替换为空格,并且会替换特定值。修改后的值会作为键值对添加到键为“Conditions”的 security_result.about.resource.attribute.labels 数组中。 |
decision |
security_result.action |
如果值为“blocked”,则设置为“BLOCK”。 |
desc |
metadata.description |
直接从 desc 字段映射。 |
description |
security_result.description |
直接从 JSON 日志中的 description 字段映射。 |
DestAddress |
target.ip ,target.asset.ip |
直接从 DestAddress 字段映射。 |
DestPort |
target.port |
转换为整数。直接从 DestPort 字段映射。 |
deviceIp |
target.ip |
直接从 deviceIp 字段映射。 |
deviceMac |
target.mac |
转换为小写。直接从 deviceMac 字段映射。 |
deviceName |
target.hostname ,target.asset.hostname |
直接从 JSON 日志中的 deviceName 字段映射。 |
deviceSerial |
target.asset.hardware.serial_number |
直接从 JSON 日志中的 deviceSerial 字段映射。 |
Direction |
network.direction |
特殊字符会被移除,并且该值会映射到 network.direction 。 |
DisabledPrivilegeList |
target.user.attribute |
系统会替换回车符、换行符和制表符,并将修改后的值解析为 JSON 并合并到 target.user.attribute 对象中。 |
dport |
target.port |
转换为整数。直接从 dport 字段映射。 |
dst |
target.ip ,target.asset.ip |
直接从 dst 字段映射。 |
dstIp |
target.ip ,target.asset.ip |
直接从 dstIp 字段映射。 |
dstPort |
target.port |
转换为整数。直接从 dstPort 字段映射。 |
dvc |
intermediary.hostname |
直接从 dvc 字段映射。 |
EnabledPrivilegeList |
target.user.attribute |
系统会替换回车符、换行符和制表符,并将修改后的值解析为 JSON 并合并到 target.user.attribute 对象中。 |
eventData.aid |
principal.asset_id |
格式为“ASSET_ID: |
eventData.client_ip |
principal.ip ,principal.asset.ip |
直接从 JSON 日志中的 eventData.client_ip 字段映射。 |
eventData.client_mac |
principal.mac |
转换为小写。直接从 JSON 日志中的 eventData.client_mac 字段映射。 |
eventData.group |
principal.group.group_display_name |
直接从 JSON 日志中的 eventData.group 字段映射。 |
eventData.identity |
principal.hostname |
直接从 JSON 日志中的 eventData.identity 字段映射。 |
eventData.ip |
principal.ip ,principal.asset.ip |
直接从 JSON 日志中的 eventData.ip 字段映射。 |
EventID |
metadata.product_event_type ,security_result.rule_name |
转换为字符串。映射到 metadata.product_event_type 。还用于创建格式为“EventID: security_result.rule_name 。用于确定 event_type 和 sec_action 。 |
eventSummary |
security_result.summary ,metadata.description |
直接从 eventSummary 字段映射。还用于 security_result.description 中的某些事件。 |
eventType |
metadata.product_event_type |
直接从 eventType 字段映射。用于确定要应用哪种解析逻辑。 |
filename |
principal.process.file.full_path |
直接从 filename 字段映射。 |
FilterId |
target.resource.product_object_id |
直接从 EventID 5447 的 FilterId 字段映射。 |
FilterName |
target.resource.name |
直接从 EventID 5447 的 FilterName 字段映射。 |
FilterRTID |
security_result.detection_fields |
以键值对的形式添加到 security_result.detection_fields 数组中,键为“FilterRTID”。 |
firstSeen |
security_result.detection_fields |
转换为字符串。以键值对的形式添加到 security_result.detection_fields 数组中,键为“firstSeen”。 |
gatewayDeviceMac |
target.mac |
转换为小写。已合并到 target.mac 数组中。 |
group |
additional.fields |
以键值对的形式添加到键为“group”的 additional.fields 数组中。 |
GroupMembership |
target.user |
系统会移除回车符、换行符、制表符和特殊字符。修改后的值会解析为 JSON 并合并到 target.user 对象中。 |
Hostname |
principal.hostname ,principal.asset.hostname |
直接从 Hostname 字段映射。 |
identity |
target.user.userid |
直接从 identity 字段映射。 |
instigator |
additional.fields |
以键值对的形式添加到键为“instigator”的 additional.fields 数组中。 |
int_ip |
intermediary.ip |
直接从 int_ip 字段映射。 |
ip_msg |
principal.resource.attribute.labels |
以键值对的形式添加到 principal.resource.attribute.labels 数组中,键为“IPs”。 |
is_8021x |
additional.fields |
以键值对的形式添加到 additional.fields 数组中,键为“is_8021x”。 |
KeyName |
target.resource.name |
直接从 KeyName 字段映射。 |
KeyFilePath |
target.file.full_path |
直接从 KeyFilePath 字段映射。 |
lastSeen |
security_result.detection_fields |
转换为字符串。以键值对的形式添加到 security_result.detection_fields 数组中,键为“lastSeen”。 |
last_known_client_ip |
principal.ip ,principal.asset.ip |
直接从 last_known_client_ip 字段映射。 |
LayerName |
security_result.detection_fields |
以键值对的形式添加到 security_result.detection_fields 数组中,键为“图层名称”。 |
LayerRTID |
security_result.detection_fields |
以键值对的形式添加到 security_result.detection_fields 数组中,键为“LayerRTID”。 |
localIp |
principal.ip ,principal.asset.ip |
直接从 localIp 字段映射。 |
login |
principal.user.email_addresses |
如果 JSON 日志中的 login 字段与电子邮件地址格式匹配,则直接从该字段映射。 |
LogonGuid |
additional.fields |
以键值对的形式添加到 additional.fields 数组中,键为“LogonGuid”。 |
LogonType |
extensions.auth.mechanism |
根据其值映射到特定的身份验证机制。如果存在 PreAuthType ,则会替换 LogonType 。值的映射关系如下:2 -> USERNAME_PASSWORD、3 -> NETWORK、4 -> BATCH、5 -> SERVICE、7 -> UNLOCK、8 -> NETWORK_CLEAR_TEXT、9 -> NEW_CREDENTIALS、10 -> REMOTE_INTERACTIVE、11 -> CACHED_INTERACTIVE、12 -> CACHED_REMOTE_INTERACTIVE、13 -> CACHED_UNLOCK、其他 -> MECHANISM_UNSPECIFIED。 |
mac |
principal.mac |
转换为小写。已合并到 principal.mac 数组中。 |
MandatoryLabel |
additional.fields |
以键值对的形式添加到 additional.fields 数组中,键为“MandatoryLabel”。 |
Message |
security_result.description ,security_result.summary |
如果存在 AccessReason ,则 Message 会映射到 security_result.summary ,而 AccessReason 会映射到 security_result.description 。否则,Message 会映射到 security_result.description 。 |
method |
network.http.method |
直接从 method 字段映射。 |
msg |
security_result.description |
直接从 msg 字段映射。 |
name |
principal.user.user_display_name |
直接从 JSON 日志中的 name 字段映射。 |
natsrcIp |
principal.nat_ip |
直接从 natsrcIp 字段映射。 |
natsrcport |
principal.nat_port |
转换为整数。直接从 natsrcport 字段映射。 |
network_id |
additional.fields |
以键值对的形式添加到 additional.fields 数组中,键为“Network ID”。 |
NewProcessId |
target.process.pid |
直接从 NewProcessId 字段映射。 |
NewProcessName |
target.process.file.full_path |
直接从 NewProcessName 字段映射。 |
NewSd |
target.resource.attribute.labels |
以键值对的形式添加到 target.resource.attribute.labels 数组中,键为“New Security Descriptor”。 |
occurredAt |
metadata.event_timestamp |
解析为使用 ISO8601 格式的时间戳。 |
ObjectName |
target.file.full_path 、target.registry.registry_key 、target.process.file.full_path 、additional.fields |
如果 EventID 为 4663 且 ObjectType 为“Process”,则映射到 target.process.file.full_path 。如果 ObjectType 为“Key”,则映射到 target.registry.registry_key 。否则,它会映射到 target.file.full_path 。对于其他事件,它会作为键值对添加到 additional.fields 数组中,键为“ObjectName”。 |
ObjectType |
additional.fields |
以键值对的形式添加到 additional.fields 数组中,键为“ObjectType”。用于确定 event_type 。 |
OldSd |
target.resource.attribute.labels |
以键值对的形式添加到 target.resource.attribute.labels 数组中,键为“原始安全描述符”。 |
organizationId |
principal.resource.id |
直接从 JSON 日志中的 organizationId 字段映射。 |
ParentProcessName |
target.process.parent_process.file.full_path |
直接从 ParentProcessName 字段映射。 |
pattern |
security_result.description |
直接映射到 security_result.description 。用于确定 security_result.action 。 |
peer_ident |
target.user.userid |
直接从 peer_ident 字段映射。 |
PreAuthType |
extensions.auth.mechanism |
用于确定身份验证机制(如果存在)。此属性会覆盖 LogonType 。 |
principalIp |
principal.ip ,principal.asset.ip |
直接从 principalIp 字段映射。 |
principalMac |
principal.mac |
转换为小写。已合并到 principal.mac 数组中。 |
principalPort |
principal.port |
转换为整数。直接从 principalPort 字段映射。 |
prin_ip2 |
principal.ip ,principal.asset.ip |
直接从 prin_ip2 字段映射。 |
prin_url |
principal.url |
直接从 prin_url 字段映射。 |
priority |
security_result.priority |
根据其值映射到优先级:1 -> HIGH_PRIORITY,2 -> MEDIUM_PRIORITY,3 -> LOW_PRIORITY,其他 -> UNKNOWN_PRIORITY。 |
ProcessID |
principal.process.pid |
转换为字符串。直接从 ProcessID 字段映射。 |
ProcessName |
principal.process.file.full_path ,target.process.file.full_path |
如果 EventID 为 4689,则映射到 target.process.file.full_path 。否则,它会映射到 principal.process.file.full_path 。 |
prod_log_id |
metadata.product_log_id |
直接从 prod_log_id 字段映射。 |
protocol |
network.ip_protocol |
已转换为大写。如果它是数字,则会转换为相应的 IP 协议名称。如果为“ICMP6”,则替换为“ICMP”。直接从 protocol 字段映射。 |
ProviderGuid |
metadata.product_deployment_id |
直接从 ProviderGuid 字段映射。 |
query |
network.dns.questions.name |
直接从 query 字段映射。 |
query_type |
network.dns.questions.type |
重命名为 question.type 并合并到 network.dns.questions 数组中。根据 DHCP 查询类型映射到数值。 |
radio |
additional.fields |
以键值对的形式添加到 additional.fields 数组中,键为“radio”。 |
reason |
additional.fields |
以键值对的形式添加到键为“reason”的 additional.fields 数组中。 |
rec_bytes |
network.received_bytes |
转换为无符号整数。直接从 rec_bytes 字段映射。 |
RecordNumber |
metadata.product_log_id |
转换为字符串。直接从 RecordNumber 字段映射。 |
RelativeTargetName |
target.process.file.full_path |
直接从 RelativeTargetName 字段映射。 |
response_ip |
principal.ip ,principal.asset.ip |
直接从 response_ip 字段映射。 |
rssi |
intermediary.asset.product_object_id |
直接从 rssi 字段映射。 |
sc_action |
security_result.action_details |
直接从 sc_action 字段映射。 |
sec_action |
security_result.action |
已合并到 security_result.action 数组中。 |
server_ip |
client_ip |
直接映射到 client_ip 字段。 |
Severity |
security_result.severity |
根据其值映射到严重程度级别:“信息”-> INFORMATIONAL,“错误”-> ERROR,“警告”-> MEDIUM,其他 -> UNKNOWN_SEVERITY。 |
sha256 |
target.file.sha256 |
直接从 sha256 字段映射。 |
signature |
additional.fields |
以键值对的形式添加到键为“signature”的 additional.fields 数组中。 |
SourceAddress |
principal.ip ,principal.asset.ip |
直接从 SourceAddress 字段映射。 |
SourceHandleId |
src.resource.id |
直接从 SourceHandleId 字段映射。 |
SourceModuleName |
observer.labels |
以键值对的形式添加到 observer.labels 数组中,键为“SourceModuleName”。 |
SourceModuleType |
observer.application |
直接从 SourceModuleType 字段映射。 |
SourcePort |
principal.port |
转换为整数。直接从 SourcePort 字段映射。 |
SourceProcessId |
src.process.pid |
直接从 SourceProcessId 字段映射。 |
source_client_ip |
client_ip |
直接映射到 client_ip 字段。 |
sport |
principal.port |
转换为整数。直接从 sport 字段映射。 |
src |
principal.ip ,principal.asset.ip |
直接从 src 字段映射。 |
ssid |
network.session_id |
直接从 JSON 日志中的 ssid 字段映射。 |
ssidName |
additional.fields |
以键值对的形式添加到 additional.fields 数组中,键为“ssidName”。 |
state |
additional.fields |
以键值对的形式添加到键为“state”的 additional.fields 数组中。 |
Status |
additional.fields |
以键值对的形式添加到键为“Status”的 additional.fields 数组中。 |
status_code |
network.http.response_code |
转换为整数。直接从 status_code 字段映射。 |
SubjectDomainName |
principal.administrative_domain |
直接从 SubjectDomainName 字段映射。 |
SubjectLogonId |
principal.resource.attribute.labels |
以键值对的形式添加到 principal.resource.attribute.labels 数组中,键为“SubjectLogonId”。 |
SubjectUserName |
principal.user.userid |
直接从 SubjectUserName 字段映射。 |
SubjectUserSid |
principal.user.windows_sid |
直接从 SubjectUserSid 字段映射。 |
targetHost |
target.hostname ,target.asset.hostname |
如果可能,则转换为 IP 地址。否则,系统会解析该网址以提取主机名,并将其映射到 target.hostname 和 target.asset.hostname 。 |
TargetHandleId |
target.resource.id |
直接从 TargetHandleId 字段映射。 |
TargetLogonId |
principal.resource.attribute.labels |
如果与 SubjectLogonId 不同,则作为键值对添加到 principal.resource.attribute.labels 数组中,键为“TargetLogonId”。 |
TargetProcessId |
target.process.pid |
直接从 TargetProcessId 字段映射。 |
TargetUserName |
target.user.userid |
直接从 TargetUserName 字段映射。 |
TargetUserSid |
target.user.windows_sid |
直接从 TargetUserSid 字段映射。 |
Task |
additional.fields |
转换为字符串。以键值对的形式添加到键为“Task”的 additional.fields 数组中。 |
timestamp |
metadata.event_timestamp |
seconds 字段用于创建时间戳。 |
ts |
metadata.event_timestamp |
如果 ts 为空,则通过组合 tsDate 、tsTime 和 tsTZ 来创建。如果包含“ |
type |
security_result.summary ,metadata.product_event_type |
直接从 JSON 日志中的 type 字段映射。在某些情况下,也用作 eventSummary 和 metadata.product_event_type 。 |
url |
target.url ,principal.url |
直接从 url 字段映射。 |
url1 |
target.url |
直接从 url1 字段映射。 |
user |
target.user.group_identifiers |
已合并到 target.user.group_identifiers 数组中。 |
user_id |
target.user.userid |
直接从 user_id 字段映射。 |
UserID |
principal.user.windows_sid |
直接从 UserID 字段映射。 |
UserName |
principal.user.userid |
直接从 UserName 字段映射。 |
user_agent |
network.http.user_agent |
直接从 user_agent 字段映射。 |
userId |
target.user.userid |
直接从 userId 字段映射。 |
vap |
additional.fields |
以键值对的形式添加到键为“vap”的 additional.fields 数组中。 |
VirtualAccount |
security_result.about.labels |
以键值对的形式添加到 security_result.about.labels 数组中,键为“VirtualAccount”。 |
wiredLastSeen |
security_result.detection_fields |
转换为字符串。以键值对的形式添加到 security_result.detection_fields 数组中,键为“wiredLastSeen”。 |
wiredMacs |
intermediary.mac |
转换为小写。已合并到 intermediary.mac 数组中。 |
WorkstationName |
principal.hostname ,principal.asset.hostname |
直接从 WorkstationName 字段映射。 |
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。