2 API Reference ZH
CyberMind-FR edited this page 2026-04-04 11:38:24 +02:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

API 参考文档

English | Français

所有 SecuBox 模块通过 Unix 套接字暴露 REST API由 nginx 代理至 /api/v1/<module>/

总计48 个模块 | ~1000+ API 端点


认证

登录

curl -X POST https://localhost/api/v1/portal/login \
  -H 'Content-Type: application/json' \
  -d '{"username":"admin","password":"admin"}'

响应:

{
  "success": true,
  "token": "eyJ...",
  "username": "admin",
  "role": "admin"
}

使用令牌

curl https://localhost/api/v1/hub/status \
  -H 'Authorization: Bearer <token>'

通用端点

所有模块实现:

端点 方法 认证 描述
/status GET 模块状态
/health GET 健康检查

核心模块

Hub API (/api/v1/hub/)

仪表板和模块管理。

端点 方法 认证 描述
/status GET 系统状态和模块健康
/modules GET 列出所有已安装模块
/alerts GET 系统告警
/monitoring GET CPU、内存、负载指标
/dashboard GET 完整仪表板数据
/menu GET 动态侧边栏菜单
/security_summary GET 安全概览
/network_summary GET 网络接口摘要
/module_control POST 启动/停止/重启模块
/notifications GET 系统通知
/system_health GET 系统健康评分
/check_updates GET 检查更新
/apply_updates POST 应用更新

Portal API (/api/v1/portal/)

认证和会话管理。

端点 方法 认证 描述
/login POST 用户认证
/logout POST 结束会话
/verify GET 验证当前会话
/sessions GET 列出活动会话
/users GET 列出所有用户(管理员)
/users/create POST 创建新用户(管理员)
/users/change-password POST 更改密码

System API (/api/v1/system/)

系统管理和诊断。

端点 方法 认证 描述
/info GET 系统信息
/resources GET CPU/内存/磁盘使用
/services GET 服务列表
/restart_services POST 重启 SecuBox 服务
/reload_firewall POST 重载 nftables
/shutdown POST 关机
/reboot POST 重启系统
/logs GET 系统日志
/diagnostics GET 诊断报告
/backup POST 创建配置备份
/restore_config POST 从备份恢复

安全模块

CrowdSec API (/api/v1/crowdsec/)

入侵检测与防御。

端点 方法 认证 描述
/components GET 系统组件
/metrics GET CrowdSec 指标
/decisions GET 活动决策(封禁)
/alerts GET 安全告警
/bouncers GET Bouncer 状态
/ban POST 封禁 IP 地址
/unban POST 解封 IP 地址
/nftables GET nftables 统计
/service/start POST 启动 CrowdSec
/service/stop POST 停止 CrowdSec
/console/enroll POST 注册到 CrowdSec 控制台

封禁 IP 示例

curl -X POST https://localhost/api/v1/crowdsec/ban \
  -H 'Authorization: Bearer <token>' \
  -H 'Content-Type: application/json' \
  -d '{"ip":"192.168.1.100","duration":"24h","reason":"手动"}'

WAF API (/api/v1/waf/)

Web 应用防火墙300+ 规则。

端点 方法 认证 描述
/status GET WAF 状态
/categories GET WAF 规则分类
/rules GET 所有 WAF 规则
/rules/{category} GET 分类规则
/category/{category}/toggle POST 启用/禁用分类
/stats GET 威胁统计
/alerts GET 近期威胁告警
/bans GET 活动 IP 封禁
/ban POST 手动封禁 IP
/unban/{ip} POST 移除 IP 封禁
/whitelist GET 获取白名单 IP

NAC API (/api/v1/nac/)

网络访问控制。

端点 方法 认证 描述
/status GET NAC 系统状态
/clients GET 已连接客户端
/zones GET 网络区域
/parental_rules GET 家长控制规则
/add_to_zone POST 移动客户端到区域
/approve_client POST 批准新客户端
/ban_client POST 封禁客户端
/quarantine_client POST 隔离客户端

Hardening API (/api/v1/hardening/)

内核和系统加固。

端点 方法 认证 描述
/status GET 加固状态
/components GET 加固组件
/benchmark POST 运行安全基准测试
/apply POST 应用加固设置

网络模块

Network Modes API (/api/v1/netmodes/)

网络拓扑配置。

端点 方法 认证 描述
/status GET 当前网络模式
/get_available_modes GET 可用网络模式
/get_interfaces GET 网络接口
/set_mode POST 准备模式更改
/apply_mode POST 应用网络模式
/rollback POST 回滚到之前
/router_config GET 路由器模式配置
/ap_config GET 接入点配置

WireGuard API (/api/v1/wireguard/)

VPN 隧道管理。

端点 方法 认证 描述
/interfaces GET WireGuard 接口
/interface/{name}/up POST 启用接口
/interface/{name}/down POST 禁用接口
/peers GET 对等节点列表
/peer POST 添加新对等节点
/peer DELETE 移除对等节点
/peer/{name}/config GET 对等节点配置文件
/peer/{name}/qr GET 对等节点二维码
/genkey POST 生成密钥对

添加对等节点示例

curl -X POST https://localhost/api/v1/wireguard/peer \
  -H 'Authorization: Bearer <token>' \
  -H 'Content-Type: application/json' \
  -d '{"name":"mobile","allowed_ips":"10.0.0.2/32"}'

QoS API (/api/v1/qos/)

流量整形和带宽管理。80+ 端点。

端点 方法 认证 描述
/status GET QoS 状态
/classes GET 流量类别
/rules GET 分类规则
/quotas GET 带宽配额
/usage GET 当前带宽使用
/apply_qos POST 应用 QoS 配置
/realtime GET 实时带宽
/top_talkers GET 最大带宽消费者
/vlans GET VLAN 接口
/vlan/create POST 创建 VLAN
/parental GET 家长控制

DPI API (/api/v1/dpi/)

深度包检测。40+ 端点。

端点 方法 认证 描述
/status GET DPI 状态
/flows GET 活动流
/applications GET 检测到的应用
/devices GET 已连接设备
/top_apps GET 顶级应用
/bandwidth_by_app GET 按应用带宽
/block_rules GET 应用阻止规则
/add_block_rule POST 创建阻止规则
/dns_queries GET DNS 查询
/ssl_flows GET SSL/TLS 流

服务模块

HAProxy API (/api/v1/haproxy/)

负载均衡器管理。

端点 方法 认证 描述
/status GET HAProxy 状态
/stats GET HAProxy 统计
/backends GET 后端服务器
/frontends GET 前端监听器
/acls GET 访问控制列表
/waf/status GET WAF 集成状态
/waf/toggle POST 切换 WAF
/reload POST 重载配置

VHost API (/api/v1/vhost/)

虚拟主机管理。

端点 方法 认证 描述
/vhosts GET 列出虚拟主机
/vhost/{domain} GET 虚拟主机详情
/vhost POST 创建虚拟主机
/vhost/{domain} PUT 更新虚拟主机
/vhost/{domain} DELETE 删除虚拟主机
/certificates GET SSL 证书
/certificate/issue POST 签发 Let's Encrypt 证书
/reload POST 重载 nginx

Netdata API (/api/v1/netdata/)

系统监控代理。

端点 方法 认证 描述
/status GET Netdata 状态
/charts GET 可用图表
/data GET 图表数据
/cpu GET CPU 指标
/memory GET 内存指标
/disk GET 磁盘指标
/alerts GET 活动告警

应用模块

Mail API (/api/v1/mail/)

邮件服务器管理Postfix/Dovecot

端点 方法 认证 描述
/status GET 邮件服务器状态
/users GET 邮件用户
/user POST 创建用户
/user/{email} DELETE 删除用户
/aliases GET 邮件别名
/domains GET 邮件域
/dkim/status GET DKIM 状态
/dkim/setup POST 配置 DKIM
/spam/status GET SpamAssassin 状态
/spam/setup POST 配置反垃圾邮件
/av/status GET ClamAV 状态
/av/setup POST 配置防病毒
/acme/issue POST 签发证书
/webmail/install POST 安装网页邮件

DNS API (/api/v1/dns/)

BIND DNS 服务器管理。

端点 方法 认证 描述
/zones GET DNS 区域
/zone/{name} GET 区域详情
/zone POST 创建区域
/records/{zone} GET 区域记录
/record POST 添加记录
/dnssec/enable/{zone} POST 启用 DNSSEC
/reload POST 重载 BIND

Users API (/api/v1/users/)

7 个服务的统一身份管理。

端点 方法 认证 描述
/users GET 列出用户
/user POST 创建用户
/user/{username} PUT 更新用户
/user/{username} DELETE 删除用户
/user/{username}/passwd POST 更改密码
/groups GET 列出组
/import POST 批量导入用户
/export GET 导出用户
/sync POST 同步到服务

情报模块

SOC API (/api/v1/soc/)

安全运营中心仪表板。

端点 方法 认证 描述
/status GET SOC 状态
/clock GET 世界时钟10 个时区)
/map GET 世界威胁地图
/tickets GET 安全工单
/ticket POST 创建工单
/intel GET 威胁情报 IOC
/intel POST 添加 IOC
/alerts GET 安全告警
/ws WebSocket 实时更新

Metrics API (/api/v1/metrics/)

实时系统指标仪表板。

端点 方法 认证 描述
/status GET 指标状态
/overview GET 系统概览
/waf_stats GET WAF 统计
/connections GET TCP 连接
/all GET 所有指标合并
/certs GET SSL 证书
/vhosts GET 虚拟主机

Device Intel API (/api/v1/device-intel/)

资产发现和指纹识别。

端点 方法 认证 描述
/devices GET 发现的设备
/device/{mac} GET 设备详情
/scan POST 触发主动扫描
/vendors GET MAC 厂商查询
/dhcp_leases GET DHCP 租约
/arp_table GET ARP 表
/trust/{mac} POST 标记为可信

错误响应

{
  "success": false,
  "error": "未授权",
  "code": 401
}
代码 描述
400 错误请求
401 未授权
403 禁止
404 未找到
500 服务器错误

速率限制

  • 每 IP 100 请求/分钟(未认证)
  • 每用户 1000 请求/分钟(已认证)

WebSocket

实时更新可用于 wss://localhost/api/v1/<module>/ws

const ws = new WebSocket('wss://localhost/api/v1/soc/ws');
ws.onmessage = (event) => {
  const data = JSON.parse(event.data);
  console.log('更新:', data);
};

支持 WebSocket 的模块:

  • /api/v1/soc/ws — SOC 实时告警
  • /api/v1/dpi/ws — 流更新
  • /api/v1/qos/ws — 带宽统计

架构说明

基于 Socket 的通信:

  • 每个模块运行在 Unix 套接字:/run/secubox/<module>.sock
  • Nginx 代理:http+unix:///run/secubox/<module>.sock

认证模式:

  • JWT 令牌通过 Authorization: Bearer <token>
  • /api/v1/portal/login 签发
  • 默认 24 小时过期

另请参阅