Repolode
TheDuffman85

TheDuffman85/crowdsec-web-ui

自托管的 CrowdSec 网页控制台,用于查看告警、管理封禁决策、监控运行指标并发送通知。

Star
952
Fork
48
未关闭 Issue
4
最近提交
20小时前

这是什么?

CrowdSec Web UI 是一个自托管的控制台,可连接一个或多个 CrowdSec Local API(LAPI)。用户可以通过搜索和快速筛选浏览告警历史,查看每条告警背后的 CrowdSec 上下文,并查看生效中和已过期的决策。界面中还能手动添加自定义时长和原因的封禁,并执行清理操作。

多个 CrowdSec 实例可以在仪表盘、告警和决策页面中合并为统一视图。可选的 Prometheus 指标页面覆盖 LAPI 活动、bouncer、AppSec、解析器和白名单等内容。通知规则支持告警、决策、CVE、服务可用性和更新提醒,投递渠道包括邮件、Gotify、MQTT、ntfy 和 Webhook。

应用由 Node.js 服务端与 React 前端组成,数据存储在 SQLite 中,并以 Docker 镜像形式提供。安全方面支持密码与 TOTP 登录、通告密钥(passkey)、基于用户组角色的 OIDC 单点登录,以及实例级只读模式。

核心功能

  • 01可搜索告警历史,并查看 CrowdSec 上下文及 IP、AS、地理位置详情
  • 02管理生效中与已过期的决策,支持自定义时长的手动封禁
  • 03可连接多个 CrowdSec LAPI,并提供合并视图
  • 04可选的 Prometheus 指标页面,涵盖 LAPI、bouncer、AppSec 和解析器
  • 05通知规则支持邮件、Gotify、MQTT、ntfy 和 Webhook
  • 06支持密码、TOTP、通行密钥及基于用户组角色的 OIDC 单点登录

适用场景

  • 在多台服务器上运行 CrowdSec、希望用一个面板统一查看所有 LAPI 的运维人员
  • 需要审查告警并手动封禁或解封 IP、但不想使用命令行的团队
  • 希望在新告警和决策出现时收到推送通知的家庭实验室或小团队管理员
  • 需要将 CrowdSec 访问与现有 OIDC 身份提供方集成的组织

快速上手

  1. 1

    用 openssl 生成随机密码

    openssl rand -hex 32
  2. 2

    在 CrowdSec 容器中将 Web UI 注册为机器

    docker exec crowdsec cscli machines add crowdsec-web-ui --password 'replace-with-generated-password' -f /dev/null
  3. 3

    使用随附的 docker-compose.yml 通过 Docker Compose 启动 Web UI

    docker compose up -d
  4. 4

    在浏览器中打开 http://localhost:3000 并创建初始管理员账户

使用前须知

  • 需要一个正在运行的 CrowdSec LAPI 才能连接。
  • 采用 AGPL-3.0 许可证,这是一种强 Copyleft 许可证。
  • 公开部署应放在 HTTPS 和加固的反向代理之后,因为应用本身不处理 TLS。
  • 早于身份验证功能的迁移安装在明确启用之前不会进行身份验证。

收录于专题

标签

#crowdsec#security-dashboard#intrusion-detection#self-hosted#docker#prometheus#notifications#oidc#crowdsec-lapi#crowdsec-manager

常见问题

crowdsec-web-ui 是什么?
自托管的 CrowdSec 网页控制台,用于查看告警、管理封禁决策、监控运行指标并发送通知。 CrowdSec Web UI 是一个自托管的控制台,可连接一个或多个 CrowdSec Local API(LAPI)。用户可以通过搜索和快速筛选浏览告警历史,查看每条告警背后的 CrowdSec 上下文,并查看生效中和已过期的决策。界面中还能手动添加自定义时长和原因的封禁,并执行清理操作。
crowdsec-web-ui 可以免费使用吗?用的什么许可证?
crowdsec-web-ui 以 AGPL-3.0 许可证开源。用于商业产品前,请先确认许可证条款。
crowdsec-web-ui 还在维护吗?
活跃维护中。crowdsec-web-ui 最近一次提交是在 2026年11月6日。
crowdsec-web-ui 适合用来做什么?
在多台服务器上运行 CrowdSec、希望用一个面板统一查看所有 LAPI 的运维人员 需要审查告警并手动封禁或解封 IP、但不想使用命令行的团队 希望在新告警和决策出现时收到推送通知的家庭实验室或小团队管理员 需要将 CrowdSec 访问与现有 OIDC 身份提供方集成的组织
crowdsec-web-ui 怎么安装和运行?
用 openssl 生成随机密码: openssl rand -hex 32 在 CrowdSec 容器中将 Web UI 注册为机器: docker exec crowdsec cscli machines add crowdsec-web-ui --password 'replace-with-generated-password' -f /dev/null 使用随附的 docker-compose.yml 通过 Docker Compose 启动 Web UI: docker compose up -d 在浏览器中打开 http://localhost:3000 并创建初始管理员账户
在哪里获取 crowdsec-web-ui?
源代码和安装说明在 GitHub 上:https://github.com/TheDuffman85/crowdsec-web-ui

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目