CrowdSec

initiale Konfiguration
cscli hub update
cscli machines add -a
cscli capi register
cscli collections install crowdsecurity/linux
Kommandos
cscli hub list
cscli hub update
cscli hub upgrade
cscli metrics
cscli decisions list
cscli alerts list
cscli alerts inspect -d 123
Replay Mode
# https://docs.crowdsec.net/docs/user_guides/replay_mode
crowdsec -dsn file:///var/log/socklog/secure/current -type sshd

Konfiguration

CrowdSec verwendet an einigen Stellen der Konfiguration expr.

Simulation

Kommandos
cscli simulation status
/etc/crowdsec/simulation.yaml
simulation: on
exclusions:
  - crowdsecurity/ssh-bf
  - crowdsecurity/endlessh-bf
  - xoryves/endlessh-slow-bf

Bouncer

firewall

Man sollte supported_decisions_types nur mit ban betreiben. Damit folgt man der Crowdsec Empfehlung aus deren FAQ »We highly recommend users to always take the “softest” remedy«. Ich persönlich würde es nur auf captcha und throttle erweitern, wenn z.B. der verwendete Webserver keinen entsprechenden Bouncer hat und man z.B. nftabels mit redirect nat verwendet.

endlessh

cscli collections install crowdsecurity/endlessh
/etc/crowdsec/scenarios/endlessh-slow-bf.yaml
# endlessh bruteforce
type: leaky
name: xoryves/endlessh-slow-bf
description: "Detect slow SSH bruteforce caught by Endlessh"
filter: "evt.Meta.log_type == 'endlessh_accept'"
leakspeed: "60m"
references:
  - http://wikipedia.com/ssh-bf-is-bad
capacity: 3
groupby: evt.Meta.source_ip
blackhole: 120m
reprocess: true
labels:
 service: endlessh
 type: bruteforce
 remediation: true

Entwicklung

test env
tar xvzf crowdsec-release.tgz
cd crowdsec-v1.4.1
./test_env.sh
cd tests
./crowdsec -c dev.yaml
./cscli -c dev.yaml hub list

Referenzen