@@ -105,13 +105,13 @@ processors:
105
105
"append":
106
106
{
107
107
"field": "error.message",
108
- "value": "{{ _ingest.on_failure_message }}",
108
+ "value": "{{{ _ingest.on_failure_message } }}",
109
109
},
110
110
},
111
111
]
112
112
- date:
113
113
if: "ctx.event?.timezone != null && ctx._temp_?.raw_date != null"
114
- timezone: "{{ event.timezone }}"
114
+ timezone: "{{{ event.timezone } }}"
115
115
field: "_temp_.raw_date"
116
116
target_field: "@timestamp"
117
117
formats:
@@ -138,7 +138,7 @@ processors:
138
138
"append":
139
139
{
140
140
"field": "error.message",
141
- "value": "{{ _ingest.on_failure_message }}",
141
+ "value": "{{{ _ingest.on_failure_message } }}",
142
142
},
143
143
},
144
144
]
@@ -494,7 +494,7 @@ processors:
494
494
if: "ctx._temp_.cisco.message_id == '338001'"
495
495
field: "server.domain"
496
496
description: "338001"
497
- value: "{{source.domain}}"
497
+ value: "{{{ source.domain} }}"
498
498
ignore_empty_value: true
499
499
- dissect:
500
500
if: "ctx._temp_.cisco.message_id == '338002'"
@@ -505,7 +505,7 @@ processors:
505
505
if: "ctx._temp_.cisco.message_id == '338002'"
506
506
field: "server.domain"
507
507
description: "338002"
508
- value: "{{destination.domain}}"
508
+ value: "{{{ destination.domain} }}"
509
509
ignore_empty_value: true
510
510
- dissect:
511
511
if: "ctx._temp_.cisco.message_id == '338003'"
@@ -526,7 +526,7 @@ processors:
526
526
if: "ctx._temp_.cisco.message_id == '338005'"
527
527
field: "server.domain"
528
528
description: "338005"
529
- value: "{{source.domain}}"
529
+ value: "{{{ source.domain} }}"
530
530
ignore_empty_value: true
531
531
- dissect:
532
532
if: "ctx._temp_.cisco.message_id == '338006'"
@@ -537,7 +537,7 @@ processors:
537
537
if: "ctx._temp_.cisco.message_id == '338006'"
538
538
field: "server.domain"
539
539
description: "338006"
540
- value: "{{destination.domain}}"
540
+ value: "{{{ destination.domain} }}"
541
541
ignore_empty_value: true
542
542
- dissect:
543
543
if: "ctx._temp_.cisco.message_id == '338007'"
@@ -558,7 +558,7 @@ processors:
558
558
if: "ctx._temp_.cisco.message_id == '338101'"
559
559
field: "server.domain"
560
560
description: "338101"
561
- value: "{{source.domain}}"
561
+ value: "{{{ source.domain} }}"
562
562
ignore_empty_value: true
563
563
- dissect:
564
564
if: "ctx._temp_.cisco.message_id == '338102'"
@@ -569,7 +569,7 @@ processors:
569
569
if: "ctx._temp_.cisco.message_id == '338102'"
570
570
field: "server.domain"
571
571
description: "338102"
572
- value: "{{destination.domain}}"
572
+ value: "{{{ destination.domain} }}"
573
573
ignore_empty_value: true
574
574
- dissect:
575
575
if: "ctx._temp_.cisco.message_id == '338103'"
@@ -590,7 +590,7 @@ processors:
590
590
if: "ctx._temp_.cisco.message_id == '338201'"
591
591
field: "server.domain"
592
592
description: "338201"
593
- value: "{{source.domain}}"
593
+ value: "{{{ source.domain} }}"
594
594
ignore_empty_value: true
595
595
- dissect:
596
596
if: "ctx._temp_.cisco.message_id == '338202'"
@@ -601,7 +601,7 @@ processors:
601
601
if: "ctx._temp_.cisco.message_id == '338202'"
602
602
field: "server.domain"
603
603
description: "338202"
604
- value: "{{destination.domain}}"
604
+ value: "{{{ destination.domain} }}"
605
605
ignore_empty_value: true
606
606
- dissect:
607
607
if: "ctx._temp_.cisco.message_id == '338203'"
@@ -612,7 +612,7 @@ processors:
612
612
if: "ctx._temp_.cisco.message_id == '338203'"
613
613
field: "server.domain"
614
614
description: "338203"
615
- value: "{{source.domain}}"
615
+ value: "{{{ source.domain} }}"
616
616
ignore_empty_value: true
617
617
- dissect:
618
618
if: "ctx._temp_.cisco.message_id == '338204'"
@@ -623,7 +623,7 @@ processors:
623
623
if: "ctx._temp_.cisco.message_id == '338204'"
624
624
field: "server.domain"
625
625
description: "338204"
626
- value: "{{destination.domain}}"
626
+ value: "{{{ destination.domain} }}"
627
627
ignore_empty_value: true
628
628
- dissect:
629
629
if: "ctx._temp_.cisco.message_id == '338301'"
@@ -634,25 +634,25 @@ processors:
634
634
if: "ctx._temp_.cisco.message_id == '338301'"
635
635
field: "client.address"
636
636
description: "338301"
637
- value: "{{destination.address}}"
637
+ value: "{{{ destination.address} }}"
638
638
ignore_empty_value: true
639
639
- set:
640
640
if: "ctx._temp_.cisco.message_id == '338301'"
641
641
field: "client.port"
642
642
description: "338301"
643
- value: "{{destination.port}}"
643
+ value: "{{{ destination.port} }}"
644
644
ignore_empty_value: true
645
645
- set:
646
646
if: "ctx._temp_.cisco.message_id == '338301'"
647
647
field: "server.address"
648
648
description: "338301"
649
- value: "{{source.address}}"
649
+ value: "{{{ source.address} }}"
650
650
ignore_empty_value: true
651
651
- set:
652
652
if: "ctx._temp_.cisco.message_id == '338301'"
653
653
field: "server.port"
654
654
description: "338301"
655
- value: "{{source.port}}"
655
+ value: "{{{ source.port} }}"
656
656
ignore_empty_value: true
657
657
- dissect:
658
658
if: "ctx._temp_.cisco.message_id == '502103'"
@@ -664,8 +664,8 @@ processors:
664
664
field: "event.type"
665
665
description: "502103"
666
666
value:
667
- - "group"
668
- - "change"
667
+ - "group"
668
+ - "change"
669
669
- append:
670
670
if: "ctx._temp_.cisco.message_id == '502103'"
671
671
field: "event.category"
@@ -819,7 +819,7 @@ processors:
819
819
if: '["713905", "713904", "713906", "713902", "713901"].contains(ctx._temp_.cisco.message_id)'
820
820
field: "message"
821
821
patterns:
822
- - "^(Group = %{IP}, )?(IP = %{IP:source.address}, )?%{GREEDYDATA:event.reason}$"
822
+ - "^(Group = %{IP}, )?(IP = %{IP:source.address}, )?%{GREEDYDATA:event.reason}$"
823
823
# Handle ecs action outcome protocol
824
824
- set:
825
825
if: '["434002", "434004"].contains(ctx._temp_.cisco.message_id)'
@@ -1437,7 +1437,7 @@ processors:
1437
1437
# processor converts it to the right value and populates start and end.
1438
1438
- set:
1439
1439
field: "_temp_.duration_hms"
1440
- value: "{{event.duration}}"
1440
+ value: "{{{ event.duration} }}"
1441
1441
ignore_empty_value: true
1442
1442
1443
1443
#
@@ -1792,7 +1792,7 @@ processors:
1792
1792
# Fills nat.ip and nat.port even when only the ip or port changed.
1793
1793
- set:
1794
1794
field: source.nat.ip
1795
- value: "{{_temp_.cisco.mapped_source_ip}}"
1795
+ value: "{{{ _temp_.cisco.mapped_source_ip} }}"
1796
1796
if: "ctx?._temp_?.cisco?.mapped_source_ip != ctx?.source?.ip"
1797
1797
ignore_empty_value: true
1798
1798
- convert:
@@ -1801,7 +1801,7 @@ processors:
1801
1801
ignore_missing: true
1802
1802
- set:
1803
1803
field: source.nat.port
1804
- value: "{{_temp_.cisco.mapped_source_port}}"
1804
+ value: "{{{ _temp_.cisco.mapped_source_port} }}"
1805
1805
if: "ctx?._temp_?.cisco?.mapped_source_port != ctx?.source?.port"
1806
1806
ignore_empty_value: true
1807
1807
- convert:
@@ -1810,7 +1810,7 @@ processors:
1810
1810
ignore_missing: true
1811
1811
- set:
1812
1812
field: destination.nat.ip
1813
- value: "{{_temp_.cisco.mapped_destination_ip}}"
1813
+ value: "{{{ _temp_.cisco.mapped_destination_ip} }}"
1814
1814
if: "ctx?._temp_?.cisco.mapped_destination_ip != ctx?.destination?.ip"
1815
1815
ignore_empty_value: true
1816
1816
- convert:
@@ -1819,7 +1819,7 @@ processors:
1819
1819
ignore_missing: true
1820
1820
- set:
1821
1821
field: destination.nat.port
1822
- value: "{{_temp_.cisco.mapped_destination_port}}"
1822
+ value: "{{{ _temp_.cisco.mapped_destination_port} }}"
1823
1823
if: "ctx?._temp_?.cisco?.mapped_destination_port != ctx?.destination?.port"
1824
1824
ignore_empty_value: true
1825
1825
- convert:
@@ -1893,7 +1893,7 @@ processors:
1893
1893
1894
1894
- set:
1895
1895
field: _temp_.url_domain
1896
- value: "{{url.domain}}"
1896
+ value: "{{{ url.domain} }}"
1897
1897
ignore_failure: true
1898
1898
if: ctx?.url?.domain != null
1899
1899
@@ -1903,7 +1903,7 @@ processors:
1903
1903
if: ctx?.url?.original != null
1904
1904
- append:
1905
1905
field: url.domain
1906
- value: "{{_temp_.url_domain}}"
1906
+ value: "{{{ _temp_.url_domain} }}"
1907
1907
ignore_failure: true
1908
1908
allow_duplicates: false
1909
1909
if: ctx?._temp_?.url_domain != null
@@ -2097,17 +2097,27 @@ processors:
2097
2097
ctx.event.outcome = 'success';
2098
2098
}
2099
2099
2100
+ # Malware event kind is classified as alert when sha_disposition is "Malware", "Custom Detection" not for other cases.
2101
+ - set:
2102
+ if: 'ctx?.event?.code == "430005" && ["Malware", "Custom Detection"].contains(ctx.cisco.asa.security.sha_disposition)'
2103
+ field: event.kind
2104
+ value: alert
2105
+ - append:
2106
+ if: 'ctx?.event?.code == "430005" && !["Malware", "Custom Detection"].contains(ctx.cisco.asa.security.sha_disposition)'
2107
+ field: event.category
2108
+ value: file
2109
+
2100
2110
- set:
2101
2111
description: copy destination.user.name to user.name if it is not set
2102
2112
field: user.name
2103
- value: "{{destination.user.name}}"
2113
+ value: "{{{ destination.user.name} }}"
2104
2114
ignore_empty_value: true
2105
2115
if: ctx?.user?.name == null
2106
2116
2107
2117
# Configures observer fields with a copy from cisco and host fields. Later on these might replace host.hostname.
2108
2118
- set:
2109
2119
field: observer.hostname
2110
- value: "{{ host.hostname }}"
2120
+ value: "{{{ host.hostname } }}"
2111
2121
ignore_empty_value: true
2112
2122
- set:
2113
2123
field: observer.vendor
@@ -2123,30 +2133,30 @@ processors:
2123
2133
ignore_empty_value: true
2124
2134
- set:
2125
2135
field: observer.egress.interface.name
2126
- value: "{{ cisco.asa.destination_interface }}"
2136
+ value: "{{{ cisco.asa.destination_interface } }}"
2127
2137
ignore_empty_value: true
2128
2138
- set:
2129
2139
field: observer.ingress.interface.name
2130
- value: "{{ cisco.asa.source_interface }}"
2140
+ value: "{{{ cisco.asa.source_interface } }}"
2131
2141
ignore_empty_value: true
2132
2142
- append:
2133
2143
field: related.ip
2134
- value: "{{source.ip}}"
2144
+ value: "{{{ source.ip} }}"
2135
2145
if: "ctx?.source?.ip != null"
2136
2146
allow_duplicates: false
2137
2147
- append:
2138
2148
field: related.ip
2139
- value: "{{source.nat.ip}}"
2149
+ value: "{{{ source.nat.ip} }}"
2140
2150
if: "ctx?.source?.nat?.ip != null"
2141
2151
allow_duplicates: false
2142
2152
- append:
2143
2153
field: related.ip
2144
- value: "{{destination.ip}}"
2154
+ value: "{{{ destination.ip} }}"
2145
2155
if: "ctx?.destination?.ip != null"
2146
2156
allow_duplicates: false
2147
2157
- append:
2148
2158
field: related.ip
2149
- value: "{{destination.nat.ip}}"
2159
+ value: "{{{ destination.nat.ip} }}"
2150
2160
if: "ctx?.destination?.nat?.ip != null"
2151
2161
allow_duplicates: false
2152
2162
- append:
@@ -2156,7 +2166,7 @@ processors:
2156
2166
allow_duplicates: false
2157
2167
- append:
2158
2168
field: related.user
2159
- value: "{{server.user.name}}"
2169
+ value: "{{{ server.user.name} }}"
2160
2170
if: ctx?.server?.user?.name != null && ctx?.server?.user?.name != ''
2161
2171
allow_duplicates: false
2162
2172
- append:
@@ -2171,37 +2181,37 @@ processors:
2171
2181
allow_duplicates: false
2172
2182
- append:
2173
2183
field: related.hash
2174
- value: "{{file.hash.sha256}}"
2184
+ value: "{{{ file.hash.sha256} }}"
2175
2185
if: "ctx?.file?.hash?.sha256 != null"
2176
2186
allow_duplicates: false
2177
2187
- append:
2178
2188
field: related.hosts
2179
- value: "{{host.hostname}}"
2189
+ value: "{{{ host.hostname} }}"
2180
2190
if: ctx.host?.hostname != null && ctx.host?.hostname != ''
2181
2191
allow_duplicates: false
2182
2192
- append:
2183
2193
field: related.hosts
2184
- value: "{{observer.hostname}}"
2194
+ value: "{{{ observer.hostname} }}"
2185
2195
if: ctx.observer?.hostname != null && ctx.observer?.hostname != ''
2186
2196
allow_duplicates: false
2187
2197
- append:
2188
2198
field: related.hosts
2189
- value: "{{destination.domain}}"
2199
+ value: "{{{ destination.domain} }}"
2190
2200
if: ctx.destination?.domain != null && ctx.destination?.domain != ''
2191
2201
allow_duplicates: false
2192
2202
- append:
2193
2203
field: related.hosts
2194
- value: "{{source.domain}}"
2204
+ value: "{{{ source.domain} }}"
2195
2205
if: ctx.source?.domain != null && ctx.source?.domain != ''
2196
2206
allow_duplicates: false
2197
2207
- append:
2198
2208
field: related.hosts
2199
- value: "{{source.user.domain}}"
2209
+ value: "{{{ source.user.domain} }}"
2200
2210
if: ctx.source?.user?.domain != null && ctx.source?.user?.domain != ''
2201
2211
allow_duplicates: false
2202
2212
- append:
2203
2213
field: related.hosts
2204
- value: "{{destination.user.domain}}"
2214
+ value: "{{{ destination.user.domain} }}"
2205
2215
if: ctx.destination?.user?.domain != null && ctx.destination?.user?.domain != ''
2206
2216
allow_duplicates: false
2207
2217
- script:
@@ -2249,4 +2259,4 @@ on_failure:
2249
2259
ignore_missing: true
2250
2260
- append:
2251
2261
field: "error.message"
2252
- value: "{{ _ingest.on_failure_message }}"
2262
+ value: "{{{ _ingest.on_failure_message } }}"
0 commit comments