CrowdSec

非官方 CrowdSec 插件,与 CrowdSec 无关联:在 EmDash 后台查看来自你的本地 API 的告警、封禁和主要威胁。

插件

CrowdSec

非官方 CrowdSec 插件,与 CrowdSec 无关联:在 EmDash 后台查看来自你的本地 API 的告警、封禁和主要威胁。

  • 分类: crowdsec
  • 状态: 可用
  • 版本: 0.1.3
  • 价格: 未知
  • 来源: 官方插件注册表
  • 安装方式: 注册表沙盒插件
  • 核实日期: 2026-10-21

描述

这是一个非官方插件,与 CrowdSec 没有关联,也未获得 CrowdSec 的认可或支持。

在 EmDash 后台查看 CrowdSec,数据通过它自己的机器登录账号,从你的 CrowdSec 本地 API 读取。

仪表盘上: 一张 CrowdSec 卡片,显示最近 24 小时的告警与之前 24 小时的对比、当前生效的封禁、按类型划分的告警(WAF、机器人验证、行为)以及热门场景。

CrowdSec 页面: 7、30 或 90 天内按类型划分的告警和每天发出的封禁,以及热门场景、来源地址、国家/地区、AS 组织和被攻击的路径。

告警: 已存储告警的浏览器。时间范围从一小时到保留的全部数据或自你上次访问以来,带有类型标签页、两种带直方图的分类视图、按地址段、国家/地区、场景、行为、网络、路径或引擎筛选、按地址分组的告警,以及每条告警的实时详情。

决策: LAPI 当前执行的决策,实时读取并按到期时间排序。

流量图表: 被防火墙拦截器丢弃的恶意流量,按社区黑名单、你自己的检测和手动封禁拆分;以及它占全部流量的比例、已检查和已拦截的 Web 请求、机器人验证,以及按来源统计的有效封禁。数据来自你自己的引擎和拦截器的指标,绝不来自 CrowdSec 的云端。

MCP 工具: 摘要、主要威胁、告警浏览器、流量、有效决策以及单个地址的告警,另外还有三个会修改数据的工具。

可选的修改功能: 开启“允许修改”后,管理员可以在固定时间内封禁某个地址或地址段、移除决策并删除旧告警。封禁绝不会涵盖你自己的地址、站点的地址、LAPI 主机的地址、你的受保护地址、私有地址空间或白名单中的地址。

日期按你的时区计算。需要站点能够访问的 CrowdSec LAPI。

安装

你需要:CrowdSec 1.7 或更高版本,且其本地 API 位于公网 HTTPS 主机名上(EmDash 会拒绝私有地址);以及在站点上设置 EMDASH_ENCRYPTION_KEY(npx emdash secrets generate 可生成)。

  1. 在 CrowdSec 主机上为插件创建一台机器:sudo cscli machines add emdash-crowdsec --auto -f /root/emdash-crowdsec.yaml。该文件保存其 ID 和密码。
  2. 把 LAPI 发布在反向代理之后,仅允许 EmDash 服务器的地址访问,并且只开放这些路由:POST /v1/watchers/login、GET /v1/alerts、GET /v1/alerts/。若需要修改功能,还要开放 POST /v1/alerts、DELETE /v1/alerts/、DELETE /v1/decisions/ 和 POST /v1/allowlists/check。切勿放行不带 id 的 DELETE /v1/decisions。请让该路径免于任何机器人验证。README 中有针对单个主机的 nginx 和 Traefik 示例。
  3. 从注册表安装插件。它唯一的权限是网络访问:访问你的 LAPI URL,以及在修改功能开启期间访问 cloudflare-dns.com。
  4. 在“插件”中打开插件的设置:输入 LAPI URL(不含 /v1)、机器 ID 和密码,以及你的时区。保存。
  5. 打开 插件、CrowdSec,选择“Check setup”。修复它指出的所有问题。
  6. 若要允许封禁和解封,请开启“允许修改”,并把你的服务器地址和家庭地址添加到“受保护地址”。

在 Cloudflare Workers 上,同步需要 EmDash 部署指南中说明的 Cron 触发器。要使用 MCP 工具,请在“插件”下为该插件开启 Agent 访问。

常见问题

这个插件会让我的 CrowdSec LAPI 变成公开的吗? 不会。EmDash 只允许插件调用公网 HTTPS 主机名,因此 LAPI 通过某个主机上的一条路径来访问,但前面的代理只放行你的 EmDash 服务器地址和插件使用的路由。其他所有人都会得到 403,并且每个请求还需要插件自己的机器登录凭据。LAPI 本身仍然监听在 127.0.0.1。README 中展示了配置方法。

登录失败,提示“incorrect Username or Password”,但密码是对的。 LAPI 会拒绝不符合 name/version 格式的 User-Agent。替换了插件 User-Agent 的代理会导致这种情况。

设置检查提示某个路由被拒绝(403)。 你的代理没有为 EmDash 服务器放行它。请按 README 所示添加。

为什么最初几天的数据偏低? 历史数据从最新的开始,一次读取一个时间窗口。读取尚未完成时,页面会有提示。

为什么“决策”列表比 cscli decisions list 短? 它只列出你自己的决策。社区黑名单和各类列表中还有数千条,它们以一个计数显示在列表上方。

为什么热门列表是近似值? 每天只保留出现频率最高的 25 个值,因此较少出现的值会被低估。

信誉徽章在哪里? 插件从不请求 CrowdSec 的云端。浏览器会显示本地提示:“Banned now”和“Seen before”。

我的 LAPI 收集来自多台主机的告警。 每条告警都会保留触发它的引擎。请在“Engine names”设置中为它们命名。

为什么我无法删除这条告警? 删除它会连带删除其决策,而拦截器完全不会得知这一点。请先移除该决策,两分钟后再删除告警。

为什么我的封禁被拒绝了? 消息中会指明触发的规则。README 中列出了全部规则。

流量图表的数据来自哪里? 来自你自己的引擎和防火墙拦截器的指标,绝不来自 CrowdSec 的云端。请在设置中填写它们的 URL。

日期按哪个时区计算? 按“Time zone”设置,除非更改,默认为 Australia/Sydney。无法识别的名称会暂停同步,历史数据会保留。

安全

请通过仓库的安全公告表单私下报告安全问题:https://github.com/shanelord01/emdash-crowdsec/security/advisories/new

插件能访问什么

只有网络请求,且仅限两个地方:你输入的 LAPI URL,以及在“允许修改”开启期间用于查询站点和 LAPI 主机地址的 cloudflare-dns.com。它无法访问你的内容、用户或媒体。它只使用 README 中列出的 LAPI 路由,从不使用带过滤条件的 DELETE /v1/decisions,也从不批量删除告警,并且不跟随任何重定向,因此密码绝不会发送到其他主机。明文 HTTP 以及带有凭据的 URL 会被拒绝。

凭据

机器密码使用 EMDASH_ENCRYPTION_KEY 加密保存。LAPI 令牌从不存储:每次运行都会登录并把它保留在内存中。请为插件配备专用的机器账号,并发布 LAPI,使得只有 EmDash 服务器和插件的路由能够通过。

谁能做什么

编辑和管理员可以看到卡片、页面和只读工具。只有管理员可以更改任何内容,并且只有在“允许修改”开启时才可以。在这些页面上,插件会自己检查角色。写入类工具的路由由 EmDash 限制为仅管理员可用。

封禁保护

当封禁涵盖以下任何一项时,会被拒绝并指明相应规则:请求者的地址(对于 MCP 工具,则是客户端的出口地址)、站点或 LAPI 主机的地址、“受保护地址”中的条目、私有、环回、链路本地、CGNAT(包括 Tailscale 的 100.64.0.0/10)、组播或保留地址空间、宽于 /16 或 /48 的地址段,或 CrowdSec 白名单条目(会最先检查,因为 LAPI 对手动封禁会跳过它)。携带 IPv4 的 IPv6 按其中的 IPv4 地址判断,Teredo 会被拒绝。任何一条错误的受保护条目都会导致所有修改被拒绝。

删除告警

只有当某条告警的决策已结束两分钟以上时,才会删除它,因为删除告警会连带删除其决策,而拦截器完全不会得知这一点。

更新日志

0.1.3

  • 在 EmDash 1.2 及更高版本中,这些页面会归入侧边栏的同一个 CrowdSec 文件夹(Overview、Alerts、Decisions)。它们的地址不变,较旧的 EmDash 仍会逐个列出。
  • 按来源统计的有效封禁需要引擎的 Prometheus level: full。README 的 Metrics 一节对此有说明。
  • 没有新增权限,MCP 工具也没有变化。

0.1.2

  • 告警浏览器的筛选器排成一行,选择后立即生效。

0.1.1

  • CrowdSec 告警页面变成了浏览器:时间范围从一小时到全部历史,或自你上次访问以来;类型标签页;两种可切换的带直方图的分类视图;以标签形式显示的筛选器;按地址分组的告警,可查看每个地址以及每条告警的实时详情;以及“Banned now”和“Seen before”提示。
  • 引擎:每条告警都会保留触发它的 CrowdSec 代理,可作为分类视图和筛选条件;当存在多个引擎时,还会有一列和一个图表,名称在“Engine names”设置中指定。
  • 新增 MCP 工具 alerts_explorer。更新时 EmDash 会再次请求 Agent 访问权限。
  • 已存储的告警会在最初几次同步时迁移到精简的告警日志中。
  • 移除了演示数据:插件需要可访问的 LAPI。曾使用演示数据的安装会要求填写 LAPI 设置,并在设置完成后清除其演示数据行。
  • 更简短的时间显示、更窄的表格、以三天为一柱的 90 天页面,以及无需访问仪表盘就会按其设置运行的指标采样器。

0.1.0

首次发布:仪表盘卡片、CrowdSec 页面、告警和决策页面、设置检查、流量图表、八个 MCP 工具,以及供管理员使用的可选封禁、解封和删除告警功能,并带有针对你自己地址的保护。

完整历史:CHANGELOG.md。