NarraLeaf

服务器保护什么

NarraLeaf Team 服务器保护什么,以及部署时必须据以规划的两个决定

NarraLeaf Team 服务器保存账号,并决定谁访问哪个项目。本页是部署时据以规划的内容,其余的在仓库的安全文档里,包括已接受的风险

据以规划的两个决定

服务器上的每个账号都能访问它上面的每一个项目。 没有按项目划分的访问权。不希望某个人看到的项目应当放在另一台服务器上。要阻止某个人,就停用他的账号

任何账号都可以把任何项目移出列表。 仓库和其中的每一个版本都不受影响,重新按同一个仓库 id 登记即可恢复该项目。丢失的是留在它上面的批注。移出之前先从 nlteam project list 读下仓库 id,移出之后列表上不再有任何东西保存它

连接建立在什么之上

Studio 对服务器说的一切都到达同一个端口,背后是同一张证书。除非团队提供了自有证书,服务器会自己签发它,而指纹由人核对一次,通过即将建立的这条连接之外的渠道

首次核对之后,Studio 会保存它见到的颁发机构,并拒绝此后出示不同证书的服务器

持有对应名字证书的团队可以完全省去这次核对,见部署服务器

令牌能证明什么

Studio 用口令换取令牌,并在每次请求时出示它。服务器每次都会核对:

  • 签名,对照它发布的密钥
  • 签发者、受众和有效期
  • 账号是否仍然存在且未被停用
  • 令牌是否签发于该账号访问权被收回之前

因此一个三十天的令牌,并不意味着被收回访问权的账号还能继续用三十天

谁能做什么

持有者可以访问
一个账号服务器上的每个项目,以及它们上面的批注
一个运维账号、设置、签名密钥和访问记录
持有服务器目录的人全部,包括为任何账号签发令牌的密钥

最后一行不是缺口。服务器只能从它自己的目录恢复,所以那个目录正是部署时要用所在机器的权限去保护的东西

报告安全问题

请通过 GitHub 的安全公告表单私下报告。不要为安全问题创建公开的 issue

本页目录