Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .tests/overseerr-whitelist/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
parsers:
- crowdsecurity/syslog-logs
- crowdsecurity/dateparse-enrich
- crowdsecurity/nginx-logs
- ./parsers/s02-enrich/crowdsecurity/overseerr-whitelist.yaml
scenarios:
- ""
postoverflows:
- ""
log_file: overseerr-logs.log
log_type: nginx
labels: {}
ignore_parsers: false
override_statics: []
5 changes: 5 additions & 0 deletions .tests/overseerr-whitelist/overseerr-logs.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
2001:db8:1:2:3:4:5:6 - - [25/Jul/2025:10:25:21 -0400] "GET /api/v1/request/440 HTTP/3.0" 304 0 "" ""
2001:db8:1:2:3:4:5:6 - - [25/Jul/2025:10:25:21 -0400] "GET /api/v1/request/439 HTTP/3.0" 304 0 "" ""
2001:db8:1:2:3:4:5:6 - - [25/Jul/2025:10:25:21 -0400] "GET /api/v1/request/438 HTTP/3.0" 200 3226 "" ""
2001:db8:1:2:3:4:5:6 - - [25/Jul/2025:10:25:21 -0400] "GET /api/v1/request/437 HTTP/3.0" 304 0 "" ""
2001:db8:1:2:3:4:5:6 - - [25/Jul/2025:10:25:21 -0400] "GET /api/v1/request/436 HTTP/3.0" 200 3226 "" ""
367 changes: 367 additions & 0 deletions .tests/overseerr-whitelist/parser.assert

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions .tests/overseerr-whitelist/scenario.assert
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

3 changes: 2 additions & 1 deletion collections/LePresidente/overseerr.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
parsers:
- LePresidente/overseerr-logs
- crowdsecurity/overseerr-whitelist
scenarios:
- LePresidente/overseerr-bf
description: "overseerr Support : parser and brute-force detection"
author: LePresidente
tags:
- linux
- brute-force
- overseerr
- overseerr
3 changes: 2 additions & 1 deletion parsers/s01-parse/LePresidente/overseerr-logs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ nodes:
statics:
- meta: log_type
value: overseerr_failed_auth

statics:
- meta: service
value: overseerr
Expand All @@ -38,4 +39,4 @@ statics:
- meta: user
expression: "evt.Parsed.username"
- target: evt.StrTime
expression: evt.Parsed.timestamp
expression: evt.Parsed.timestamp
4 changes: 4 additions & 0 deletions parsers/s02-enrich/crowdsecurity/overseerr-whitelist.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
## Overseerr Whitelist

### Browsing Movies, Series or Requests
When scrolling fast while using Overseerr on the Movies, Series or Requests pages, many GET requests are made to ``/api/v1/(movie|tv|request)``. The http-crawl-non_statics scenario will be triggered if too many requests to the API are made too quickly unless this whitelist is used.
7 changes: 7 additions & 0 deletions parsers/s02-enrich/crowdsecurity/overseerr-whitelist.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
name: crowdsecurity/overseerr-whitelist
description: "Whitelist events from overseerr"
filter: "evt.Meta.service == 'http' && evt.Meta.log_type in ['http_access-log', 'http_error-log']"
whitelist:
reason: "Overseerr whitelist"
expression:
- evt.Meta.http_status in ['200', '304'] && evt.Meta.http_verb == 'GET' && evt.Meta.http_path matches '^\\/api\\/v1\\/(movie|tv|request)\\/(\\d+)$' # When browsing Movies, Series or Requests
4 changes: 2 additions & 2 deletions scenarios/LePresidente/overseerr-bf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ filter: "evt.Meta.log_type == 'overseerr_failed_auth'"
#debug: true
type: leaky
groupby: evt.Meta.source_ip
leakspeed: "20s"
leakspeed: 20s
capacity: 5
blackhole: 1m
labels:
Expand All @@ -25,7 +25,7 @@ description: "Detect overseerr user enum bruteforce"
filter: "evt.Meta.log_type == 'overseerr_failed_auth'"
groupby: evt.Meta.source_ip
distinct: evt.Meta.user
leakspeed: 10s
leakspeed: 1m
capacity: 5
blackhole: 1m
labels:
Expand Down