上线前完成 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:保护超级管理员
- 使用首次配置创建的超级管理员登录。
- 确认密码没有与数据库、摄像机或服务器系统账号共用。
- 把密码保存到团队认可的密码管理器,不要放在群聊、脚本或浏览器便签里。
- 以后日常操作使用个人账号,超级管理员只用于安全和恢复操作。
如果管理员密码可能泄漏,立即使用平台管理脚本的 admin-password reset,然后重新登录确认旧会话已经失效。
任务 2:为每个人创建自己的账号
打开 用户权限 → 用户:
- 为每个操作者创建独立账号。
- 根据工作内容绑定角色,不要一律授予超级管理员。
- 用新账号重新登录,确认只能看到和执行被授权的功能。
- 人员离开或账号异常时立即停用,并检查 安全审计。
成功标准:页面能看出“谁做了什么”,不再出现多人共用一个管理员账号。
任务 3:第三方系统使用独立 API Token
打开 用户权限 → API Token:
- 点击创建 Token,名称写清用途,例如“录像查询服务”。
- 只勾选集成真正需要的权限。
- 设置有效期;有固定调用服务器时填写允许的 IP/CIDR。
- 展开 Token 可核对完整权限点;需要调整时点“编辑”,保存后立即按新权限、IP 和有效期鉴权,Token 字符串不变。
- 创建后只复制一次完整 Token,保存到调用方的秘密管理系统。
- 在 安全审计 中确认创建或修改事件;停用集成时单独吊销这个 Token。
不要把超级管理员密码或长期 Token 写进浏览器前端、URL、Git、截图和普通日志。
任务 4:为登录和 WebRTC 配置 HTTPS
打开 系统管理 → HTTPS / 证书:
- 内网临时体验可以使用 HTTP;公网登录或浏览器 WebRTC 必须使用 HTTPS。
- 已有 Nginx 时,优先让 Nginx 加载证书,再反向代理到 AKStream.Next。
- 填写用户真正访问的域名,不要填写
127.0.0.1或只在服务器本机有效的地址。 - 执行页面提供的配置预览和校验;Nginx 配置必须先通过
nginx -t再重新加载。 - 从另一台电脑打开最终 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 和安全目录备份是否有新的可恢复副本。
发现泄漏时
- 先确定泄漏的是账号、API Token、设备密码、数据库密码、MediaServer secret 还是证书私钥。
- 只撤销和轮换受影响的材料;不要先删除审计日志。
- 查看泄漏时间之后的登录、权限拒绝、配置发布、设备删除和录像删除记录。
- 恢复服务后,再验证旧凭据已经不能使用。
更多恢复步骤见 备份、恢复、升级与回滚。
上线成功标准
- 没有共享管理员或默认密码。
- 公网管理入口使用有效 HTTPS。
- MySQL 和 MediaServer 管理接口没有暴露给无关网络。
- 每个集成都有独立、最小权限、可撤销的 Token。
- 备份已经做过恢复验证。
- 安全审计能回答“谁在什么时候做了什么”。