回滚是第二个更改,也有其自身的风险。在另一位管理员干预后,事件发生前正确的DNS值可能不再安全。在授予代理生产写入访问权限之前,设计停止控制和条件恢复计划。
将停止与恢复分开
停止控制可防止新的操作。它应该适用于排队作业、重试和备用工作人员,而不仅仅是可见的聊天会话。回滚会更改状态。停止不会撤销提供者已接受的操作,并且恢复一条记录不会撤回已发送的消息。
定义谁可以停止工作流程、停止到达执行者的速度以及有哪些证据确认其生效。将撤销和取消确认视为需要验证的观察结果。 OWASP 建议限制代理功能、权限和自主权;停止路径是更广泛设计中的操作保障措施。 OWASP LLM06.
准备恢复合同
捕获准确的旧状态、预期新状态、受影响的服务和恢复触发器。确定授权批准反向更改的人员以及狭义回滚是否已预先授权。 “解决任何问题”的广泛指示不应成为删除控制或覆盖不相关记录的许可。
对于有计划的 DKIM 轮换、恢复可能意味着将签名者切换回保留的 选择器。立即删除新密钥可能会破坏已用其签名的消息。 DNS缓存和排队邮件使计时变得复杂,因此恢复应考虑邮件路径,而不是假设恢复TXT值会立即恢复每个收件人的视图。 RFC 6376.
保护并发更改
在回滚之前,将当前状态与失败的更改产生的状态进行比较。如果其他管理员更改了它,请停止并协调。不要在紧急更正时盲目恢复早期快照。如果支持,请使用提供者端条件更新;否则记录并控制剩余竞争窗口。
假设失败的计划变更从批准的基线 A 产生了状态 B。在恢复之前,另一个管理员有意应用了状态 C。建议的回滚应该停止以进行协调,而不是用 A 覆盖 C。实际状态可能包含必要的紧急修复。这些抽象状态说明了决策边界、未执行的记录值或推荐的 DMARC 政策。
即使当前状态仍然与 B 匹配,请在应用条件恢复之前确认恢复 A 仍然是授权且适当的。匹配字节并不能证明旧服务或凭证仍然可用,并且回滚不应恢复已知的泄露秘密。
行使停止路径
提议的停止测试应涵盖新作业、排队作业、待重试和不确定的正在进行的请求。本地标志或暂停的聊天本身无法表明分布式执行器已停止。本文中没有执行参考门或取消测试。
使用排队但未执行的授权更改、超时后等待的重试以及结果不确定的正在进行的请求来测试已部署的系统。确认哪些操作被阻止、哪些操作可能已执行以及哪些操作已得到协调。除非架构和测量支持,否则不要要求立即全局停止。
验证恢复并有意恢复
批准回滚后,验证生成的配置和受影响的发送流。记录任何无法撤消的曝光,例如之前发送的消息或外部披露的报告。仅在了解原因、协调基线并且授权所有者批准恢复后才恢复自动化。
将事件和变革历史联系起来。成功的回滚并不会使原来的故障消失。使用它来改进允许出现问题的防护、测试覆盖率或审批流程,而不会将单个故障转变为不受控制的永久权限扩展。