Web 控制台
通过浏览器管理 SIREN 远程模式
Web 控制台是 SIREN Server 的浏览器入口。它覆盖日常远程操作:Project 工作区、客户端列表、浏览器 Shell、Agentic IR、调查任务、文件管理、Artifacts 和 Dossier。需要在控制主机终端里直接操作时,可以改用 服务端 REPL。
启动与访问
启用 webui.enabled 时,Web 控制台会随 siren_server 启动。默认监听 0.0.0.0:8080:
./siren_server启动后访问:
http://<SIREN Server IP>:8080端口统一
Web 控制台和 MCP 服务 共用 webui.listen / webui.port。浏览器访问根路径,MCP 客户端访问 /mcp。两者的启停开关相互独立,分别是 webui.enabled 和 mcp.enabled。
账号鉴权
Web 控制台使用 Session Cookie 鉴权。账号密码存储在 SQLite 数据库中,密码会先做 bcrypt 哈希,默认数据库路径是 data/users.db。
安全注意
用户数据库不存在,或数据库里没有任何用户时,Web 控制台会关闭鉴权并允许匿名访问。部署到公网前必须先创建至少一个用户。
管理用户账号
数据库路径一致性
data/users.db 默认相对当前工作目录解析。如果 siren_server user add 和 siren_server 在不同目录执行,可能会读写两份数据库。建议在 server_config.yaml 中配置绝对路径:
webui:
userDBPath: /opt/siren/data/users.db或者在 systemd unit 中设置 WorkingDirectory。
功能页面
Projects
Clients
Shells
Agentic IR
Investigations
Files
Artifacts
Dossier
Projects
Project 是应急响应工作区,用于把客户端、Artifacts 目录和操作目标放到同一个上下文中。每个 Project 创建时会固定一个服务端目录,例如 /opt/siren/my-project;之后重命名 Project 只改变显示名,不移动目录。
Projects 页面支持:
- 创建 Project,并可指定目录名。目录名只能是 basename,最终目录必须位于
webui.projectsBaseDir下。 - 复制 Project 目录路径,便于在控制主机上查看或归档。
- 重命名 Project。重命名只修改显示名,不移动目录。
- 删除 Project。删除只移除元数据并解除客户端归属,目录和文件会保留。
- 在 Global 视图和 Project 视图之间切换。Project 视图只显示当前 Project 的客户端和取证目录。
客户端最多归属到一个 Project。未归属客户端只在 Global 视图中出现;进入 Project 视图后,Clients、Shells、Agentic IR、Files 和 Investigations 都只允许选择当前 Project 的客户端。
部署归属
在 Project 视图下通过 Web 控制台单机或批量部署 SIREN 客户端时,服务端会记录本次部署目标的 Allow IP。客户端下一次从该 IP 连接后会自动归属到当前 Project。服务端 REPL 部署不带 Project 上下文,仍保持全局行为。
Clients
Clients 页面对应服务端 REPL 的 ls、note、allow、deploy 和 clean。每行展示一个在线客户端,支持:
- 编辑备注。备注绑定到客户端稳定身份,客户端重连后会自动恢复。
- 分配 Project。Global 视图中可以把客户端分配到某个 Project,或移回未归属状态。
- 打开快捷入口。从客户端行可直接进入 Files 或 Process Analysis。
- 执行 SOAR 操作,包括
allow放行、单机部署、批量部署。 - 清理客户端。清理操作会弹出 Clean & Terminate 二次确认。
批量部署规则
批量部署支持同一 UID 下的 2-20 台 ECS。Batch 模式每行输入 instanceId、instanceId,publicIp 或 instanceId,publicIp,note;只填写备注时可写成 instanceId,,note。默认并发 3 台,单台失败不会中断其他目标。
Shells
Shells 页面提供浏览器内的交互式终端。每个客户端可以打开多个终端标签,切换到 Clients、Agentic IR 或 Artifacts 页面时,已打开的 Shell 会话仍保持运行,回到 Shells 页后可以继续输入。
Project 视图下,Shell 只能连接当前 Project 的客户端。切换 Project 或切回 Global 时,Web 控制台会关闭不属于新视图的活动 Shell,避免继续操作错误项目中的主机。
Agentic IR
Agentic IR 页面在浏览器内嵌终端中运行 Claude Code 或 Codex,用于完成 Agentic 应急响应。页面支持选择 Provider、新建会话,也支持恢复当前视图工作目录对应的历史会话。
新建会话可选以下入口模式:
- Manual,不带 SIREN 上下文的裸 CLI 终端,适合临时通用操作。
- Custom,选择客户端并输入应急响应指令。
- Event,选择客户端并输入阿里云 UID 和云安全中心告警 ID,由服务端拉取告警详情。
也可以切换到 Resume 模式,搜索并选择当前视图工作目录对应的历史会话,用原 session ID 在终端中继续该会话。
恢复范围
Resume 只读取当前视图工作目录对应的 Provider history,不会跨 Project 列出其他目录的历史会话,也不会向浏览器暴露本机 JSONL 文件路径。
会话托管在服务端。刷新浏览器或切换页面后,可以重新接入并回放此前输出,进程不会因为页面离开而中断。除 Manual 外,会话会使用 SIREN MCP,因此需要启用 MCP 服务。Project 视图下的工作目录、历史恢复和 MCP 作用域规则见 Agentic 应急响应。
Investigations
Investigations 页面用于承载需要等待结果的调查工具,目前包含 AccessKey 调查、客户端 Recon 和进程分析。
- AccessKey,输入 Alibaba Cloud UID、AccessKey ID 和可选 Region,生成 Markdown 调查报告。Region 留空时默认
cn-hangzhou。AccessKey 调查不绑定客户端,报告写入 Global Artifacts。 - Recon,选择在线客户端并下发信息收集命令。页面展示服务端从客户端日志中解析出的阶段,例如
Recon.Basic、Recon.User、Recon.Process和Save report to Artifacts。 - Process Analysis,选择 Linux 客户端后,按 PID、监听端口或进程名查询进程详情。按名称匹配到多个进程时,页面会列出候选项,点击候选 PID 后继续分析。
- 报告入口,调查结束后会显示 Open Artifacts 按钮。Recon 报告跟随客户端 Project 归属保存;已归属客户端写入 Project 目录,未归属客户端写入 Global Artifacts。
进度展示原则
Web 控制台只展示服务端能真实观测到的阶段。AccessKey 调查只显示 playbook 运行状态;Recon 阶段来自客户端实际回传日志;Process Analysis 是一次同步查询,完成后直接展示结果或错误。
Files
Files 页面用于浏览在线客户端的本机文件系统。可以从左侧导航进入后选择客户端,也可以在 Clients 列表中点击某个客户端行的 Files 快捷入口。Project 视图下只能选择当前 Project 的客户端。
常用操作:
- 选择客户端,或从 Clients 页面跳转后自动选中对应客户端。
- 打开路径。Linux/macOS 默认从
/打开,Windows 默认从C:\打开,也可以在 Path 输入框中输入指定路径。 - 预览文本文件。二进制文件会显示不可预览提示。
- 下载文件或目录。目录会打包为
tar.gz。 - 上传单个文件到当前目标目录,单文件上限 100 MiB。目标文件已存在时会要求确认覆盖。
远程文件操作
Files 页面读写的是客户端主机上的真实文件系统,上传和覆盖操作会直接修改远端文件。执行前请确认目标客户端与上传目录。
Artifacts
Artifacts 页面管理服务端取证目录。Global 视图使用 siren_server 工作目录;Project 视图使用当前 Project 创建时固定的目录。常见场景是查看 Recon、AIR 和 AccessKey 调查生成的 Markdown 报告,或管理从客户端拉取到服务端的取证文件。
支持的操作:
- 预览文本文件。
.md和.markdown会渲染为 Markdown;包含多个标题时会显示目录。 - 下载文件或目录。目录会打包为
tar.gz,并自动排除点号开头的文件和子目录。 - 上传单个文件到当前目标目录,单文件上限 100 MiB。目标文件已存在时会要求确认覆盖。
- 新建目录、重命名和删除文件或目录。删除非空目录会递归删除其中内容。
- 从
.md报告进入 Dossier 编辑。.markdown可以预览,但不会显示 Dossier 编辑按钮。 - 保护隐藏路径。
.env、.ssh等点号开头的文件或目录不会列出,也不允许直接访问。
Artifacts 删除操作
Artifacts 操作的是服务端真实文件。删除目录会递归删除其中内容,无法从 Web 控制台撤销;执行前请确认当前视图和目标路径。
Dossier
Dossier 是独立的 Markdown 报告编辑器,有两种打开方式:
- 从左侧导航点击 Dossier,打开
webui.dossierDir/report.md。即使当前处于 Project 视图,也不会自动切换到 Project 目录下的report.md。 - 在 Artifacts 中选中
.md报告后,点击 Dossier 按钮编辑该报告。如果当前是 Project 视图,报告文件和粘贴资源会保留在 Project 目录内。
Dossier 未部署、路径配置错误或默认 report.md 缺失时,Web 控制台会显示错误提示,但不影响其他功能。
详细部署、配置、语法和编辑流程见 Dossier 文档。
常见问题
- 点击 Dossier 后提示不可用:通常是 Dossier 编辑器文件未部署,或
webui.dossierDir指向了错误目录。 - 点击 Dossier 后提示默认报告不可用:确认
webui.dossierDir/report.md存在。webui.dossierDir可以使用绝对路径,也可以放在siren_server工作目录外。 - Artifacts 中没有 Dossier 按钮:只有
.md报告支持在 Dossier 中编辑。 - 旧 HTML 报告无法直接预览:Artifacts 不再内置 HTML 预览,可下载后查看;新的应急报告建议使用 Markdown。
配置
在 server_config.yaml 的 webui 段落配置:
webui:
enabled: true # 是否启用 Web 控制台
listen: 0.0.0.0 # 共享 HTTP 监听地址
port: 8080 # 监听端口(与 MCP 共享)
userDBPath: /opt/siren/data/users.db # 可选:用户数据库绝对路径
dossierDir: /opt/siren/dossier # 可选:Dossier 编辑器文件目录
projectsBaseDir: /opt/siren/projects # 可选:Project 目录创建基准路径
mcp:
enabled: true # 是否启用 MCP 服务Web 控制台与 MCP 共用监听地址和端口,但启停开关相互独立。完整配置项见 配置文件。
生产部署建议
公网暴露场景
Web 控制台本身使用 HTTP。Session Cookie 虽然是 HttpOnly 和 SameSite=Lax,但公网明文传输仍有风险。建议:
- 将
webui.listen改为绑定127.0.0.1(默认0.0.0.0),前置 Nginx / Caddy 做 TLS 终止和反向代理 - 或至少通过 iptables / 安全组限制访问 IP
- 部署前必须创建至少一个用户账号,否则 Web 控制台不会启用鉴权