2026 OpenClaw Gateway 安全強化 迴環綁定 · 權杖 · dmPolicy / networkPolicy

已將 OpenClaw Gateway 運維上線的工程師在 2026 年最常忽略的,不是「裝得上」,而是監聽面、身分白名單與對外流量策略是否已按正式環境收斂。本文提供一套可放進變更工單的檢核清單:先用127.0.0.1 綁定+反向代理/Tunnel拆除裸露管理面,再以 權杖輪換、dmPolicy、networkPolicy 與執行審批把 SSRF、越權工作階段與「一句話令 Agent 執行 rm」分開治理;並說明與站內 systemd/Docker/觀測篇的分工。讀完你可取得對照表、六步落地順序,以及 config:validatedoctor 的標準用法。

01

一分鐘威脅模型:預設 Gateway 上最先該改的 3 件事是什么

OpenClaw 的價值在于把模型与会话編排到可常駐的 Gateway;风险也集中在这里——它同时握着憑證、工具呼叫与對外網路。若安裝教學只关心「能连上主控台」,却把監聽位址、Token 与策略區塊留成預設,你得到的是具推理能力的遠端执行入口,而不是「內網助手」。本文与站内《Linux systemd + Tunnel》《Docker Compose 正式環境》《跨平台安装》《正式環境觀測》互補:那些篇负责怎么啟動程序与看日志,本篇负责怎么把暴露面与權限收斂到可稽核状态

下面六条是安全審查里最常见的缺口:它们不是否定 OpenClaw,而是帮你判断什么时候必须把配置从「開發態」切到「正式環境态」。若任意两条在兩週内被触发(扫描、誤撥號、越權工作階段、異常對外流量),就应冻结功能迭代,先做加固。

  1. 01

    監聽面過寬:绑定 0.0.0.0 或等价「全網卡开放」时,管理 API 与偵錯端口会直接暴露在扫描器视野里。

  2. 02

    Token 长期静态:閘道 Token 与聊天入口權杖混放、明文躺在儲存庫或同步盘,外洩后攻擊路径极短。

  3. 03

    身分面無界:未設定 dmPolicy allowlist 时,任意新会话可能被預設策略接入,稽核无法回答「誰在何時接入了哪个 Agent」。

  4. 04

    出站預設過寬:未啟用 networkPolicy / egress 白名單时,提示注入或惡意技能可能把内网 metadata 或金鑰通道傳出。

  5. 05

    執行面無審批:高危 shell 与文件系统操作缺少人工審核或二次確認,一次誤提示即可造成不可逆破坏。

  6. 06

    變更不可追溯:直接手改 JSON、跳過檢核與 doctor,回滾時無法 diff 出是哪一個鍵導致 Gateway 拒絕啟動。

把上述条目壓成三句行动优先级,就是:先收斂監聽 → 再輪換与收納密钥 → 最后疊加身份、出站与执行策略。顺序反过来常见后果是:Policy 写得很漂亮,但管理面仍能从公網直接打到。

另一个誤區是把「Tunnel 已经加密」当成「Gateway 不需要迴環綁定」。Tunnel 解决的是鏈路上的竊聽与入口统一,並不自動自動完成进程監聽面最小化;理想拓撲是 Gateway 只信任本機迴環上的反向代理或隧道客户端,由外层做 mTLS、WAF 与速率限制。否则一旦隧道程序設定漂移,內層服务仍可能意外暴露。

最后,安全強化不是一次性專案:每次升级 OpenClaw 大版本、换模型供應商或新增 Skill,都要重跑檢核与醫師診斷,并把差異记在變更單上——这与觀測篇里的「升级回滚」流程是同一枚硬幣的两面。

02

對照矩陣:開發態 Gateway 与正式環境态 Gateway 差在哪

審查时把「能跑 demo」与「能扛誤操作与扫描」分开打分:前者看连通性,后者看監聽、身份、出站、执行、可追溯性五元組。下表给平台与安全利害關係人一套共同詞彙,便于和「裝在哪」「誰維運」解耦讨论。

維度開發態(本機 quick start)正式環境态(可稽核常驻)
監聽绑定常为便于偵錯而放宽網卡范围預設 127.0.0.1,由反向代理/Tunnel 统一入口
憑證管理Token 可能明文或短周期临时Token 輪換、密管存储、最小分發面
工作階段身分信任區域網路或單一使用者情境dmPolicy allowlist,拒绝未知会话源
出站預設允許存取公網模型与工具networkPolicy + egress 白名單,防 SSRF/資料外洩
高危操作直接执行 shell 以提速執行審批或等效人工審核闸门,命令稽核落盤

正式環境态 Gateway 的目標不是「功能最多」,而是「在誤提示与惡意技能並存时,預設仍安全失敗」。

當您的 Agent 還要驅動遠端 Mac 上的建置或發佈指令碼時,Gateway 的安全邊界會直接與 CI 憑證、內網 Registry 與供應商 API 相交;這時把對外白名單與執行審批寫進 Runbook,比單純加防火牆規則更能減少連環事故。NodeMini 的遠端 Mac 算力適合作為「有簽章的執行後端」,但閘道側仍必須先收斂,避免把雲端 Mac 變成公網任意指令碼的跳板。

03

六步落地:从迴環綁定到 dmPolicy / networkPolicy 疊加

下列步驟假設您已完成 Gateway 的基礎安裝並能於本機健康檢查;具體鍵名以您當前 OpenClaw 版本的 schema 為準,變更前請備份 openclaw.json。順序強調先網路監聽與權杖,再身分與對外流量,最後執行審批與驗證

  1. 01

    綁定迴環:将 Gateway 監聽限制在 127.0.0.1(或文件推薦的等效本機通訊端),确认没有多餘的偵錯端口从公網可达。

  2. 02

    輪換 Token:使用官方 CLI 生成足够长度的閘道 Token,寫入密管;禁止把 Token 同步到雲端硬碟或截圖進 IM。

  3. 03

    配置 dmPolicy:为聊天与会话来源设置 allowlist(用户/会话 ID 維度),預設拒绝未知主体;记录變更工單与負責人。

  4. 04

    收斂 networkPolicy:关闭預設全出站或改为顯式 egress_allowlist,覆盖模型 API、必要工具網域名稱与内网 Registry;为遠端 Mac 情境单独審查 Apple/Xcode 相關網域需求。

  5. 05

    打开執行審批:对 shell/檔案刪除等高風險能力启用人工審核或等效二次確認,并把稽核日志接入你在觀測篇里定義的收集路徑。

  6. 06

    檢核与演练:依序執行 config:validatedoctor,再做一次「故意用未授權会话撥入」与「故意访问非白名單域名」的紅隊小演練,确认失败是安全失败而非靜默成功。

json5 示意(鍵名随版本调整)
// 片段:僅表達結構意圖,上線前請以 schema 与官方文档为准
{
  "gateway": {
    "bind": "127.0.0.1",
    "auth": { "token": "${ENV_OPENCLAW_GATEWAY_TOKEN}" }
  },
  "dmPolicy": {
    "mode": "allowlist",
    "allowIds": ["U-INTERNAL-1", "U-INTERNAL-2"]
  },
  "networkPolicy": {
    "allow_egress": false,
    "egress_allowlist": ["api.openai.com", "api.anthropic.com"]
  }
}
info

提示:若你使用 systemd 或 Docker 部署,请把環境變數注入与檔案掛載方式寫進单元/Compose 注释,避免「容器内 Token 明文挂卷」与宿主機權限不一致。

04

doctor、回滾与誤配症狀:改壞設定时怎么安全撤退

openclaw doctor 的價值在于把「Gateway 無法啟動」从玄學变成可对照的错误码与缺失键列表;在变更窗口里,应把 doctor 输出貼進工單附件,而不是只在聊天里口頭說明。对已知歷史遺留的无效键,可在審查后使用 doctor --fix 做受控清理,但必须在修復前後各保存一份設定快照,以便秒級回滾。

常见誤配症狀包括:dmPolicy 過嚴导致合法使用者無法接入(表現為認證通過但会话被拒絕)、networkPolicy 過寬导致安全審查不通过、或過窄导致模型与工具域名間歇性逾時。處理原則是先恢復可用性(回滾快照),再縮小變更粒度做金絲雀,而不是在正式環境上「邊猜邊改」。若 Gateway 与遠端 Mac 執行層聯動,還要同時检查 Mac 侧出口与密钥是否仍與新的白名單一致。

稽核侧建议保留:Token 輪換记录、dmPolicy/networkPolicy 變更 diff、執行審批觸發的日誌片段,以及每次大版本升級的 doctor 報告。与觀測篇聯動時,把 Gateway 进程日志中的拒絕事件与反向代理访问日志關聯,能快速判斷是策略問題还是上游 DDoS。

warning

注意:不要為了排除錯誤長期關閉執行審批或臨時把 allow_egress 改成全域放行;若確需放寬,应设時間盒工單并在視窗結束自动回滚,否则「临时偵錯」會變成永久後門。

05

可引用實務与和「执行后端」協同時的檢查項

下列條目來自公開文件與社群實務,用以協助您在審查中對齊預期;具體 CLI 子命令與 schema 以您安裝的 OpenClaw 版本為準。

  • 本機綁定優先:多數正式環境拓扑推荐 Gateway 僅監聽迴環,由反向代理或 Tunnel 提供 TLS 与访问控制;把「誰能打到 18789(或你自訂連接埠)」限制在反向代理层更易稽核。
  • 出站白名單粒度:實務上常見做法是按「模型供應商 + 必備工具域名 + 内网 artifact/registry」三类拆分;遠端 Mac 情境还要预留 Apple/Xcode 相关更新域名是否走代理的策略位。
  • 人機協同閘門:对檔案刪除、套件管理程式全域安裝、云憑證操作等高危命令保留人工審核,可以把事故面从「一次提示」收斂到「一次工單」。

將 Gateway 長期暴露在公網、無權杖或無對外約束地跑工具呼叫,短期能做出炫目 demo,但會把 SSRF、憑證竊取與供應鏈風險同時放大;與把 macOS 建置硬塞進不支援的虛擬化相比,又會在簽章與 Metal 鏈路上欠技術債。對需要穩定遠端 Mac 作為 Agent 執行後端,並想把網路與金鑰策略寫進合約與 Runbook的團隊,在閘道側完成最小暴露面後,再把算力落到可地區化、可磁碟檔位化的雲端 Mac 節點通常更貼近正式環境。綜合安全邊界與執行層可控性,NodeMini 的 Mac mini 雲端租賃適合與收斂後的 OpenClaw 拓撲配套:Gateway 管「誰能呼叫模型與工具」,遠端 Mac 管「Apple 生態系內的可重複建置與發佈動作」,兩者以白名單與審批鏈銜接。

FAQ

常見問題

0.0.0.0 會把管理面暴露在所有網路介面上,掃描與未授權呼叫成本極低。請優先綁定 127.0.0.1,並由反向代理或 Tunnel 終止 TLS 與存取控管。若亦需要遠端 Mac 執行層,可先參考 Mac mini 雲端租賃價格說明 規劃節點與對外流量,再與白名單一併審查,並搭配 說明中心

先執行設定檢核(例如 openclaw config:validate),再執行 openclaw doctor 對照 schema 與執行期;若要在變更視窗內自動清理已知無效鍵,可使用 doctor --fix,並保留變更前後快照。

可先瀏覽 OpenClaw 分類清單說明中心,再回到本篇檢核清單核對監聽綁定、權杖、dmPolicy 與 networkPolicy 是否皆已落地。