elastic / elastic/integrations
[New Integration] CrowdSec
- Dominant language
- Handlebars
- Stars
- 333
- Forks
- 647
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 182
Description
## Summary
[CrowdSec](https://www.crowdsec.net/) is an open-source intrusion prevention
system. It parses logs, detects aggressive behaviour using scenarios from the
CrowdSec Hub, and issues remediation decisions such as banning a source IP.
There is no integration for it here today.
People are already sending CrowdSec data into Elasticsearch by hand, and running
into the rough edges of doing it that way — for example
[crowdsecurity/crowdsec#1618](https://github.com/crowdsecurity/crowdsec/issues/1618)
(notifications not all arriving),
[#1649](https://github.com/crowdsecurity/crowdsec/issues/1649) (index naming),
and [#4427](https://github.com/crowdsecurity/crowdsec/issues/4427). An
integration would give them a supported path with ECS field mappings and a
dashboard instead.
I have built and tested a package for this, and I would be glad to contribute it
if it is something you would like to have.
## The package
https://github.com/TocharianOU/elastic-integrations-eu/tree/main/packages/crowdsec
One `alert` data stream, one document per CrowdSec alert. Two inputs:
`http_endpoint`, which receives alerts from CrowdSec's `notification-http`
plugin, and `logfile` for replaying captured alerts. Alerts are mapped to ECS
plus a `crowdsec.*` namespace, and the package ships a dashboard covering alert
volume, scenarios, source geography, repeat offenders and target paths.
It was built against a live CrowdSec 1.8.1 rather than from sample files. The
pipeline test fixtures are payloads captured from that instance, and the raw
captures are kept next to the package so the mapping can be checked against
them. `elastic-package test pipeline` and `elastic-package check` both pass, and
it installs into Kibana 9.5.
## How can I help move this forward?
I would be happy to open a pull request. I noticed that packages here are owned
by an Elastic team in `.github/CODEOWNERS`, so I would need to know which team
to put there before I can prepare one properly.
Please let me know how you would prefer to proceed, and I am glad to adjust
anything in the package to fit your conventions.
Contributor guide
Research direction
Start by reviewing the proposed package at the linked CrowdSec repository and the ownership rules in .github/CODEOWNERS. Run elastic-package test pipeline and elastic-package check, then compare the package with existing integration conventions; done means the team and ownership path are agreed and the package is accepted with its alert data stream, ECS mappings, and dashboard.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- elasticsearch
- Domain
- observability, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100