开始之前
- 最新的服务清单,包含账户所有者和凭据存储引用。
- 管理相关应用程序或主机的权限;仅凭成员身份并不代表拥有任一角色。
- 已知的备份以及适合拟议变更的恢复流程。
- 确切起始版本和目标版本的发行说明,以及一名第二维护者进行审查。
分离三类访问权限
在我们的示例工作坊 wiki 中,成员编写说明,笔记本协调员管理应用程序账户,主机维护者操作服务器。一个人可以承担多项职责,但权限应保持明确。下面的工作表描述了该团队的预期策略;应用程序设置仍需配置和检查。
| 责任 | 日常工作 | 访问边界 |
|---|---|---|
| 读者或编辑者 | 阅读分配的书籍;在团队允许处进行编辑。 | 无账户管理或主机登录权限。 |
| 应用程序协调员 | 审查成员角色和内容权限。 | 应用程序管理不需要共享主机账户。 |
| 主机维护者 | 维护运行时、配置和恢复。 | 个人主机身份;特权工作已记录。 |
| 备份身份 | 执行定义的备份操作。 | 无普通成员浏览权限;范围单独审查。 |
| 后备维护者 | 主维护者不在时恢复访问。 | 授权途径记录在 wiki 之外。 |
技术管理员可能能够访问底层数据。将这一责任保留在团队的信任决策中,而不是承诺对控制主机的人保密。
为新成员分配一个小型、经过检查的起始角色
在发送邀请之前,商定成员需要哪些书籍以及他们是否应编辑、导出或管理任何内容。在支持的情况下创建个人账户。解释预期范围以及如何请求更改;避免将管理权限作为缺少权限的默认解决方案。
对于 BookStack,多个分配的角色可以合并其权限,内容级覆盖会影响访问。审查完整的角色集和相关内容规则。仅检查角色名称是不够的。 BookStack 角色和内容权限规则.
- 分配预期角色并记录其所有者和审查触发器。
- 使用具有代表性的非管理员账户检查允许的任务。
- 检查一个应当失败的任务,例如编辑只读书籍。
- 确认受限书籍及其本地文件附件仍然不可访问。
- 记录任何例外情况以及谁批准了它。
将恢复材料存储在约定的凭据存储中。访问笔记本保存检索引用,而不是密码、令牌或私钥。
单独检查嵌入图像:BookStack 图像默认是公开的,而本地文件附件使用其权限控制。难以猜测的 URL 不是访问控制。 BookStack 图像安全性。对于意图保密的图像,请在退出登录状态下测试其直接 URL,然后使用无法查看其源页面的成员进行测试;在该策略下两者都不应获得它。
local_secure 要求登录但不强制执行页面权限; local_secure_restricted 检查对图像上传到的项目的访问。在更改存储之前,查看记录的性能、复制页面和迁移限制。现有上传需要记录的迁移,而不仅仅是更改设置。 BookStack 存储选项和迁移.
在关闭账户之前完成交接
当维护者离开时,识别所有依赖其身份的内容:应用程序所有权、主机密钥、域管理、备份访问、集成和恢复联系人。将职责转移给授权的替代者,并检查替代者能否检索操作笔记。
移除不需要的应用程序角色,并通过每个系统支持的控制撤销主机或服务访问。将活动会话、令牌和共享凭据作为单独项目审查;不要假设禁用一个登录会撤销所有机制。如果共享凭据已暴露给离职人员,安排其更换并有意识地更新使用该凭据的服务。
根据团队策略和应用程序行为保留内容或归属。账户移除不应成为对共享工作的未经审查的删除。最后进行禁止访问检查并更新 服务清单.
在更新之前写下回退决策
记录已安装版本、目标版本和更改原因。阅读特定于发行版的说明,包括中间迁移和运行时要求。BookStack 记录的更新过程可能会更改依赖项和数据库,并且要求首先备份数据库和上传内容。 BookStack 更新指南.
根据这一依赖关系,可以得出实用的恢复规则:不要假设替换旧应用程序文件就能撤销数据库迁移。明确你要恢复的兼容应用程序、配置和数据集。确定谁可以停止变更、该决策必须在何时做出,以及恢复点之后接受的编辑会如何处理。
- 确认备份的身份和相关的恢复流程。
- 在可行的情况下,在隔离副本上演练重大变更。
- 商定编辑暂停或维护窗口,并通知受影响的成员。
- 按照实际安装方法应用文档化的更新。
- 检查登录、阅读、编辑、附件、受限内容和已配置的任务。
- 检查完成后恢复正常使用,或遵循文档化的恢复决策。
如果更新失败,保留错误证据和当前状态。避免在部分迁移之上叠加无关的修复。使用应用程序文档和记录的恢复点来选择下一步操作。
更改主机访问权限时保持一条可用途径
主机访问变更需要单独检查。保持当前已授权的 SSH 会话打开,在移除现有身份验证途径之前确认新的基于密钥的登录。了解如果新连接失败,已授权的维护者将如何重新获得访问权限。
在 Ubuntu OpenSSH 服务器上,文档化的配置验证命令是 sudo sshd -t。OpenSSH 还记录了 sshd -T 用于查看生效设置和连接参数,以及 -C 用于评估匹配规则。这些检查会检查配置;它们并不证明通过网络的连接成功。 Ubuntu OpenSSH 配置检查; OpenSSH 服务器测试选项.
使用已安装发行版的服务控制和配置路径。在应用变更之前解决验证错误。之后,打开第二个独立连接并验证维护所需的权限。仅在该检查成功后关闭保留的会话。这是一个需要适配的变更流程,并非在此处已测试任何服务器访问的证据。
保持备注简短以便更新
Service / responsible maintainer / cover:
Account or change being reviewed:
Purpose / permitted tasks / forbidden tasks:
Current version / target version, if relevant:
Credential reference / recovery access reference:
Backup identifier / return decision:
Member notice or editing pause:
Checks performed / actual result:
Unresolved issue / action owner:
Next review trigger:选择团队能够持续执行的审查节奏,并将安全通知、成员变更或备份失败视为提前行动的理由。将操作系统、应用程序和集成维护作为独立职责保持可见。在发生重大变更后重新审视 恢复演练 ,并在团队变更谁应访问服务时使用 公共和私有服务指南 。
本说明背后的文档
使用你实际运行的版本文档。这些示例是规划材料,并非在 Hoszen VPS 上进行测试的记录。