CrowdSec 防火墙联防配置教程

CrowdSec 是一个开源的协作式安全引擎,通过分析日志检测攻击行为,并借助社区共享的威胁情报实现联防。与传统的 Fail2Ban 相比,CrowdSec 不仅能分析更多类型的日志,还能从全球社区获取恶意 IP 黑名单,实现主动防御。本文将介绍如何在搬瓦工 VPS 上部署 CrowdSec 并配置防火墙 Bouncer,构建完整的入侵防御体系。

一、CrowdSec 架构简介

CrowdSec 的架构主要包含三个组件:

  • CrowdSec 引擎(Agent):负责解析日志,根据场景(Scenarios)检测攻击行为,生成决策(Decisions)。
  • 本地 API(LAPI):存储决策信息,供 Bouncer 查询。引擎和 Bouncer 都通过 LAPI 通信。
  • Bouncer:执行决策的组件,例如防火墙 Bouncer 会将恶意 IP 添加到 iptables 或 nftables 中进行封禁。

此外,CrowdSec 还可以连接中央 API(CAPI),从社区获取全球威胁情报,也可以将本地检测到的攻击上报给社区。

二、系统要求

  • 操作系统:Ubuntu 20.04+、Debian 11+、CentOS 7+。
  • 内存:至少 256MB 可用内存。
  • 磁盘:至少 500MB 可用空间。
  • 网络:需要访问外网以获取社区情报(可选)。

搬瓦工所有 KVM 方案均满足以上要求。如果尚未购买 VPS,可以参考搬瓦工全部方案选购,使用优惠码 NODESEEK2026 可享受 6.77% 的折扣。

三、安装 CrowdSec 引擎

3.1 添加软件源(Ubuntu/Debian)

curl -s https://install.crowdsec.net | bash

该脚本会自动检测系统版本并添加对应的软件源。

3.2 安装 CrowdSec

apt update
apt install crowdsec -y

CentOS 用户使用:

yum install crowdsec -y

3.3 验证安装

systemctl status crowdsec
cscli version

安装完成后,CrowdSec 会自动检测系统上已有的服务(如 SSH、Nginx、Apache)并安装对应的日志采集器。

3.4 查看自动检测结果

# 查看已安装的采集器
cscli collections list

# 查看已安装的解析器
cscli parsers list

# 查看已安装的场景
cscli scenarios list

四、安装防火墙 Bouncer

4.1 安装 cs-firewall-bouncer

apt install crowdsec-firewall-bouncer-iptables -y

如果系统使用 nftables,可以安装 nftables 版本:

apt install crowdsec-firewall-bouncer-nftables -y

4.2 验证 Bouncer 注册

cscli bouncers list

输出应显示已注册的防火墙 Bouncer 及其 API 密钥。

4.3 配置 Bouncer

Bouncer 的配置文件位于 /etc/crowdsec/bouncers/crowdsec-firewall-bouncer.yaml,主要配置项包括:

mode: iptables
update_frequency: 10s
api_url: http://localhost:8080/
api_key: YOUR_API_KEY
disable_ipv6: false
deny_action: DROP
deny_log: true
deny_log_prefix: "crowdsec: "

其中 deny_action 可以设为 DROP(直接丢弃)或 REJECT(拒绝并返回信息),推荐使用 DROP

4.4 启动 Bouncer

systemctl enable crowdsec-firewall-bouncer
systemctl start crowdsec-firewall-bouncer
systemctl status crowdsec-firewall-bouncer

五、安装常用规则集

CrowdSec 通过 Hub 提供大量社区维护的规则集。以下是常用的安装命令:

# 安装 Nginx 相关规则
cscli collections install crowdsecurity/nginx

# 安装 SSH 暴力破解检测
cscli collections install crowdsecurity/sshd

# 安装 HTTP 扫描检测
cscli collections install crowdsecurity/http-cve

# 安装基础 Linux 规则
cscli collections install crowdsecurity/linux

# 更新所有规则到最新版本
cscli hub update
cscli hub upgrade

六、日常管理命令

6.1 查看当前决策

# 查看所有活跃的封禁决策
cscli decisions list

# 查看特定 IP 的决策
cscli decisions list --ip 192.168.1.100

6.2 手动管理 IP

# 手动封禁一个 IP(持续 24 小时)
cscli decisions add --ip 1.2.3.4 --duration 24h --reason "manual ban"

# 手动封禁一个网段
cscli decisions add --range 1.2.3.0/24 --duration 48h --reason "subnet ban"

# 解封一个 IP
cscli decisions delete --ip 1.2.3.4

6.3 查看告警

# 查看最近的告警
cscli alerts list

# 查看告警详情
cscli alerts inspect 1

6.4 白名单配置

编辑 /etc/crowdsec/parsers/s02-enrich/whitelists.yaml,添加信任的 IP:

name: crowdsecurity/whitelists
description: "Whitelist trusted IPs"
whitelist:
  reason: "trusted ip"
  ip:
    - "YOUR_HOME_IP"
    - "10.0.0.0/8"
  cidr:
    - "192.168.0.0/16"

修改后重启 CrowdSec:

systemctl restart crowdsec

七、接入社区威胁情报

CrowdSec 默认会连接中央 API,获取社区共享的恶意 IP 列表。你可以在 CrowdSec 控制台注册账号,获取更多功能:

# 注册到 CrowdSec 控制台
cscli console enroll YOUR_ENROLLMENT_KEY

注册后可以在 Web 控制台查看服务器的安全状态、告警统计和封禁列表。

订阅第三方黑名单

# 查看可用的黑名单
cscli blocklists list

# 订阅指定黑名单
cscli blocklists add crowdsecurity/tor-exit-nodes

八、监控与日志

# 查看 CrowdSec 运行指标
cscli metrics

# 查看实时日志
journalctl -u crowdsec -f

# 查看 Bouncer 日志
journalctl -u crowdsec-firewall-bouncer -f

cscli metrics 会展示已解析的日志行数、触发的场景次数、活跃的决策数量等关键指标,便于了解系统运行状态。

九、与 Fail2Ban 的对比

  • 社区情报:CrowdSec 可以从全球社区获取恶意 IP 列表,Fail2Ban 只能基于本地日志。
  • 性能:CrowdSec 使用 Go 语言编写,日志处理速度远超 Fail2Ban 的 Python 实现。
  • 规则丰富度:CrowdSec Hub 提供大量社区维护的规则,覆盖面更广。
  • 架构灵活性:CrowdSec 的引擎与 Bouncer 分离,可以灵活部署在不同位置。

十、常见问题

Bouncer 没有封禁 IP

检查 Bouncer 是否正常运行并已注册到 LAPI:

cscli bouncers list
systemctl status crowdsec-firewall-bouncer

确认 iptables 中有 CrowdSec 的规则链:

iptables -L -n | grep -i crowdsec

日志没有被解析

检查采集器配置是否正确:

cscli machines list
cat /etc/crowdsec/acquis.yaml

确保日志文件路径正确且 CrowdSec 有读取权限。

总结

CrowdSec 是一款强大的协作式安全防护工具,通过社区共享的威胁情报和灵活的规则引擎,能够有效保护搬瓦工 VPS 免受暴力破解、端口扫描和 Web 攻击等威胁。结合防火墙 Bouncer,可以实现自动化的 IP 封禁和解封。如果你还需要更多安全防护,可以参考 Suricata 入侵检测GVM/OpenVAS 漏洞扫描教程。选购搬瓦工 VPS 请查看全部方案,购买时使用优惠码 NODESEEK2026 可享受折扣。相关问题可通过搬瓦工官网提交工单咨询。

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。