公開パターンを選択する
ワークフローを満たす最も限定的なパターンを優先してください。
Gateway への直接的な公開ポートフォワーディングは避けてください。公開アクセスが
必要な場合は、アイデンティティ対応プロキシを前段に配置し、そのプロキシを
Gateway への唯一のネットワークパスにしてください。
事前インベントリ
バインド、プロキシ、Tailscale、またはチャネルポリシーを変更する前に、以下を記録してください。- Gateway ホスト、OS ユーザー、および状態ディレクトリ(デフォルトは
~/.openclaw)。 - Gateway URL とバインドモード(
gateway.bind、デフォルトポートは18789)。 - 認証モード、トークン/パスワードの取得元、または信頼済みプロキシのアイデンティティソース。
- 有効なすべてのチャネル、および DM、グループ、Webhook のどれを受け入れるか。
- ローカル以外の送信者から到達可能なエージェント。
- 到達可能な各エージェントのツールプロファイル、サンドボックスモード、および昇格ツールポリシー。
- それらのエージェントが利用可能な外部認証情報。
~/.openclaw/openclaw.jsonと認証情報のバックアップ先。
ベースラインチェック
アクセスを開放する前に実行してください。checkId の意味と修正キーについては、
セキュリティ監査チェックを参照してください。
リモート CLI 検証では、認証情報を明示的に渡してください。
最小限の安全なベースライン
公開するデプロイの出発点として、次の構成を使用してください。tools.exec.security: "deny" は、無害な診断を含むすべての exec 呼び出しをブロックします。
診断または低リスクのコマンドが必要な場合は、脅威モデルに合致する特定の送信者、
エージェント、コマンド、および承認モードを選択してからに限り、これを緩和してください。
DM とグループの公開
メッセージングチャネルは信頼できない入力サーフェスです。DM または グループを許可する前に、次を行ってください。dmPolicy: "open"よりも、dmPolicy: "pairing"または厳格なallowFromリストを優先してください。"*"の許可リストと広範なツールアクセスを組み合わせないでください。- ルームが厳格に管理されている場合を除き、グループではメンションを必須にしてください。
- 複数の人がボットに DM を送信できる場合は、DM セッションが
コンテキストを共有しないように、
session.dmScope: "per-channel-peer"(複数アカウント対応チャネルでは"per-account-channel-peer")を設定してください。 - 共有チャネルは、ツールを最小限に抑え、個人の 認証情報を持たないエージェントにルーティングしてください。
リバースプロキシのチェック
アイデンティティ対応プロキシでは、次を確認してください。- プロキシは Gateway へ転送する前にユーザーを認証する必要があります。
- ファイアウォールまたはネットワークポリシーは、Gateway ポートへの直接アクセスをブロックする必要があります。
gateway.trustedProxiesには、プロキシの送信元 IP のみを列挙する必要があります。- プロキシは、クライアントから提供されたアイデンティティヘッダーおよび転送 ヘッダーを削除または上書きする必要があります。
- プロキシが複数の対象者にサービスを提供する場合は、
gateway.auth.trustedProxy.allowUsersを設定してください。 gateway.auth.trustedProxy.allowLoopbackは、ローカルプロセスが信頼され、 プロキシがアイデンティティヘッダーを所有する同一ホスト上のプロキシにのみ使用してください。
openclaw security audit --deep を実行してください。プロキシが認証境界になるため、
信頼済みプロキシに関する検出事項は信頼性の高いシグナルです。
ツールとサンドボックスのレビュー
エージェントをリモート送信者に公開する前に、次を行ってください。- どのセッションがホスト上で実行され、どのセッションがサンドボックスで実行されるかを確認してください。
- ホストでの exec を拒否するか、承認を必須にしてください。
- 特定の信頼済み送信者が必要とする場合を除き、昇格ツールを無効のままにしてください。
- オープンまたは半オープンなメッセージングサーフェスでは、browser、canvas、node、cron、gateway、および session-spawn ツールを避けてください。
- バインドマウントは必要最小限にし、認証情報、ホーム、Docker ソケット、およびシステム パスを避けてください。
- 信頼境界が実質的に異なる場合は、別々の Gateway、OS ユーザー、またはホストを使用してください。
変更後の検証
公開設定を変更するたびに、次を行ってください。openclaw security audit --deepを再実行してください。- 認証済みの接続が正常に成功することを確認してください。
- 未承認の送信者またはブラウザセッションが拒否されることを確認してください。
- ログでシークレットが秘匿化されることを確認してください。
- DM/グループのルーティングが意図したエージェントのみに到達することを確認してください。
- 影響の大きいツールが承認を求めるか、拒否されることを確認してください。
- 受け入れた残存警告を文書化してください。
ロールバック計画
Gateway が過度に公開されている可能性がある場合は、次のように設定してください。- 公開フォワーディング、Tailscale Funnel、またはリバースプロキシのルートを停止してください。
- Gateway のトークン/パスワード、および影響を受けた統合の認証情報をローテーションしてください。
- 許可リストから
"*"および想定外の送信者を削除してください。 - 最近の監査ログ、実行履歴、ツール呼び出し、および設定変更を確認してください。
openclaw security audit --deepを再実行してください。- ワークフローを満たす最も限定的なパターンでアクセスを再度有効にしてください。
レビューチェックリスト
- 文書化された理由がない限り、Gateway は local loopback のみに維持されている。
- local loopback 以外からのアクセスには、認証とファイアウォール制御があり、公開された直接ルートがない。
- 信頼済みプロキシのデプロイでは、プロキシ IP とヘッダー制御が厳格に設定されている。
- DM は、デフォルトでオープンアクセスにせず、ペアリングまたは許可リストを使用している。
- グループでは、メンションまたは明示的な許可リストが必須になっている。
- 共有チャネルから個人の認証情報へ到達できない。
- 非メインセッションがサンドボックスモードで実行されている。
- ホストでの exec と昇格ツールが拒否されるか、承認を必須としている。
- ログでシークレットが秘匿化されている。
- 重大な監査検出事項が解決されている。
- ロールバック手順がテストされ、文書化されている。