26zl/zeek-peek

GitHub: 26zl/zeek-peek

面向 pfSense/OPNsense 及小型 Zeek 传感器的无 Agent 日志查看器,通过 SFTP 采集、DuckDB 存储、浏览器展示,无需部署 SIEM 即可快速浏览和分析网络流量日志。

Stars: 1 | Forks: 0

# zeek-peek 适用于 pfSense、OPNsense 及小型 Zeek 传感器的无 Agent Zeek 日志查看器 传感器(Netgate、Protectli、Raspberry Pi、迷你 PC)。通过 SFTP 拉取, DuckDB 存储,浏览器 UI。无需 SIEM,无需 Grafana,设备上无需安装 Agent。 ## 为什么 我为自己的 Netgate 1100(1 GB RAM,8 GB eMMC)构建了这个工具:Zeek 已经在防火墙上运行,而内置的 pfSense 日志查看器非常吃力, 在上面浏览日志十分痛苦。zeek-peek 将渲染工作卸载到另一台机器上, 因此防火墙只需通过 SFTP 提供日志字节流,这做起来很轻松。 任何在小盒子上运行 Zeek 的用户都应该能获得同样的好处。 专为以下环境构建: - 在 Netgate 设备或任何 x86 迷你 PC(Protectli、Qotom、Topton、通用 NUC)上的 pfSense / pfSense Plus - 在 Raspberry Pi、迷你 PC、VM 或 LXC 容器上的独立 Zeek 只要正确配置 Zeek 日志目录和 SSH 访问权限, 它应该也能与 OPNsense 及 `os-zeek` 插件配合使用。 唯一的要求是 Zeek 将 TSV 日志写入磁盘, 并且有一个具有读取权限的 SSH 用户。目前尚不支持 JSON 日志。 ## 技术栈 Python (FastAPI)、DuckDB、原生 JS。单进程,无需构建步骤。 ## 本地运行 ``` python3 -m venv .venv && source .venv/bin/activate pip install -r requirements.txt cp .env.example .env # set SSH_HOST and SSH_USER uvicorn main:app ``` 打开 。 ## 在 Docker 中运行 ``` mkdir -p secrets cp ~/.ssh/your_key secrets/id_key ssh-keyscan -H your.zeek.host > secrets/known_hosts cp .env.example .env # set SSH_HOST and SSH_USER docker compose up -d ``` ## 配置 所有设置均位于 `.env` 中。有关完整列表,请参见 `.env.example`。 必填项:`SSH_HOST`、`SSH_USER`。其他所有选项均有合理的默认值。 ## 存储 日志被流式传输到一个嵌入式 **DuckDB** 文件中。示例配置 设置 `DB_PATH=data/zeek.duckdb`。后台工作线程每隔 `INGEST_INTERVAL`(默认 30 秒) 从每个日志中提取新字节并将其插入到 `log_` 表中。 API 查询 DuckDB,并且仅在表为空时(冷启动)回退到仅使用 SFTP。 要禁用此功能,请在 `.env` 中设置 `DB_PATH=`,仪表板将恢复为 仅限 SFTP 的路径。Docker 设置将数据库持久化在一个命名卷 (`zeek-data`)中。 ## 端点 - `GET /`:前端 - `GET /api/health`:存活探针 - `GET /api/status`:SSH 状态、可用日志、数据库摄入状态 - `GET /api/log/{name}?limit=&since=&tail=&source=auto|db|ssh`:`{name}.log` 的最后几行 ## 安全 - 绑定到 `127.0.0.1`(默认)。无内置身份验证:如果需要暴露,请将其置于反向代理之后,或在网络层进行限制。 - 始终使用严格的 SSH 主机密钥验证。请通过 `ssh-keyscan -H ` 填充 `SSH_KNOWN_HOSTS`,或依赖系统的 `known_hosts`。 - 读取操作仅限 SFTP;在远程主机上不打开任何 Shell。 ## 开发 ``` pip install -r requirements-dev.txt ruff check . && ruff format --check . && mypy && pytest ``` ## 许可证 MIT,详见 [LICENSE](LICENSE)。
标签:AMSI绕过, AV绕过, Docker, DuckDB, FastAPI, IP 地址批量处理, Netgate, OISF, OPNsense, pfSense, Python, Rootkit, TCP SYN 扫描, TSV, Vanilla JS, Web UI, Zeek, 内存分配, 威胁检测, 安全防御评估, 嵌入式数据库, 开源安全工具, 数据可视化, 无代理, 无后门, 日志查看器, 日志管理, 网络安全, 网络流量分析, 请求拦截, 轻量级SIEM, 迷你主机, 逆向工具, 逆向工程平台, 防火墙, 隐私保护