幣安 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 鎖好。