plan-b-systems/siem-docker

GitHub: plan-b-systems/siem-docker

基于 Docker 的轻量级本地 SIEM 解决方案,集成 OpenSearch 存储、Next.js 仪表盘和 AI 日志分析,面向网络设备 syslog 日志的集中采集、威胁检测与取证调查。

Stars: 0 | Forks: 0

# Plan-B Systems SIEM v2.1 本地 SIEM 设备,具有品牌仪表盘、syslog 数据接入、OpenSearch 存储、自动许可证管理和可选的 AI 日志分析功能。 v1/Graylog 已停用。支持的部署路径是 `main` 分支中的 v2.1 技术栈。 ## 架构 ``` Network devices | syslog UDP:514 / TCP:1514 v plan-b-syslog (Node.js) | parsed RFC 3164/5424/FortiGate logs v plan-b-opensearch (OpenSearch 2.x) | logs, settings, retention policies v plan-b-dashboard (Next.js) plan-b-license-checker (Python) | daily license check + encrypted AI key delivery v Plan-B cloud license API ``` ## 容器 | 容器 | 用途 | 暴露端口 | |-----------|---------|----------| | `plan-b-opensearch` | 日志存储、搜索、保留 | 内部 Docker 网络 | | `plan-b-syslog` | Syslog 接收器和解析器 | UDP `514`, TCP `1514` | | `plan-b-dashboard` | Web UI、健康检查、取证、AI 聊天 | HTTP `3000` | | `plan-b-license-checker` | 许可证验证和 AI 密钥分发 | 内部 Docker 网络 | ## 系统要求 | 组件 | 最低要求 | 推荐配置 | |-----------|---------|-------------| | CPU | 2 核 | 4 核 | | RAM | 4 GB | 8 GB+ | | Disk | 40 GB | 200 GB+ | | OS | Ubuntu 22.04/24.04 或带 WSL2 的 Windows 10/11 | Ubuntu 24.04 | | Docker | 24.0+ | 最新版 | ## 一键安装 Linux: ``` curl -fsSL https://raw.githubusercontent.com/plan-b-systems/siem-docker/main/install-linux.sh | sudo bash ``` Windows,在 PowerShell 中以管理员身份运行: ``` irm https://raw.githubusercontent.com/plan-b-systems/siem-docker/main/install.ps1 | iex ``` 详细指南: | 平台 | 指南 | |----------|-------| | Ubuntu/Linux | [UBUNTU-DEPLOY.md](UBUNTU-DEPLOY.md) | | Windows | [WINDOWS-DEPLOY.md](WINDOWS-DEPLOY.md) | ## 安装提示 | 提示 | 描述 | 示例 | |--------|-------------|---------| | Client name | 简短的站点标识符,不含空格 | `acme-tlv` | | Client ID | Plan-B 门户中的许可证 ID | `BYI-tWuwmUCprt0XdX1w` | | LAN IP | 设备网络 IP | `192.168.1.100` | | Dashboard password | 初始管理员密码 | `MySecurePass1` | | Timezone | TZ 数据库名称 | `Asia/Jerusalem` | | Retention | 日志保留天数 | `730` | | Data path | 可选的外部存储路径 | `/mnt/siem-data` | ## 仪表盘 URL: ``` http://:3000 ``` 主要页面: | 页面 | 用途 | |------|---------| | Overview | 日志量、严重程度分布、主要来源、时间线 | | Threats | 高严重性筛选、攻击时间线、来源关联 | | Forensics | 可搜索的日志查看器、筛选器、分页、CSV 导出 | | Sources | 设备清单、最后出现时间、健康状态、严重性摘要 | | Health | 磁盘、内存、EPS、OpenSearch、许可证状态 | | Settings | 语言、时区、保留策略、客户端信息、OpenSearch 状态 | | AI Chat | 授权后由 Claude 驱动的日志调查功能 | ## 日志来源 | 协议 | 端口 | 用例 | |----------|------|----------| | Syslog UDP | `514` | 防火墙、交换机、路由器 | | Syslog TCP | `1514` | 服务器和可靠传输 | 支持的解析包括 RFC 5424、RFC 3164 和 FortiGate 的 key=value 日志。 rsyslog 转发示例: ``` *.* @@:1514 ``` FortiGate 示例: ``` config log syslogd setting set status enable set server "" set port 514 set facility local0 end ``` ## 许可证检查器 许可证检查器会在每天当地时间 12:00 验证 Plan-B 订阅状态。 | 状态 | 服务 | 检查间隔 | |-------|----------|----------------| | `NORMAL` | 所有服务运行中 | 每天 12:00 | | `GRACE_PERIOD` | 宽限期内所有服务运行中 | 每天 12:00 | | `EXPIRED` | Syslog 和仪表盘已停止 | 每 10 分钟 | 常用命令: ``` docker exec plan-b-license-checker cat /data/license_state.json docker restart plan-b-license-checker ``` ## 配置 安装程序会写入 `/opt/plan-b-siem/config.env`。 重要变量: | 变量 | 描述 | |----------|-------------| | `CLIENT_NAME` | 站点标识符 | | `CLIENT_ID` | Plan-B 门户中的许可证 ID | | `HOST_IP` | 设备局域网 IP | | `DASHBOARD_PASSWORD` | 初始仪表盘密码 | | `TIMEZONE` | 本地时区 | | `RETENTION_DAYS` | 日志保留期 | | `OPENSEARCH_HEAP_SIZE` | OpenSearch JVM 堆内存 | | `SYSLOG_UDP_PORT` | Syslog UDP 端口 | | `SYSLOG_TCP_PORT` | Syslog TCP 端口 | | `DASHBOARD_PORT` | 仪表盘 Web 端口 | | `LICENSE_API_URL` | Plan-B 云许可证端点 | | `CLIENT_SECRET` | 用于 AI 密钥分发的可选密钥 | | `DATA_PATH` | 可选的外部存储路径 | ## 常用命令 ``` # Stack 状态 docker compose --env-file config.env ps # 实时日志 docker compose --env-file config.env logs -f # 重启 dashboard docker restart plan-b-dashboard # 检查日志计数 docker exec plan-b-opensearch curl -s localhost:9200/logs-*/_count # Health check ./resilience/health-check.sh # 停止所有内容 docker compose --env-file config.env down # 启动所有内容 docker compose --env-file config.env up -d ``` ## 仓库结构 ``` siem-docker/ ├── install-linux.sh # Linux one-line bootstrap ├── deploy-ubuntu.sh # Linux interactive deploy ├── install.ps1 # Windows one-line bootstrap ├── deploy-windows.ps1 # Windows deploy ├── docker-compose.yml # Linux compose stack ├── docker-compose.windows.yml # Windows/WSL compose stack ├── config.env.template # Installer config template ├── dashboard/ # Next.js dashboard ├── syslog-receiver/ # Node.js syslog receiver ├── license-checker/ # Python license checker ├── resilience/ # Health checks and auto-start helpers ├── UBUNTU-DEPLOY.md └── WINDOWS-DEPLOY.md ``` ## 技术支持 Plan-B Systems - https://plan-b.systems
标签:AI分析, AMSI绕过, CIDR输入, Docker, FortiGate, GNU通用公共许可证, Google搜索, Graylog, HTTP/HTTPS抓包, MITM代理, MongoDB, Node.js, OISF, Python, Syslog, 合规监控, 威胁检测, 子域名变形, 安全仪表盘, 安全运营, 安全防御评估, 容器化部署, 密码管理, 态势感知, 扫描框架, 无后门, 无线安全, 日志管理, 日志解析, 日志采集, 本地部署, 特权提升, 系统运维, 网络安全, 网络安全审计, 自动化攻击, 自动化部署, 证书伪造, 请求拦截, 逆向工具, 隐私保护