用途:管理 CrowdSec 协作式入侵防御系统,覆盖安装、bouncer、collection、scenario、hub、决策、告警与排查。
主要能力与架构:三层结构缺一不可。Agent(crowdsec.service)通过 acquis.yaml 读取日志,经解析器规范化,由 scenario 检测攻击模式,决策写入 LAPI(本地 API,默认 127.0.0.1:8080);bouncer 轮询 LAPI 并在网络或应用层执行封禁。CrowdSec 负责检测与决策,bouncer 负责执行,未安装并注册 bouncer 时数据库有封禁但流量不会被拦截。
配置与路径:主配置 /etc/crowdsec/config.yaml,日志源 /etc/crowdsec/acquis.yaml,决策配置 /etc/crowdsec/profiles.yaml,决策库 /var/lib/crowdsec/data/crowdsec.db;日志用 journalctl -u crowdsec 或 /var/log/crowdsec/crowdsec.log。安装可用官方脚本 curl -s https://packagecloud.io/install/repositories/crowdsec/crowdsec/script.deb.sh | sudo bash 或发行版仓库。
常用操作:systemctl status crowdsec;sudo cscli version;sudo cscli alerts list;sudo cscli decisions list;sudo cscli decisions delete --ip 1.2.3.4;sudo cscli decisions add --ip 1.2.3.4 --duration 24h --reason "manual ban";sudo cscli bouncers list;sudo cscli collections list;sudo cscli collections install crowdsecurity/nginx;sudo cscli hub update;sudo cscli hub upgrade;sudo cscli scenarios inspect crowdsecurity/ssh-bf;sudo cscli explain --log "Failed password for root" --type sshd;sudo cscli metrics;sudo systemctl reload crowdsec。
限制与注意:acquis.yaml 不自动发现日志,需逐服务添加。应安装 collection 而非单个解析器。Hub 项独立于二进制版本,升级后需 cscli hub update 与 hub upgrade。永久例外写入 /etc/crowdsec/allowlists.yaml 并在 config.yaml 引用。社区黑名单需免费账号注册并执行 sudo cscli console enroll <token>,否则仅本地生效。防火墙 bouncer 有 iptables 与 nftables 变体,现代系统默认 nftables,装错会静默失效。单节点无需对外端口。
故障排查:bouncer 报 LAPI not reachable 检查服务与 api_url;无告警检查 acquis.yaml 与解析器;有决策未拦截检查 bouncer;scenario 不触发用 cscli explain 核查解析;误封可删除决策或加白名单。
其他细节与示例配置暂未提供。