選擇暴露模式
優先選擇能滿足工作流程的最小範圍模式。
避免將公開連接埠直接轉送至閘道。如果需要公開存取,請在閘道前方放置可感知身分的 Proxy,並將其設為通往閘道的唯一網路路徑。
執行前盤點
變更繫結、Proxy、Tailscale 或頻道原則之前,請記錄以下項目:- 閘道主機、作業系統使用者和狀態目錄(預設為
~/.openclaw)。 - 閘道 URL 和繫結模式(
gateway.bind;預設連接埠為18789)。 - 身分驗證模式、權杖/密碼來源,或受信任的 Proxy 身分來源。
- 每個已啟用的頻道,以及其是否接受私人訊息、群組或網路鉤子。
- 非本機傳送者可存取的代理程式。
- 每個可存取代理程式的工具設定檔、沙箱模式和提高權限工具原則。
- 這些代理程式可用的外部認證資訊。
~/.openclaw/openclaw.json和認證資訊的備份位置。
基準檢查
請在開放存取前執行:checkId 的含義及其修正鍵。
若要進行遠端命令列介面驗證,請明確傳入認證資訊:
最低安全基準
請將此設定形式作為暴露式部署的起點:tools.exec.security: "deny" 會封鎖所有 exec 呼叫,包括無害的診斷。如果需要診斷或低風險命令,只有在選定符合威脅模型的特定傳送者、代理程式、命令和核准模式後,才可放寬此設定。
私人訊息與群組暴露
訊息頻道是不受信任的輸入介面。允許私人訊息或群組之前:- 優先使用
dmPolicy: "pairing"或嚴格的allowFrom清單,而非dmPolicy: "open"。 - 不要將
"*"允許清單與廣泛的工具存取權限搭配使用。 - 除非聊天室受到嚴格控管,否則群組中必須提及機器人。
- 當多人可以向機器人傳送私人訊息時,請設定
session.dmScope: "per-channel-peer"(多帳號頻道則設定"per-account-channel-peer"),以免私人訊息工作階段共用情境。 - 將共用頻道路由至只具備最少工具且無個人認證資訊的代理程式。
反向 Proxy 檢查
對於可感知身分的 Proxy:- Proxy 必須先驗證使用者身分,才能轉送至閘道。
- 防火牆或網路原則必須封鎖對閘道連接埠的直接存取。
gateway.trustedProxies必須只列出 Proxy 來源 IP。- Proxy 必須移除或覆寫用戶端提供的身分與轉送標頭。
- 當 Proxy 服務多個受眾時,請設定
gateway.auth.trustedProxy.allowUsers。 - 只有在 Proxy 位於同一主機、信任本機程序,且 Proxy 擁有身分標頭時,才可使用
gateway.auth.trustedProxy.allowLoopback。
openclaw security audit --deep。受信任 Proxy 相關發現具有高度指標性,因為 Proxy 會成為身分驗證邊界。
工具與沙箱審查
向遠端傳送者公開代理程式之前:- 確認哪些工作階段在主機上執行,哪些在沙箱中執行。
- 拒絕主機 exec,或要求核准。
- 除非特定受信任的傳送者需要提高權限的工具,否則請將其保持停用。
- 對於開放或半開放的訊息介面,請避免使用瀏覽器、畫布、節點、排程、閘道和工作階段建立工具。
- 保持繫結掛載範圍狹窄;避免掛載認證資訊、家目錄、Docker 通訊端和系統路徑。
- 對於信任程度有實質差異的邊界,請使用不同的閘道、作業系統使用者或主機。
變更後驗證
每次變更暴露方式後:- 重新執行
openclaw security audit --deep。 - 確認已授權的連線能成功建立。
- 確認未授權的傳送者或瀏覽器工作階段會遭到拒絕。
- 確認記錄會遮蔽祕密。
- 確認私人訊息/群組路由只會到達預定的代理程式。
- 確認高影響力工具會要求核准或遭到拒絕。
- 記錄已接受的殘餘警告。
復原計畫
如果閘道可能過度暴露:- 停止公開轉送、Tailscale Funnel 或反向 Proxy 路由。
- 輪替閘道權杖/密碼,以及受影響整合的認證資訊。
- 從允許清單中移除
"*"和非預期的傳送者。 - 檢查近期的稽核記錄、執行歷程、工具呼叫和設定變更。
- 重新執行
openclaw security audit --deep。 - 以能滿足工作流程的最小範圍模式重新啟用存取。
審查檢查清單
- 除非有已記錄的理由,否則閘道維持僅限回送。
- 非回送存取具有身分驗證和防火牆保護,且沒有直接公開路徑。
- 受信任 Proxy 部署具有嚴格的 Proxy IP 和標頭控制。
- 私人訊息使用配對或允許清單,預設不開放存取。
- 群組需要提及機器人或使用明確的允許清單。
- 共用頻道無法存取個人認證資訊。
- 非主要工作階段以沙箱模式執行。
- 主機 exec 和提高權限的工具遭到拒絕或受到核准管控。
- 記錄會遮蔽祕密。
- 重大稽核發現均已解決。
- 復原步驟已經過測試並記錄成文件。