CrowdSec - the open-source and participative security solution offering crowdsourced protection against malicious IPs and access to the most advanced real-world CTI.
Find a file
Thibault "bui" Koechlin 8df8ed9e3e
README update (#730)
* README update
2021-04-01 09:54:25 +02:00
.github Debian package auto-testing (#701) 2021-03-19 16:28:55 +01:00
cmd ensure to load db config for dashboard commands (#731) 2021-03-31 11:32:38 +02:00
config update the config.yaml file (#674) 2021-03-11 11:18:09 +01:00
docker Misspelling in docker Readme (#688) 2021-03-15 09:29:55 +01:00
docs README update (#730) 2021-04-01 09:54:25 +02:00
pkg cscli hub mgmt improvements (#710) 2021-03-29 10:33:23 +02:00
platform FreeBSD changes (#718) (#721) 2021-03-26 17:42:56 +01:00
scripts fix paths for tests (packages and tarball don't deploy in the same path) 2021-03-26 10:18:13 +01:00
.gitignore make cscli use crowdsec version for hub (#194) 2020-09-01 14:32:45 +02:00
Dockerfile Use --no-cache with apk to skip manual apk update (#689) 2021-03-15 11:51:33 +01:00
go.mod Ent update : 0.7.0 (#692) 2021-03-15 18:46:52 +01:00
go.sum Ent update : 0.7.0 (#692) 2021-03-15 18:46:52 +01:00
LICENSE Update LICENSE (#565) 2021-01-12 18:09:56 +01:00
Makefile FreeBSD changes (#718) (#721) 2021-03-26 17:42:56 +01:00
mkdocs.yml Doc api + minor api fixes (#654) 2021-02-26 17:42:45 +01:00
README.md README update (#730) 2021-04-01 09:54:25 +02:00
RELEASE.json Fix some bugs : update doc, codename and fix wizard (#522) 2020-12-08 12:45:36 +01:00
wizard.sh Unified functional tests (#696) 2021-03-18 13:59:41 +01:00

CrowdSec




Coverage Status

📚 Documentation 💠 Hub 💬 Discourse Forum 💬 Gitter Chat

If you want to be notified of software updates, click here

<TL;DR>

A modern behavior detection system, written in Go. It stacks on Fail2ban's philosophy, but uses Grok patterns & YAML grammar to analyse logs. It exposes an api, allowing to decouple detection and remediation for Cloud/Containers/VM based infrastructures. Once detected you respond to threats with various bouncers (firewall block, nginx http 403, Captchas, etc.) and blocked IPs are shared among all users to further improve their security. See FAQ or read bellow for more.

About the CrowdSec project

Crowdsec is an open-source, lightweight software, detecting peers with aggressive behaviors to prevent them from accessing your systems. Its user friendly design and assistance offers a low technical barrier of entry and nevertheless a high security gain.

Processing is done in 5 steps:

  1. Read Data sources (log files, streams, trails, messages ...), normalize and enrich signals
  2. Matching those signals to behavior patterns, aka scenarios (*)
  3. If an unwanted behavior is detected, deal with it through a bouncer : a software component integrated into your applicative stack that supports various remediations such as block, return 403, and soon captcha, 2FA, etc.
  4. The aggressive IP, the scenario name triggered and a timestamp is sent to our curation platform (to avoid poisoning & false positives)
  5. If verified, this IP is then integrated to the block list continuously distributed to all CrowdSec users (based on the scenarios installed)

By detecting, blocking & sharing the threat they faced, all clients are reinforcing each-others (hence the name Crowd-Security). Crowdsec is designed for modern infrastructures, with its "Detect Here, Remedy There" approach, letting you analyse logs coming from several sources in one place and block threats at various levels (applicative, system, infrastructural) of your stack.

(*) CrowdSec ships by default with scenarios (brute force, port scan, web scan, etc.) adapted for most context, but you can easily extend it by picking more of them from the hub. It is also easy to adapt an existing one or create one yourself.

👉 What it is not

CrowdSec is not a SIEM, storing your logs (neither locally nor remotely).

Your data stay in your premises and are only analyzed and forgotten.

Signals sent to the curation platform are extremely limited (IP, Scenario, Timestamp), and are only there to allow the system to rule out false positives or poisoning attempts.

⬇️ Install it !

Crowdsec is available for various platforms :

Or look directly at installation documentation for other methods.

🎉 Key points

Fast assisted installation, no technical barrier

Initial configuration is automated, providing functional out-of-the-box setup

Out of the box detection

Baseline detection is effective out-of-the-box, no fine-tuning required (click to expand)

Easy bouncer deployment

It's trivial to add bouncers to enforce decisions of crowdsec (click to expand)

Easy dashboard access

It's easy to deploy a metabase interface to view your data simply with cscli (click to expand)

Hot & Cold logs

Process cold logs, for forensic, tests and chasing false-positives & false negatives (click to expand)

📦 About this repository

This repository contains the code for the two main components of crowdsec :

  • crowdsec : the daemon a-la-fail2ban that can read, parse, enrich and apply heuristics to logs. This is the component in charge of "detecting" the attacks
  • cscli : the cli tool mainly used to interact with crowdsec : ban/unban/view current bans, enable/disable parsers and scenarios.