直接把 FTP 账号给业务,风险在哪里 | Ftrans B2B
账号发出去的那一刻,你就失去了它的边界——不知道有几份,也不知道谁在用。
本页目录:一句话结论 | 三点速览 | 为什么会这么做 | 下放之后发生了什么 | 完整对照表 | 各自的适用场景 | 怎么收口 | 常见问题
一句话结论
把外部伙伴发放的 FTP 账号直接交给业务人员,等于把一份可复制、无期限、无记录的访问权交出去。 它的三个代价分别是:凭据一旦下放就不可回收、人员变动后是否失效无人确认、每一次访问都没有可归属的审计对象。
三点速览
- 不可回收。 账号密码是可以被复制的。交接一次、代班一次、写进一个便签一次,副本就多一份。回收动作只能作用于你知道存在的那一份。
- 无人确认失效。 对接人调岗或离职时,通常没有人负责去问对方”把这个账号停掉”——因为账号是外部企业发放的,本方的离职流程管不到它。
- 没有审计对象。 一个账号被多个人用过之后,日志里只剩账号名。发生泄露或纠纷时,”是谁在什么时候用它做了什么”这个问题在技术上已经无法回答。
为什么会这么做
先承认它的合理性——这种做法之所以普遍,是因为在当时它确实是最快的选择。
客户或主机厂发来一组账号,要求本周开始按目录投放文件。IT 手上没有现成的中转机制,业务那边下周就要交付。把账号转给对接人,当天就能跑起来。任何一个替代方案,只要需要三天以上的准备,都会输给这个选择。
所以这一页讨论的不是”当初不该这么做”,而是:在已经这么做了之后,风险积累到哪一步,以及怎么在不打断业务的前提下把它收回来。
下放之后发生了什么
一份凭据下放之后,通常会沿着这条路径扩散:
| 阶段 | 发生了什么 | 风险积累 |
|---|---|---|
| 发放 | 伙伴发来一组 FTP 账号或对象存储访问密钥,交到某个对接人手上 | 尚可控——此时只有一份 |
| 分发 | 对接人休假要有人代班;项目换人要做交接;有时候干脆整个组共用一个 | 副本数量开始不可知 |
| 沉淀 | 凭据被记在个人的文档、便签或本地文件里,方便下次用 | 存储位置脱离管理范围 |
| 变动 | 人员调岗或离职。本方的离职流程覆盖不到外部企业发放的账号 | 凭据随人走,是否失效无人确认 |
| 追责 | 发生泄露、误发或交付纠纷,需要回答”这次是谁操作的” | 日志里只有账号名,没有人 |
变动阶段是不可逆的转折点。到这里,这份凭据的边界已经不再由本方掌握。后面每一天都在累积一个无法量化、但一旦触发就是集中爆发的敞口。
追责阶段的性质则更麻烦一些:它不是”安全措施不够强”,而是”缺少可归属的主体”。任何审计与追责机制都要先有一个对象,共享账号恰好把这个对象抹掉了。
凭据收口之后的同一条路径
平台的做法是把凭据从人手里挪到平台里,业务侧的使用体验不下降,但凭据本身不再流动:
| 环节 | 收口后的做法 |
|---|---|
| 登记 | 伙伴发放的账号、对象存储访问密钥、加密密钥登记到该伙伴的档案,由平台保管与使用 |
| 使用 | 业务人员在平台内提交交换任务并查看结果,全程不需要、也无法获取外部凭据 |
| 访问 | 每一次取送由平台代为发起,形成交换记录 |
| 权限 | 按伙伴与方向配置收发策略,谁能收、谁能发、走哪条规则,都是配置项 |
| 变动 | 人员变动时不必逐个回收账号,凭据轮换在平台一处完成 |
| 审计 | 访问会话、文件操作、文件传输等七类日志完整记录交换过程,可查询、可导出 |
关键差别在第二行:业务人员不接触凭据,不是靠制度约束,而是因为平台不提供获取它的路径。
完整对照表
| 维度 | 把账号直接交给业务 | 凭据收口到平台 |
|---|---|---|
| 上手速度 | 当天可用 | 需要一次建档与配置 |
| 副本数量 | 不可知 | 一份,在平台内 |
| 业务侧能否看到凭据 | 能,而且必须能 | 不能,平台不提供获取路径 |
| 人员变动时的处理 | 逐个联系外部企业停用,实际很少发生 | 在平台一处轮换 |
| 访问是否留痕 | 取决于对方系统的日志,本方拿不到 | 每次取送形成本方的交换记录 |
| 审计对象 | 账号名,无法归属到人 | 提交任务的账号 + 平台代为访问的记录 |
| 外发前的内容检查 | 无,取决于经手人是否记得做 | 按伙伴与方向强制执行 |
| 对端要不要配合改造 | 不需要 | 同样不需要——数据不迁移、对端不改配置 |
| 原有端点 | 继续用 | 同样继续用——纳管为伙伴库目录 |
表格最后两行是这件事能推动的原因:收口凭据不要求对端做任何改变,也不要求更换现有的 FTP 服务器或对象存储。
→ 零迁移纳管既有传输资源
各自的适用场景
不是每一个外部账号都值得走一遍收口流程。合理的分界是这样的:
| 场景 | 建议 |
|---|---|
| 一次性的、短期内会失效的临时账号 | 直接使用可以接受,但建议登记在案,明确失效时间 |
| 只读、且内容不敏感的公开资料下载点 | 直接使用可以接受 |
| 测试环境、沙箱环境的账号 | 直接使用可以接受 |
| 长期有效、没有明确失效时间的账号 | 应当收口。时间越长,副本越多 |
| 具备写入或删除权限的账号 | 应当收口。这类权限被误用的后果不可回退 |
| 对方是重要客户或主机厂,交付有责任约定的 | 应当收口。需要可归属的交付记录 |
| 涉及图纸、源代码、财务或个人信息的交换 | 应当收口。需要外发前的内容检查与审批 |
| 已经有两个以上的人知道这个账号 | 应当收口。副本已经开始扩散 |
一个可操作的判断:如果你现在说不出”这个账号一共有几个人知道”,它就已经越过了直接使用的边界。
怎么收口而不打断业务
收口不需要一次性完成,也不需要先改造现有系统:
- 先建档。 把外部企业建立为合作伙伴,其联系人、账号与密钥登记到这份档案下。
- 纳管原有端点。 既有的 FTP/FTPS/SFTP、SMB、对象存储纳管为该伙伴的伙伴库目录,数据不迁移、对端不改配置。
- 挑一条流先接管。 建议选一条新增的或风险较高的业务流,原路径保留作为回退。
- 验证稳定后再收权。 确认平台侧的取送与记录正常之后,再把原来分散在个人手中的凭据作废或轮换。
- 逐步扩大范围。 按伙伴与方向配置收发策略,把人工取送转为规则驱动。
第 3 步与第 4 步的顺序很重要:先让平台跑起来,再回收凭据,这样任何一步出问题都还有原路径可退。
凭据集中之后,平台本身的安全性会成为下一个被追问的问题——这是应当被提出的问题,我们把它单独写了一页:
→ 外部凭据托管的安全设计与评审配合
行业里的典型交换结构 → 汽车与零部件行业文件安全交换
常见问题
Q:客户给的 FTP 账号,交给业务人员用有什么问题?
A:三个问题。一是账号可以被复制,交接与代班之后副本数量不可知,回收动作只能作用于你知道存在的那一份;二是人员调岗或离职时,本方的离职流程覆盖不到外部企业发放的账号,是否失效无人确认;三是多人共用之后日志里只剩账号名,发生泄露或纠纷时无法回答”是谁在什么时候用它做了什么”。
Q:加强管理制度能不能解决?
A:能降低发生概率,但不能改变结构。只要凭据在人手里,它就是可复制的,制度约束不到复制这个动作本身。收口的做法是让业务人员在平台内提交任务与查看结果,全程不需要、也无法获取外部凭据——不接触不是靠约束,而是因为平台不提供获取它的路径。
Q:收口凭据要不要通知合作伙伴改配置?
A:不需要。既有的 FTP/SFTP 服务器与对象存储纳管为伙伴库目录,数据不迁移、位置不变,对端照旧访问原来的地址。第一阶段对端合作伙伴无感知。
Q:人员离职时,怎么确认外部账号已经失效?
A:凭据收口之后,不必逐个联系外部企业——业务人员本就不持有凭据,轮换在平台一处完成。对于收口之前已经下放的账号,建议在收口过程中统一作废或轮换一次。
Q:把凭据集中到平台,平台自己会不会成为风险点?
A:这是一个应当被提出的问题。凭据集中的平台需要按更高的安全标准建设。我们在项目评估阶段会就密钥的存储形态、访问权限模型、操作审计、漏洞响应流程与升级机制提供具体说明,并可配合安全部门评审。托管范围包括账号、对象存储访问密钥,以及加密与协议身份的私钥,这几类应一并纳入评审。