sudo cscli collections install LePresidente/autheliaInstalls 1 parser and 1 scenario.
View authelia →sudo cscli parsers install LePresidente/authelia-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.
debug: falsename: LePresidente/authelia-logsfilter: "evt.Parsed.program == 'authelia'"description: "Parse Authelia logs"pattern_syntax:AUTHELIA_USER: '%{EMAILADDRESS}|%{USERNAME}'nodes:## Main parsing section either it key value pairs or JSON- filter: TrimSpace(evt.Parsed.message) not startsWith "{" && ParseKV(evt.Parsed.message, evt.Unmarshaled, "authelia") in ["", nil]statics:- meta: log_formatvalue: CLF- filter: evt.Unmarshaled.authelia == nil && UnmarshalJSON(evt.Parsed.message, evt.Unmarshaled, "authelia") in ["", nil]statics:- meta: log_formatvalue: JSON## Detect msg contans authentication attempt to parse out user info- grok:pattern: "%{WORD:auth_status} (1FA|Duo|TOTP|U2F) authentication attempt (made )?by user '%{AUTHELIA_USER:user}'"expression: evt.Unmarshaled.authelia.msgstatics:- meta: log_typeexpression: 'evt.Parsed.auth_status == "Unsuccessful" ? "auth_failed" : "auth_success"'- grok:pattern: "Error .* getting details for user with username input '%{AUTHELIA_USER:user}'.*"expression: evt.Unmarshaled.authelia.msgstatics:- meta: log_typevalue: auth_failed## This section is a hack to allow all authelia logs to pass to next stage, if you set onsuccess next stage at root level all successful attempts will not be passed, so we could do some impossible trave sceanrios- filter: evt.Unmarshaled.authelia != nilonsuccess: next_stagestatics:- meta: servicevalue: autheliastatics:- meta: user
Sign in to see the Security Engines that run this log parser, the version they run and whether it was modified locally.
Parser for Authelia Logs.
1---2filenames:3 - /var/log/Authelia.log4labels:5 type: authelia