{{crowdsec.Name}} is a security open-source software. See the overview
{{crowdsec.Name}} is written in Golang
{{crowdsec.Name}} is under MIT license
Our aim is to build a strong community that can share malevolent attackers IPs, for that we need to collect the bans triggered locally by each user.
The signal sent by your {{crowdsec.name}} to the central API only contains only meta-data about the attack :
Your logs are not sent to our central API, only meta-data about blocked attacks will be.
As {{crowdsec.name}} only works on logs, it shouldn't impact your production. When it comes to {{blockers.name}}, it should perform one request to the database when a new IP is discovered thus have minimal performance impact.
{{crowdsec.name}} can easily handle several thousands of events per second on a rich pipeline (multiple parsers, geoip enrichment, scenarios and so on). Logs are a good fit for sharding by default, so it is definitely the way to go if you need to handle higher throughput.
If you need help for large scale deployment, please get in touch with us on the {{doc.discourse}}, we love challenges ;)
Currently (0.3.0), {{crowdsec.name}} supports SQLite (default) and MySQL databases. See backend configuration for relevant configuration.
SQLite is the default backend as it's suitable for standalone/single-machine setups. On the other hand, MySQL is more suitable for distributed architectures where blockers across the applicative stack need to access a centralized ban database.
{{crowdsec.name}} support both [whitelists]((/write_configurations/whitelist/) and learning :
You can follow this guide
Setting up a proxy works out of the box, the net/http golang library can handle those environment variables:
HTTP_PROXY
HTTPS_PROXY
NO_PROXY
Since {{cli.name}} uses sudo
, you just this line in visudo
after setting up the previous environment variables:
Defaults env_keep += "HTTP_PROXY HTTPS_PROXY NO_PROXY"
To report a bug, please open an issue on the repository
Several initiatives have been taken to tackle the false positives approach as early as possible :
Feel free to ask for some help to the {{doc.community}}.