cscli parsers install crowdsecurity/iis-logs
Parser for IIS default W3C logs.
Log file and event log are both supported.
1filter: "evt.Parsed.program == 'iis'"2onsuccess: next_stage3name: crowdsecurity/iis-logs4description: "Parse IIS access logs"5nodes:6 #W3C logs can come from the event log7 - filter: "evt.Meta.datasource_type == 'wineventlog' and evt.Parsed.EventID == '6200'"8 statics:9 - meta: source_ip10 expression: XMLGetNodeValue(evt.Line.Raw, "/Event/EventData[1]/Data[@Name='c-ip']")11 - meta: http_status12 expression: XMLGetNodeValue(evt.Line.Raw, "/Event/EventData[1]/Data[@Name='sc-status']")13 - parsed: http_path14 expression: XMLGetNodeValue(evt.Line.Raw, "/Event/EventData[1]/Data[@Name='cs-uri-stem']")15 - meta: http_path16 expression: evt.Parsed.http_path17 - target: evt.Parsed.http_args18 expression: XMLGetNodeValue(evt.Line.Raw, "/Event/EventData[1]/Data[@Name='cs-uri-query']")19 - parsed: verb20 expression: XMLGetNodeValue(evt.Line.Raw, "/Event/EventData[1]/Data[@Name='cs-method']")21 - meta: http_verb22 expression: XMLGetNodeValue(evt.Line.Raw, "/Event/EventData[1]/Data[@Name='cs-method']")23 - meta: http_user_agent24 expression: XMLGetNodeValue(evt.Line.Raw, "/Event/EventData[1]/Data[@Name='csUser-Agent']")25 - meta: target_fqdn26 expression: XMLGetNodeValue(evt.Line.Raw, "/Event/EventData[1]/Data[@Name='s-sitename']") #not a FQDN, but close enough ?27 - target: evt.StrTime28 expression: XMLGetNodeValue(evt.Line.Raw, "/Event/EventData[1]/Data[@Name='date']") + " " + XMLGetNodeValue(evt.Line.Raw, "/Event/EventData[1]/Data[@Name='time']")29 - target: evt.Parsed.request30 expression: evt.Meta.http_path + '?' + evt.Parsed.http_args31 - filter: "evt.Parsed.datasource_type != 'wineventlog'"32 grok:33 pattern: "%{TIMESTAMP_ISO8601:date} %{IP:server_ip} %{WORD:http_method} %{DATA:http_path} %{DATA:http_args} %{INT} %{DATA:remote_user} %{IP:client_ip} %{DATA:user_agent} %{DATA:referer} %{INT:status} %{INT:substatus} %{INT:win32_status} %{INT:duration}"34 apply_on: message35 statics:36 - target: evt.StrTime37 expression: evt.Parsed.date38 - meta: source_ip39 expression: evt.Parsed.client_ip40 - meta: http_status41 expression: evt.Parsed.status42 - meta: http_path43 expression: evt.Parsed.http_path44 - meta: http_user_agent45 expression: evt.Parsed.user_agent46 - meta: http_verb47 expression: evt.Parsed.method48 - parsed: verb49 expression: evt.Parsed.method50 - target: evt.Parsed.request51 expression: evt.Meta.http_path + '?' + evt.Parsed.http_args5253statics:54 - meta: service55 value: http56 - meta: log_type57 value: http_access-log