AKStream.Next · 文档中心

上线前完成 6 项安全设置

上线前完成 6 项安全设置

本页不是安全名词清单。请按顺序完成 6 项可以在页面或服务器上核对的设置:管理员、个人账号、API Token、HTTPS、网络端口和备份。

先看安全边界

flowchart LR
    U["管理员浏览器"] -->|"HTTPS"| N["Nginx 或 Kestrel"]
    N --> A["AKStream.Next WebUI / API"]
    A --> D["MySQL"]
    A --> M["MediaServer"]
    C["摄像机 / NVR"] -->|"ONVIF / SIP / RTSP / RTP"| M
    X["第三方业务系统"] -->|"独立 API Token"| A

不要把所有端口都开放给互联网。管理入口、数据库、媒体服务 API 和摄像机协议分别设置访问范围。

任务 1:保护超级管理员

  1. 使用首次配置创建的超级管理员登录。
  2. 确认密码没有与数据库、摄像机或服务器系统账号共用。
  3. 把密码保存到团队认可的密码管理器,不要放在群聊、脚本或浏览器便签里。
  4. 以后日常操作使用个人账号,超级管理员只用于安全和恢复操作。

如果管理员密码可能泄漏,立即使用平台管理脚本的 admin-password reset,然后重新登录确认旧会话已经失效。

任务 2:为每个人创建自己的账号

打开 用户权限 → 用户:

  1. 为每个操作者创建独立账号。
  2. 根据工作内容绑定角色,不要一律授予超级管理员。
  3. 用新账号重新登录,确认只能看到和执行被授权的功能。
  4. 人员离开或账号异常时立即停用,并检查 安全审计。

成功标准:页面能看出“谁做了什么”,不再出现多人共用一个管理员账号。

任务 3:第三方系统使用独立 API Token

打开 用户权限 → API Token:

  1. 点击创建 Token,名称写清用途,例如“录像查询服务”。
  2. 只勾选集成真正需要的权限。
  3. 设置有效期;有固定调用服务器时填写允许的 IP/CIDR。
  4. 展开 Token 可核对完整权限点;需要调整时点“编辑”,保存后立即按新权限、IP 和有效期鉴权,Token 字符串不变。
  5. 创建后只复制一次完整 Token,保存到调用方的秘密管理系统。
  6. 在 安全审计 中确认创建或修改事件;停用集成时单独吊销这个 Token。

不要把超级管理员密码或长期 Token 写进浏览器前端、URL、Git、截图和普通日志。

任务 4:为登录和 WebRTC 配置 HTTPS

打开 系统管理 → HTTPS / 证书:

  1. 内网临时体验可以使用 HTTP;公网登录或浏览器 WebRTC 必须使用 HTTPS。
  2. 已有 Nginx 时,优先让 Nginx 加载证书,再反向代理到 AKStream.Next。
  3. 填写用户真正访问的域名,不要填写 127.0.0.1 或只在服务器本机有效的地址。
  4. 执行页面提供的配置预览和校验;Nginx 配置必须先通过 nginx -t 再重新加载。
  5. 从另一台电脑打开最终 HTTPS 地址,确认浏览器没有证书警告,登录和 WebSocket 正常。

成功标准:HTTP 不再是公网管理入口,页面中的 API、WebSocket 和媒体资源没有混合内容错误。

任务 5:只开放需要的端口

端口类型 谁需要访问 不应开放给谁
WebUI/API 管理网或 HTTPS 反向代理 无关公网来源
MySQL AKStream.Next 业务节点 摄像机、普通用户和公网
MediaServer API/WebHook AKStream.Next 与受信节点 普通客户端和公网扫描
SIP、RTP、RTSP 已规划的设备网段和上下级平台 无边界公网来源
RTC、TURN 实际浏览器用户网络 不使用 RTC 的环境

对照 端口与防火墙参考 和首次向导生成的端口清单。关闭模块后,也应关闭对应防火墙入口。

任务 6:备份后做一次恢复检查

至少备份以下内容:

  • Config:运行配置和节点配置;
  • Data/Security:Token、签名和安全材料;
  • MySQL:用户、设备、通道、录像索引和审计;
  • 录像目录:是否备份由业务保留要求决定。

备份文件必须加密并限制访问。只看到“备份任务成功”还不够:在隔离目录或测试实例中恢复一次,确认配置、数据库和安全材料属于同一个时间点。

每周检查

  • 用户权限 → 安全审计 是否有连续登录失败、越权或异常 Token 操作。
  • 系统管理 → 日志与审计 是否有配置发布、服务重启和高风险删除。
  • 高权限账号、API Token 和证书是否即将过期。
  • 数据库、Config 和安全目录备份是否有新的可恢复副本。

发现泄漏时

  1. 先确定泄漏的是账号、API Token、设备密码、数据库密码、MediaServer secret 还是证书私钥。
  2. 只撤销和轮换受影响的材料;不要先删除审计日志。
  3. 查看泄漏时间之后的登录、权限拒绝、配置发布、设备删除和录像删除记录。
  4. 恢复服务后,再验证旧凭据已经不能使用。

更多恢复步骤见 备份、恢复、升级与回滚。

上线成功标准

  • 没有共享管理员或默认密码。
  • 公网管理入口使用有效 HTTPS。
  • MySQL 和 MediaServer 管理接口没有暴露给无关网络。
  • 每个集成都有独立、最小权限、可撤销的 Token。
  • 备份已经做过恢复验证。
  • 安全审计能回答“谁在什么时候做了什么”。