Rules (XIF)
[MODEL: dataset=sonicwall_ns_raw]
alter
proto=uppercase(arrayindex(regextract(_raw_log,"proto\=([^=]+)\/"),0)),
proto_original=arrayindex(regextract(_raw_log,"proto\=([^=]+)\s"),0),
httpMethod=arrayindex(regextract(_raw_log,"op\=([^=]+)[\s|\"]"),0)
| alter
xdm.event.type=arrayindex(regextract(_raw_log,"id\=([^=]+)[\s|\"]"),0),
xdm.observer.name=arrayindex(regextract(_raw_log,"sn\=([^=]+)[\s|\"]"),0),
xdm.intermediate.ipv4=arrayindex(regextract(_raw_log,"fw\=([^=]+)[\s|\"]"),0),
xdm.event.log_level=arrayindex(regextract(_raw_log,"pri\=([^=]+)[\s|\"]"),0),
xdm.session_context_id=arrayindex(regextract(_raw_log,"m\=([^=]+)[\s|\"]"),0),
xdm.event.description=if(_raw_log contains "note=", concat(arrayindex(regextract(_raw_log,"msg\=\"([^\=]+)\"\s"),0), ". " ,replex(arrayindex(regextract(_raw_log,"note\=\"([^\"]+)\""),0), "\"","")),arrayindex(regextract(_raw_log,"msg\=\"([^\=]+)\"\s"),0)),
xdm.source.ipv4=arrayindex(regextract(_raw_log,"src\=([^=:]+)\:"),0),
xdm.source.port=to_integer(arrayindex(regextract(_raw_log,"src\=[^=:]+\:(\d+)"),0)),
xdm.target.ipv4=arrayindex(regextract(_raw_log,"dst\=([^=:]+)\:"),0),
xdm.target.port=to_integer(arrayindex(regextract(_raw_log,"dst\=[^=:]+\:(\d+)"),0)),
xdm.target.host.mac_addresses=regextract(_raw_log,"dstMac\=([^=]+)[\s|\"]"),
xdm.network.ip_protocol=if(proto="HOPOPT",XDM_CONST.IP_PROTOCOL_HOPOPT, proto="ICMP",XDM_CONST.IP_PROTOCOL_ICMP, proto="IGMP",XDM_CONST.IP_PROTOCOL_IGMP, proto="GGP",XDM_CONST.IP_PROTOCOL_GGP, proto="IP",XDM_CONST.IP_PROTOCOL_IP, proto="ST",XDM_CONST.IP_PROTOCOL_ST, proto="TCP",XDM_CONST.IP_PROTOCOL_TCP, proto="CBT",XDM_CONST.IP_PROTOCOL_CBT, proto="EGP",XDM_CONST.IP_PROTOCOL_EGP, proto="IGP",XDM_CONST.IP_PROTOCOL_IGP, proto="BBN_RCC_MON",XDM_CONST.IP_PROTOCOL_BBN_RCC_MON, proto="NVP_II",XDM_CONST.IP_PROTOCOL_NVP_II, proto="PUP",XDM_CONST.IP_PROTOCOL_PUP, proto="ARGUS",XDM_CONST.IP_PROTOCOL_ARGUS, proto="EMCON",XDM_CONST.IP_PROTOCOL_EMCON, proto="XNET",XDM_CONST.IP_PROTOCOL_XNET, proto="CHAOS",XDM_CONST.IP_PROTOCOL_CHAOS, proto="UDP",XDM_CONST.IP_PROTOCOL_UDP, proto="MUX",XDM_CONST.IP_PROTOCOL_MUX, proto="DCN_MEAS",XDM_CONST.IP_PROTOCOL_DCN_MEAS, proto="HMP",XDM_CONST.IP_PROTOCOL_HMP, proto="PRM",XDM_CONST.IP_PROTOCOL_PRM, proto="XNS_IDP",XDM_CONST.IP_PROTOCOL_XNS_IDP, proto="TRUNK_1",XDM_CONST.IP_PROTOCOL_TRUNK_1, proto="TRUNK_2",XDM_CONST.IP_PROTOCOL_TRUNK_2, proto="LEAF_1",XDM_CONST.IP_PROTOCOL_LEAF_1, proto="LEAF_2",XDM_CONST.IP_PROTOCOL_LEAF_2, proto="RDP",XDM_CONST.IP_PROTOCOL_RDP, proto="IRTP",XDM_CONST.IP_PROTOCOL_IRTP, proto="ISO_TP4",XDM_CONST.IP_PROTOCOL_ISO_TP4, proto="NETBLT",XDM_CONST.IP_PROTOCOL_NETBLT, proto="MFE_NSP",XDM_CONST.IP_PROTOCOL_MFE_NSP, proto="MERIT_INP",XDM_CONST.IP_PROTOCOL_MERIT_INP, proto="DCCP",XDM_CONST.IP_PROTOCOL_DCCP, proto="3PC",XDM_CONST.IP_PROTOCOL_3PC, proto="IDPR",XDM_CONST.IP_PROTOCOL_IDPR, proto="XTP",XDM_CONST.IP_PROTOCOL_XTP, proto="DDP",XDM_CONST.IP_PROTOCOL_DDP, proto="IDPR_CMTP",XDM_CONST.IP_PROTOCOL_IDPR_CMTP, proto="TP",XDM_CONST.IP_PROTOCOL_TP, proto="IL",XDM_CONST.IP_PROTOCOL_IL, proto="IPV6",XDM_CONST.IP_PROTOCOL_IPV6, proto="SDRP",XDM_CONST.IP_PROTOCOL_SDRP, proto="IPV6_ROUTE",XDM_CONST.IP_PROTOCOL_IPV6_ROUTE, proto="IPV6_FRAG",XDM_CONST.IP_PROTOCOL_IPV6_FRAG, proto="IDRP",XDM_CONST.IP_PROTOCOL_IDRP, proto="RSVP",XDM_CONST.IP_PROTOCOL_RSVP, proto="GRE",XDM_CONST.IP_PROTOCOL_GRE, proto="DSR",XDM_CONST.IP_PROTOCOL_DSR, proto="BNA",XDM_CONST.IP_PROTOCOL_BNA, proto="ESP",XDM_CONST.IP_PROTOCOL_ESP, proto="AH",XDM_CONST.IP_PROTOCOL_AH, proto="I_NLSP",XDM_CONST.IP_PROTOCOL_I_NLSP, proto="SWIPE",XDM_CONST.IP_PROTOCOL_SWIPE, proto="NARP",XDM_CONST.IP_PROTOCOL_NARP, proto="MOBILE",XDM_CONST.IP_PROTOCOL_MOBILE, proto="TLSP",XDM_CONST.IP_PROTOCOL_TLSP, proto="SKIP",XDM_CONST.IP_PROTOCOL_SKIP, proto="IPV6_ICMP",XDM_CONST.IP_PROTOCOL_IPV6_ICMP, proto="IPV6_NONXT",XDM_CONST.IP_PROTOCOL_IPV6_NONXT, proto="IPV6_OPTS",XDM_CONST.IP_PROTOCOL_IPV6_OPTS, proto="CFTP",XDM_CONST.IP_PROTOCOL_CFTP, proto="SAT_EXPAK",XDM_CONST.IP_PROTOCOL_SAT_EXPAK, proto="KRYPTOLAN",XDM_CONST.IP_PROTOCOL_KRYPTOLAN, proto="RVD",XDM_CONST.IP_PROTOCOL_RVD, proto="IPPC",XDM_CONST.IP_PROTOCOL_IPPC, proto="SAT_MON",XDM_CONST.IP_PROTOCOL_SAT_MON, proto="VISA",XDM_CONST.IP_PROTOCOL_VISA, proto="IPCV",XDM_CONST.IP_PROTOCOL_IPCV, proto="CPNX",XDM_CONST.IP_PROTOCOL_CPNX, proto="CPHB",XDM_CONST.IP_PROTOCOL_CPHB, proto="WSN",XDM_CONST.IP_PROTOCOL_WSN, proto="PVP",XDM_CONST.IP_PROTOCOL_PVP, proto="BR_SAT_MON",XDM_CONST.IP_PROTOCOL_BR_SAT_MON, proto="SUN_ND",XDM_CONST.IP_PROTOCOL_SUN_ND, proto="WB_MON",XDM_CONST.IP_PROTOCOL_WB_MON, proto="WB_EXPAK",XDM_CONST.IP_PROTOCOL_WB_EXPAK, proto="ISO_IP",XDM_CONST.IP_PROTOCOL_ISO_IP, proto="VMTP",XDM_CONST.IP_PROTOCOL_VMTP, proto="SECURE_VMTP",XDM_CONST.IP_PROTOCOL_SECURE_VMTP, proto="VINES",XDM_CONST.IP_PROTOCOL_VINES, proto="TTP",XDM_CONST.IP_PROTOCOL_TTP, proto="NSFNET_IGP",XDM_CONST.IP_PROTOCOL_NSFNET_IGP, proto="DGP",XDM_CONST.IP_PROTOCOL_DGP, proto="TCF",XDM_CONST.IP_PROTOCOL_TCF, proto="EIGRP",XDM_CONST.IP_PROTOCOL_EIGRP, proto="OSPFIGP",XDM_CONST.IP_PROTOCOL_OSPFIGP, proto="SPRITE_RPC",XDM_CONST.IP_PROTOCOL_SPRITE_RPC, proto="LARP",XDM_CONST.IP_PROTOCOL_LARP, proto="MTP",XDM_CONST.IP_PROTOCOL_MTP, proto="AX25",XDM_CONST.IP_PROTOCOL_AX25, proto="IPIP",XDM_CONST.IP_PROTOCOL_IPIP, proto="MICP",XDM_CONST.IP_PROTOCOL_MICP, proto="SCC_SP",XDM_CONST.IP_PROTOCOL_SCC_SP, proto="ETHERIP",XDM_CONST.IP_PROTOCOL_ETHERIP, proto="ENCAP",XDM_CONST.IP_PROTOCOL_ENCAP, proto="GMTP",XDM_CONST.IP_PROTOCOL_GMTP, proto="IFMP",XDM_CONST.IP_PROTOCOL_IFMP, proto="PNNI",XDM_CONST.IP_PROTOCOL_PNNI, proto="PIM",XDM_CONST.IP_PROTOCOL_PIM, proto="ARIS",XDM_CONST.IP_PROTOCOL_ARIS, proto="SCPS",XDM_CONST.IP_PROTOCOL_SCPS, proto="QNX",XDM_CONST.IP_PROTOCOL_QNX, proto="AN",XDM_CONST.IP_PROTOCOL_AN, proto="IPCOMP",XDM_CONST.IP_PROTOCOL_IPCOMP, proto="SNP",XDM_CONST.IP_PROTOCOL_SNP, proto="COMPAQ_PEER",XDM_CONST.IP_PROTOCOL_COMPAQ_PEER, proto="IPX_IN_IP",XDM_CONST.IP_PROTOCOL_IPX_IN_IP, proto="VRRP",XDM_CONST.IP_PROTOCOL_VRRP, proto="PGM",XDM_CONST.IP_PROTOCOL_PGM, proto="L2TP",XDM_CONST.IP_PROTOCOL_L2TP, proto="DDX",XDM_CONST.IP_PROTOCOL_DDX, proto="IATP",XDM_CONST.IP_PROTOCOL_IATP, proto="STP",XDM_CONST.IP_PROTOCOL_STP, proto="SRP",XDM_CONST.IP_PROTOCOL_SRP, proto="UTI",XDM_CONST.IP_PROTOCOL_UTI, proto="SMP",XDM_CONST.IP_PROTOCOL_SMP, proto="SM",XDM_CONST.IP_PROTOCOL_SM, proto="PTP",XDM_CONST.IP_PROTOCOL_PTP, proto="ISIS",XDM_CONST.IP_PROTOCOL_ISIS, proto="FIRE",XDM_CONST.IP_PROTOCOL_FIRE, proto="CRTP",XDM_CONST.IP_PROTOCOL_CRTP, proto="CRUDP",XDM_CONST.IP_PROTOCOL_CRUDP, proto="SSCOPMCE",XDM_CONST.IP_PROTOCOL_SSCOPMCE, proto="IPLT",XDM_CONST.IP_PROTOCOL_IPLT, proto="SPS",XDM_CONST.IP_PROTOCOL_SPS, proto="PIPE",XDM_CONST.IP_PROTOCOL_PIPE, proto="SCTP",XDM_CONST.IP_PROTOCOL_SCTP, proto="FC",XDM_CONST.IP_PROTOCOL_FC, proto="RSVP_E2E_IGNORE",XDM_CONST.IP_PROTOCOL_RSVP_E2E_IGNORE, proto="MOBILITY",XDM_CONST.IP_PROTOCOL_MOBILITY, proto="UDPLITE",XDM_CONST.IP_PROTOCOL_UDPLITE, proto="MPLS_IN_IP",XDM_CONST.IP_PROTOCOL_MPLS_IN_IP, proto="MANET",XDM_CONST.IP_PROTOCOL_MANET, proto="HIP",XDM_CONST.IP_PROTOCOL_HIP, proto="SHIM6",XDM_CONST.IP_PROTOCOL_SHIM6, proto="WESP",XDM_CONST.IP_PROTOCOL_WESP, proto="ROHC",XDM_CONST.IP_PROTOCOL_ROHC, proto="RESERVED",XDM_CONST.IP_PROTOCOL_RESERVED,to_string(proto)),
xdm.source.sent_bytes=to_integer(arrayindex(regextract(_raw_log,"sent\=([^=]+)[\s|\"]"),0)),
xdm.network.application_protocol=proto_original,
xdm.source.sent_packets=to_integer(arrayindex(regextract(_raw_log,"spkt\=([^=]+)[\s|\"]"),0)),
xdm.event.duration=to_integer(arrayindex(regextract(_raw_log,"cdur\=([^=]+)[\s|\"]"),0)),
xdm.observer.action=arrayindex(regextract(_raw_log,"fw_action\=\"([^=]+)\""),0),
xdm.source.host.mac_addresses=regextract(_raw_log,"srcMac\=([^=]+)[\s|\"]"),
xdm.target.sent_bytes=to_integer(arrayindex(regextract(_raw_log,"rcvd\=([^=]+)[\s|\"]"),0)),
xdm.target.sent_packets=to_integer(arrayindex(regextract(_raw_log,"rpkt\=([^=]+)[\s|\"]"),0)),
xdm.network.http.method=if(httpMethod="1", XDM_CONST.HTTP_METHOD_GET, httpMethod="2", XDM_CONST.HTTP_METHOD_POST, httpMethod="3", XDM_CONST.HTTP_METHOD_HEAD, httpMethod="NO OPERATION", to_string(httpMethod)),
xdm.target.url=arrayindex(regextract(_raw_log,"dstname\=([^=]+)[\s|\"]"),0),
xdm.event.outcome_reason=arrayindex(regextract(_raw_log,"code\=([^=]+)[\s|\"]"),0),
xdm.network.http.referrer=arrayindex(regextract(_raw_log,"referer\=([^=]+)[\s|\"]"),0),
xdm.target.file.filename=arrayindex(regextract(_raw_log,"fileid\=([^=]+)[\s|\"]"),0),
xdm.source.user.username=arrayindex(regextract(_raw_log,"\susr\=\"([\w\.\-\@]+)\"\s"),0),
xdm.alert.original_threat_id=arrayindex(regextract(_raw_log,"sid\=([^=]+)[\s|\"]"),0),
xdm.alert.subcategory=arrayindex(regextract(_raw_log,"ipscat\=([^=]+)[\s|\"]"),0),
xdm.alert.severity=arrayindex(regextract(_raw_log,"ipspri\=([^=]+)[\s|\"]"),0);