Project

General

Profile

Actions

Bug #6173

open

http: loss of backward compatibility in HTTP logs from v6 to v7

Added by Eric Leblond 11 months ago. Updated 10 months ago.

Status:
New
Priority:
Normal
Assignee:
Target version:
Affected Versions:
Effort:
Difficulty:
Label:

Description

Resolution of #5320 done in https://github.com/OISF/suricata/pull/8714/commits is causing a set of problems.

First, it breaks backward compatibility of events and users will have to upgrade all data handling for something that was there since ages. I think this could have been avoid.

Second, switching from a set of JSON key: value to a dictionary {"key": $key, "value": $value} is going to cause severe issues in lot of data lake. For example, let's take Elasticsearch case. If default template is kept, we are going to have the following issue. On an event with 2 headers at least:

"key: "alpha", "value": "jane" 
"key": "beta", "value": "robert" 

if user want to see if "alpha": "robert" is present then he will naturally do "key:alpha AND value:robert" and this will match on our event because of the way Elasticsearch handle array by default. If Elasticsearch is set up to use nested elements, the match should be correct. But I'm still completely missing how we can do a list of all values for a given header. Even more if we add the third point below.

Third, the key corresponding to header were "normalized" as it was a fixed string. This is not the case anymore as the key are not converted to lower case before being added to 'key'. The lack of conversion to lower case is making sense as this output is trying to match the reality of the transaction as close as possible.


Related issues 1 (0 open1 closed)

Related to Suricata - Bug #5320: Key collisions in HTTP JSON eve-logsClosedPhilippe AntoineActions
Actions

Also available in: Atom PDF