sudo cscli collections install ZoeyVid/npmplusInstalls 5 parsers and 54 scenarios.
View NPMplus →sudo cscli parsers install ZoeyVid/npmplus-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.Parsed.program startsWith 'npmplus'"onsuccess: next_stagename: ZoeyVid/npmplus-logsdescription: "Parse NPMplus access logs"nodes:- grok:pattern: '\[%{HTTPDATE:time_local}\] %{DATA:target_fqdn}(?::%{NONNEGINT})? %{IPORHOST:remote_addr} %{NUMBER} "%{WORD:verb} %{DATA:request} HTTP/%{NUMBER:http_version}" %{NUMBER:status} %{NUMBER} "%{NOTDQUOTE:http_referer}" "%{NOTDQUOTE:http_user_agent}" "%{NOTDQUOTE:remote_user}"'apply_on: messagestatics:- meta: log_typevalue: http_access-log- target: evt.StrTimeexpression: evt.Parsed.time_localonsuccess: next_stagenodes:- filter: "evt.Parsed.status == '401' && evt.Parsed.remote_user != '-'"statics:- meta: sub_typevalue: "auth_fail"- meta: usernameexpression: evt.Parsed.remote_user## Parse malformed requests- grok:pattern: '\[%{HTTPDATE:time_local}\] %{DATA:target_fqdn}(?::%{NONNEGINT})? %{IPORHOST:remote_addr} %{NUMBER} "%{DATA:request}" %{NUMBER:status} %{NUMBER} "%{NOTDQUOTE:http_referer}" "%{NOTDQUOTE:http_user_agent}" "%{NOTDQUOTE:remote_user}"'apply_on: messagestatics:- meta: log_typevalue: http_access-log- target: evt.StrTimeexpression: evt.Parsed.time_local## Parse the old access log format and error logs- grok:pattern: '\[%{HTTPDATE:time_local}\] %{DATA:target_fqdn}(?::%{NONNEGINT})? %{IPORHOST:remote_addr} %{NUMBER} "%{WORD:verb} %{DATA:request} HTTP/%{NUMBER:http_version}" %{NUMBER:status} %{NUMBER} %{NUMBER} %{DATA:http_referer} %{GREEDYDATA:http_user_agent}'apply_on: messagestatics:- meta: log_typevalue: http_access-log- target: evt.StrTimeexpression: evt.Parsed.time_local
Sign in to see the Security Engines that run this log parser, the version they run and whether it was modified locally.
A generic parser for NPMplus, supports both access and error logs.