API Reference ZH - CyberMind-FR/secubox-deb GitHub Wiki

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 小时过期

另请参阅

⚠️ **GitHub.com Fallback** ⚠️