63
63
"TargetFilename" : "Filesystem.file_path" ,
64
64
}
65
65
66
+ splunk_web_proxy_cim_mapping = {
67
+ "c-uri" : "Web.url" ,
68
+ "c-uri-query" : "Web.uri_query" ,
69
+ "c-uri-stem" : "Web.uri_path" ,
70
+ "c-useragent" : "Web.http_user_agent" ,
71
+ "cs-method" : "Web.http_method" ,
72
+ "cs-host" : "Web.dest" ,
73
+ "cs-referrer" : "Web.http_referrer" ,
74
+ "src_ip" : "Web.src" ,
75
+ "dst_ip" : "Web.dest_ip" ,
76
+ }
66
77
67
78
def splunk_windows_pipeline ():
68
79
return ProcessingPipeline (
@@ -265,6 +276,48 @@ def splunk_cim_data_model():
265
276
logsource_windows_file_event (),
266
277
],
267
278
),
279
+ ProcessingItem (
280
+ identifier = "splunk_dm_mapping_web_proxy_unsupported_fields" ,
281
+ transformation = DetectionItemFailureTransformation (
282
+ "The Splunk Data Model Sigma backend supports only the following fields for web proxy log source: "
283
+ + "," .join (splunk_web_proxy_cim_mapping .keys ())
284
+ ),
285
+ rule_conditions = [
286
+ LogsourceCondition (category = "proxy" ),
287
+ ],
288
+ field_name_conditions = [
289
+ ExcludeFieldCondition (
290
+ fields = splunk_web_proxy_cim_mapping .keys ()
291
+ )
292
+ ],
293
+ ),
294
+ ProcessingItem (
295
+ identifier = "splunk_dm_mapping_web_proxy" ,
296
+ transformation = FieldMappingTransformation (
297
+ splunk_web_proxy_cim_mapping
298
+ ),
299
+ rule_conditions = [
300
+ LogsourceCondition (category = "proxy" ),
301
+ ],
302
+ ),
303
+ ProcessingItem (
304
+ identifier = "splunk_dm_fields_web_proxy" ,
305
+ transformation = SetStateTransformation (
306
+ "fields" , splunk_web_proxy_cim_mapping .values ()
307
+ ),
308
+ rule_conditions = [
309
+ LogsourceCondition (category = "proxy" ),
310
+ ],
311
+ ),
312
+ ProcessingItem (
313
+ identifier = "splunk_dm_mapping_web_proxy_data_model_set" ,
314
+ transformation = SetStateTransformation (
315
+ "data_model_set" , "Web.Proxy"
316
+ ),
317
+ rule_conditions = [
318
+ LogsourceCondition (category = "proxy" ),
319
+ ],
320
+ ),
268
321
ProcessingItem (
269
322
identifier = "splunk_dm_mapping_log_source_not_supported" ,
270
323
rule_condition_linking = any ,
@@ -282,6 +335,9 @@ def splunk_cim_data_model():
282
335
RuleProcessingItemAppliedCondition (
283
336
"splunk_dm_mapping_sysmon_file_event"
284
337
),
338
+ RuleProcessingItemAppliedCondition (
339
+ "splunk_dm_mapping_web_proxy"
340
+ ),
285
341
],
286
342
),
287
343
],
0 commit comments