
公众号
在为我的服务器项目寻找一款稳定可靠的安全防护方案时,我对市面上的主流工具进行了深入对比。最终,我毫不犹豫地选择了 CrowdSec。
这不是一次“随便试试”的尝试,而是一场有依据、有实践、有收获的技术落地。今天这篇文章,我就来和你聊聊:
CrowdSec 是一款 免费开源的日志行为分析工具,通过社区协作共享恶意 IP 情报,从而形成一张不断进化的安全防线。
它的核心理念很简单:
“你发现的攻击者,也可能是别人今天要防御的目标。”
部署 CrowdSec 后,它的工作机制如下:
组件 | 作用 |
|---|---|
Agent | 分析日志,提取可疑行为 |
LAPI(Local API) | 中央逻辑中枢,连接 Agent 与 Bouncer |
Bouncer | 实际执行拦截任务(如阻断 IP) |
cscli | 命令行工具,用于配置和管理规则 |
为了更好地评估效果,我对比了市面上的几款常见安全工具:
特性 / 工具 | CrowdSec | Fail2Ban | Suricata |
|---|---|---|---|
开源性 | ✅ 是 | ✅ 是 | ✅ 是 |
威胁情报 | 🌍 社区共享,实时更新 | 📄 本地规则,孤立运行 | ⌛ 免费规则有延迟 |
Web 防护 | ✔️ 原生支持 Nginx | ⚠️ 手动配置正则 | ❌ 无内建支持 |
检测方式 | 📜 日志行为分析 | 🔍 日志匹配 | 🌐 网络流量分析 |
防护手段 | 多层:Nginx + 防火墙 | 防火墙为主 | 需 IDS/IPS 硬件 |
上手难度 | 🟢 友好,支持仪表盘 | 🟢 简单但无界面 | 🔴 配置复杂需专业知识 |
性能影响 | 🟢 极小,适合轻量服务器 | 🟢 轻量 | 🔴 占用高 |
以下为 Ubuntu 20.04 / 22.04 安装步骤:
curl -s https://packagecloud.io/install/repositories/crowdsec/crowdsec/script.deb.sh | sudo bash
sudo apt update && sudo apt install -y crowdsec
sudo apt install -y crowdsec-nginx-bouncer
可选:支持防火墙方式拦截:
sudo apt install -y crowdsec-firewall-bouncer-iptables
sudo systemctl status crowdsec
sudo systemctl status crowdsec-nginx-bouncer
CrowdSec 会读取如下日志:
filenames:
- /var/log/nginx/access.log
- /var/log/nginx/error.log
- /var/log/auth.log # SSH 相关
labels:
type: nginx
sudo cscli collections install crowdsecurity/nginx
sudo cscli collections install crowdsecurity/http-cve
编辑配置文件(如 /etc/nginx/nginx.conf),加入:
http {
...
include /etc/nginx/crowdsec.conf;
}
然后重启 Nginx:
sudo systemctl restart nginx
CrowdSec 推荐使用在线控制台https://app.crowdsec.net/signup或临时部署本地仪表盘(未来将弃用):
sudo cscli dashboard setup --listen 0.0.0.0 --port 8080 --password <your_password>
sudo cscli collections list
sudo cscli scenarios list
sudo cscli decisions list
# 封禁 IP
sudo cscli decisions add --ip 1.2.3.4 --duration 24h --reason "cilikube_attack"
# 解除封禁
sudo cscli decisions delete --ip 1.2.3.4
curl http://<your_server_ip>/%2e%2e/%2e%2e/etc/passwd
sudo tail -f /var/log/crowdsec.log
过去,我常常忽略访问日志中那些不起眼的“异常请求”。直到有一天,我看到有人尝试遍历路径、探测系统文件,我才意识到,防护应当在攻击之前就准备好。
CrowdSec 不仅帮我建立起第一道防线,更重要的是,它让我站在全球社区的肩膀上,第一时间就能识别新的威胁来源。
如果你正在运营自己的站点、服务或者小型项目,不妨亲自试试 CrowdSec。
安全这事,早点做,才不晚。