sudo cscli collections install plague-doctor/audiobookshelfInstalls 1 parser and 1 scenario.
View Audiobookshelf - Bruteforce Protection →sudo cscli parsers install plague-doctor/audiobookshelf-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.
onsuccess: next_stage#debug: truefilter: "Upper(evt.Parsed.program) == 'AUDIOBOOKSHELF'"name: plague-doctor/audiobookshelf-logsdescription: "Parse Audiobookshelf logs"pattern_syntax:ABS_FAILED_AUTH: '\[(Local)?Auth\] Failed login attempt for username \\?"%{USERNAME:username}\\?" from ip %{IP:source_ip} \(%{DATA:reason}\)'nodes:- grok:pattern: '\[%{TIMESTAMP_ISO8601:timestamp}\] ERROR: %{ABS_FAILED_AUTH}'apply_on: messagestatics:- meta: log_typevalue: abs_failed_auth- filter: 'UnmarshalJSON(evt.Parsed.message, evt.Unmarshaled, "abs") in ["", nil]'grok:pattern: "%{ABS_FAILED_AUTH}"expression: evt.Unmarshaled.abs.messagestatics:- meta: log_typevalue: abs_failed_authstatics:- meta: servicevalue: audiobookshelf- meta: source_ipexpression: "evt.Parsed.source_ip"- target: evt.StrTimeexpression: 'evt.Parsed.timestamp != "" ? evt.Parsed.timestamp : evt.Unmarshaled.abs.timestamp'## We check if the parser parsed the timestamp or if it within the json output- meta: usernameexpression: "evt.Parsed.username"
Sign in to see the Security Engines that run this log parser, the version they run and whether it was modified locally.
A parser that will search for unauthorized access to Audiobookshelf.
Example acquisition for this collection:
1---2filenames:3 - /var/log/audiobookshelf/*.txt4labels:5 type: audiobookshelf