sudo cscli collections install crowdsecurity/aws-cloudfrontInstalls 2 parsers and 47 scenarios, via HTTP - Generic Protection.
View AWS CloudFront →sudo cscli parsers install crowdsecurity/http-logsThen reload CrowdSec: sudo systemctl reload crowdsec
Sign in to see which of your engines run it →Hover a line or a note to see what each field does.
filter: "evt.Meta.service == 'http' && evt.Meta.log_type in ['http_access-log', 'http_error-log']"description: "Parse more Specifically HTTP logs, such as HTTP Code, HTTP path, HTTP args and if its a static ressource"name: crowdsecurity/http-logspattern_syntax:DIR: "^.*/"FILE: "[^/].*?"EXT: "\\.[^.]*$|$"nodes:- statics:- parsed: "impact_completion"# the value of a field can as well be determined as the result of an expressionexpression: "evt.Meta.http_status in ['404', '403', '502'] ? 'false' : 'true'"- target: evt.Parsed.static_ressourcevalue: 'false'# let's split the path?query if possible- grok:pattern: "^%{GREEDYDATA:request}\\?%{GREEDYDATA:http_args}$"apply_on: request# this is another node, with its own pattern_syntax- #debug: truegrok:pattern: "%{DIR:file_dir}(%{FILE:file_frag}%{EXT:file_ext})?"apply_on: requeststatics:- meta: http_pathexpression: "evt.Parsed.http_path"# meta af- meta: http_args_lenexpression: "len(evt.Parsed.http_args)"- parsed: file_nameexpression: evt.Parsed.file_frag + evt.Parsed.file_ext- parsed: static_ressourceexpression: "Upper(evt.Parsed.file_ext) in ['.JPG', '.CSS', '.JS', '.JPEG', '.PNG', '.SVG', '.MAP', '.ICO', '.OTF', '.GIF', '.MP3', '.MP4', '.WOFF', '.WOFF2', '.TTF', '.OTF', '.EOT', '.WEBP', '.WAV', '.GZ', '.BROTLI', '.BVR', '.TS', '.BMP', '.AVIF', '.MJS', '.TGZ'] ? 'true' : 'false'"
Sign in to see the Security Engines that run this log parser, the version they run and whether it was modified locally.
This parser is a generic post-parsing http re-parser and profides more detailed information such as :