币安 API 权限怎么设最安全 IP 白名单一定要绑
API Key 是账户级风险点本文给出权限最小化 IP 白名单 提币关闭等核心安全设置。
API Key 一旦泄露损失可大可小。先在 币安官网 检查 API 列表,APP 用 币安官方APP(iOS 见 iOS安装教程)。
API 权限的层级
| 权限 | 风险 |
|---|---|
| 仅读取 | 极低 |
| 现货交易 | 中 |
| 杠杆交易 | 中 |
| 合约交易 | 中 |
| 内部转账(子账户) | 中-高 |
| 提币 | 极高 |
按"最小够用"原则给权限。
绝不开提币
除非你在做需要自动提币的真业务(如交易所对接),否则永远不开。
如果开了,攻击者拿到 Key 直接把币提走。即便有 IP 白名单也有被绕过的可能。
IP 白名单的作用
只有从指定 IP 发出的请求才生效。其他 IP 哪怕有 Key 也访问不了。
绑定方法:
- 你的家庭 IP(如果固定)
- 你的 VPS IP
- 你公司公网 IP
没有固定 IP 怎么办
家里多数动态 IP。解决:
1. 用 VPS
云服务商给 VPS 一个固定公网 IP。代码跑在 VPS 上。
DigitalOcean、Vultr、AWS 都有 5-10 美金/月的 VPS 够用。
2. 内网穿透
frpc / ngrok 等工具暴露固定地址。但稳定性差。
3. 不绑(高风险)
不推荐。除非纯查询行情用。
多 Key 隔离
不同用途不同 Key:
| 用途 | Key |
|---|---|
| 仅查行情 | Key A(只读) |
| 现货策略 | Key B(现货 + IP 白名单) |
| 合约策略 | Key C(合约 + IP 白名单) |
| 备用 | Key D(停用,紧急时启用) |
任一 Key 出事,删它一个,其他不影响。
Key 的存储
Secret Key 必须妥善存:
- 密码管理器(1Password / Bitwarden)
- 环境变量(不要写代码里)
- 加密 .env 文件
永远不要把 Secret 提交到 GitHub。每年都有数千开发者因此被盗。
代码里的最佳实践
# 好
import os
secret = os.environ['BINANCE_SECRET']
# 坏
secret = 'abc123def456...'
环境变量从 OS 读,不在代码里。
定期审计
每月:
- 登录币安看 API 列表
- 确认每个 Key 仍在用
- 不用的删除
- 怀疑被泄露的立即删除并重建
怀疑被泄露的征兆
- 发现意外订单
- 资产莫名减少
- 异常 IP 登录
- API 调用统计异常飙升
任一征兆出现立刻:
- 删除所有 API Key
- 改密码
- 重置 2FA
- 联系客服
API Key 的"轮换"
老牌做法:每 90 天主动轮换 Key。即便 Key 没泄露也定期换。
降低被攻击窗口。
子账户用 API
子账户独立 API。隔离性更好:
- 主号不开 API
- 资金分配到子账户
- 子账户开 API 跑策略
- 单一子号被攻破不影响主号
API 权限 + 2FA
API 操作不需要 2FA(这就是 API 风险所在)。
但创建、修改、删除 API Key 时需要 2FA + 邮件确认。
安全检查列表
- [ ] 每个 Key 权限最小化
- [ ] 不开提币
- [ ] 绑 IP 白名单
- [ ] Secret 不进代码仓库
- [ ] 用环境变量
- [ ] 定期审计
- [ ] 90 天轮换
- [ ] 子账户隔离
第三方平台 API
如果你用 3Commas 等第三方平台,需要给它们 API:
- 只给现货 / 合约权限,不给提币
- 绑该平台的 IP 白名单
- 每年评估是否还在用
第三方平台也可能被攻破。给它的 Key 风险跟它一样。
常见问题
问:被盗后能恢复资产吗? 答:基本不能。币安会调查但拿回率低。提前防御才是关键。
问:API 限速会被永久封吗? 答:不会。限速只是临时屏蔽。
问:可以用 API 操作多个账户吗? 答:每个账户独立 Key。可以同时使用。
问:API 能查别人的账户吗? 答:不能。Key 只对应自己账户。
问:忘记 Secret 能找回吗? 答:不能。只能删了重建新 Key。
延伸阅读
API 安全做不好,技术再强也是替黑客打工。先把权限和 IP 锁好。