安全模型

CASTOVIA 如何保护你的运营、数据、订阅者和基础设施。

平台安全

SaaS 控制平面: Castovia 是托管式 SaaS。不提供源代码。没有自托管选项。基础设施由 Castovia 管理。

租户隔离: 每个提供商都在逻辑隔离的租户中运行。提供商无法访问其他提供商的数据、订阅者、流或配置。

RBAC(基于角色的访问控制): 四种角色:super_admin、admin(provider)、supplier、viewer。每个角色都有严格限定的权限范围。

套餐强制执行: 7 层套餐模型,具备 API 级别的软性和硬性强制。关键商业路由启用硬性强制。

身份验证与访问

密码安全: 密码使用 bcrypt 哈希。管理员/供应商账户不存储明文密码。

节点身份验证: 提供商节点使用作用域限定、按节点分配的服务器令牌进行身份验证,并可在管理员面板中独立轮换。

速率限制: 登录、注册、联系表单和 API 端点都按 IP 进行速率限制,以防止暴力破解攻击。

会话管理: 基于 JWT 的会话,24 小时过期。

可疑活动检测: 自动检测并记录可疑登录模式。

数据保护

不暴露 sourceUrl: 内部流源 URL 永远不会暴露给终端设备或客户端代码。

不暴露 storagePath: 内部存储路径仅保留在服务器端。

签名播放 URL: 播放 URL 有时间限制并经过加密签名。过期 URL 会被拒绝。

签名播放元数据: 终端用户设备仅接收安全元数据,不包含内部基础设施细节。

审计日志: 管理员操作会被记录,以便追责。

CDN/DRM 凭据安全

CDN API Key: 加密存储在数据库中。不会在 API 响应中返回。在 UI 中会被脱敏。

DRM 密钥: 加密存储。不会暴露给客户端设备。应用日志中不会出现原始 license 密钥。

不暴露 Origin Secret: CDN Origin Secret 永远不会暴露给终端用户设备。

Stripe 与计费安全

Stripe Secret Key: 仅限服务器端使用。不会暴露在客户端代码或 API 响应中。

Webhook 签名验证: 所有 Stripe webhook 事件在处理前都会通过 HMAC 签名验证。

幂等处理: Webhook 事件会去重,以防止重复处理。

Publishable Key: 客户端结账流程中只使用 publishable key(只读)。

法律定位与滥用防范

不提供内容: Castovia 不提供、托管或分发电视/视频内容。提供商对合法内容权利负全部责任。

滥用举报: 提供公开的滥用举报机制。举报会被审核并处理。

账户暂停: Castovia 保留暂停非法分发内容账户的权利。

日志留存: 在法律要求合规的情况下,相关日志可能会被保留。

可接受使用政策: 所有提供商都必须同意。违规可能导致立即暂停。

提供商节点安全

专用 castovia 系统用户——运行时无 root 权限
仅允许基于 SSH 密钥的身份验证
防火墙:限制开放端口
所有外部连接使用 TLS
保持 FFmpeg、Nginx、OS 软件包更新
禁用 Nginx 目录列表
如被入侵,轮换服务器令牌
配置文件:chmod 600,归属 castovia 用户