跳到主要内容

10. 安全注意事项 (Security Considerations)

10.1. 不可信输入 (Untrusted Input)​

agent 必须 (MUST) 将收到的所有消息视为不可信输入, 并在解析和操作之前验证长度和数据类型. 拒绝解析失败或溢出的请求, 并返回 SSH_AGENT_FAILURE.

10.2. 信任边界 (Trust Boundary)​

agent 信任边界内的任何方都可以使用加载的密钥. 不应将私钥加载到信任边界之外无法被强制接受的位置. 在连接公共访问的 agent 之前, 用户 SHOULD 评估 agent 信任边界.

10.3. 端点访问控制 (Endpoint Access Control)​

agent 端点 MUST 经过操作系统访问控制, 以防止 agent 信任边界之外的方访问. agent SHOULD 默认仅允许同一用户的进程连接. 建议将 agent 端点权限限制为仅用户访问. 在 Microsoft Windows 上, agent 命名管道 SHOULD 通过适当的访问控制列表 (ACL) 进行保护.

10.4. 私钥材料 (Private Key Material)​

私钥材料 MUST 保留在 agent 进程中, 并且 MUST NOT 以明文形式导出. 加载到 agent 中的私钥 SHOULD 使用密钥保护 (key protection) 或口令 (passphrase) 进行加密, 但这由客户端策略决定.

10.5. 转发 (Forwarding)​

当 agent 转发到远程系统时, 远程系统可以获得 agent 信任边界内的访问权限. 用户 SHOULD 谨慎对待转发的 agent 访问. 远程 SSH 服务器 MAY 拒绝 agent 转发请求.