ホーム チュートリアル カテゴリ Skills サイトについて
ZH EN JA KO
基本設定

OpenClawセキュリティ設定とアクセス制御ガイド

· 11 分で読了

はじめに

OpenClaw はAIゲートウェイを保護するための多層セキュリティメカニズムを提供しています。アクセス制御からサンドボックス隔離、認証管理からエラー処理まで、これらのセキュリティ機能が統合的な防護体系を構成しています。本記事では、OpenClaw公式ドキュメントに基づき、各セキュリティ機能の設定と使用方法を体系的に紹介します。

アクセス制限:openclaw.jsonのセキュリティ設定

OpenClawのセキュリティポリシーは openclaw.json 設定ファイルで集中管理されます。誰がサービスにアクセスでき、どのような方法で、どの範囲で使用できるかを定義できます。

{
  security: {
    // グローバルアクセス制御スイッチ
    accessControl: {
      enabled: true,
      defaultPolicy: "deny",  // デフォルトですべての未認可アクセスを拒否
    }
  }
}

defaultPolicy"deny" に設定することが推奨されます。これにより、明示的に許可されたユーザーのみがAIアシスタントとインタラクションでき、オープンアクセスによる不正利用リスクを回避できます。

ホワイトリストメカニズム:精密なインタラクション権限の制御

ホワイトリスト(Allowlist)はOpenClawの最も中核的なアクセス制御手段です。ユーザーID、ユーザー名、ユーザーグループでインタラクションを許可する対象を設定できます。

{
  security: {
    allowlist: {
      // プラットフォームごとに個別設定
      telegram: {
        userIds: [123456789, 987654321],
        usernames: ["alice", "bob"],
      },
      discord: {
        userIds: ["1100000000000000001"],
        roleIds: ["1100000000000000099"],  // ロールによる認可
      },
      wechat: {
        remarkNames: ["張三", "李四"],
      }
    }
  }
}

ホワイトリストは複数のマッチング基準をサポートしており、プラットフォームごとにそれぞれ固有の識別方式を使用できます。ユーザーがメッセージを送信すると、OpenClawはまずそのユーザーがホワイトリストに含まれているかを確認します。チェックを通過しないメッセージは直接破棄され、APIクォータは一切消費されません。

DMペアリングメカニズム

DM(ダイレクトメッセージ)のシナリオでは、OpenClawはペアリングメカニズムを導入してセキュリティを確保しています。このメカニズムでは、ユーザーが初回インタラクション時に身元認証のペアリングを完了してからでなければ、通常の会話ができません。

ペアリングフローのコアロジックは次のとおりです:ユーザーがボットにDMを送信すると、システムはそのユーザーがすでにペアリング済みかどうかを検証します。未ペアリングのユーザーは、あらかじめ設定された認証方法(合言葉、招待コードなど)を通じて初期バインディングを完了する必要があります。一度ペアリングが完了すると、その後のインタラクションでは再度認証する必要はありません。

この設計は、DMの範囲を制限したいがホワイトリストに個別にユーザーを追加したくない場合に特に適しています。管理者はペアリングポリシーを設定して、柔軟にアクセスルールを制御できます。

グループチャットルールとセキュリティ

グループチャット環境はDMよりも複雑であるため、OpenClawは専用のグループチャットセキュリティルールを提供しています。

{
  channels: {
    telegram: {
      groupRules: {
        // グループチャットでのトリガー方式
        triggerMode: "mention",     // @ボット が必要
        allowedGroups: ["-100123456789"],  // グループを限定
        adminOnly: false,           // 管理者のみ使用可能かどうか
        cooldown: 5,                // 同一グループの最小応答間隔(秒)
      }
    }
  }
}

triggerMode"mention" に設定することで、ボットがグループチャットの全メッセージに応答することを防ぎ、API呼び出しの節約と情報漏洩の防止を実現します。allowedGroups でボットが特定のグループでのみ活動するよう制限し、攻撃面をさらに縮小します。グループのクールダウン時間(cooldown)もグループ内での連続送信型の不正利用を効果的に緩和します。

マルチアカウント認証:フォールトトレランスとクールダウン

OpenClawは同一のAIプロバイダーに対して複数のAPIアカウントを設定し、自動フェイルオーバーを実現することをサポートしています。メインアカウントが認証エラーやレート制限に遭遇した場合、システムは自動的にバックアップアカウントに切り替えてサービスを継続します。

{
  providers: {
    openai: {
      accounts: [
        {
          name: "primary",
          apiKey: "${OPENAI_KEY_1}",
          priority: 1,
        },
        {
          name: "backup",
          apiKey: "${OPENAI_KEY_2}",
          priority: 2,
        }
      ],
      failover: {
        enabled: true,
        cooldownSeconds: 60,    // アカウント障害後のクールダウン時間
        maxRetries: 3,          // 最大リトライ回数
      }
    }
  }
}

あるアカウントがレート制限(429エラー)や認証失敗(401/403エラー)をトリガーすると、そのアカウントはクールダウン期間に入ります。クールダウン期間中、リクエストは他の利用可能なアカウントにルーティングされます。クールダウンが終了すると、そのアカウントはローテーションプールに再追加されます。このメカニズムにより、サービスの高可用性を確保しつつ、単一アカウントへの過度な依存を回避します。

エラー処理戦略

OpenClawは認証エラーとレート制限に対して明確な処理ロジックを持っています。

  • 認証エラー(401/403):アカウントを使用不可としてマークし、即座にフェイルオーバーをトリガーし、警告ログを記録します。
  • レート制限(429):レスポンスヘッダーの Retry-After 値を読み取ってクールダウン時間を設定し、バックアップアカウントに自動切り替えします。
  • サーバーエラー(5xx):短いクールダウン後にリトライし、持続的に失敗する場合はアカウントを切り替えます。

サンドボックス隔離:ツールと実行環境のセキュリティ

ツール呼び出し(Tool Use)機能を統合したシナリオでは、OpenClawはサンドボックスメカニズムにより安全な実行を保証します。

パスとツールの制約

サンドボックス設定ですべてのツールのファイルアクセスを指定のルートディレクトリ内に制限し、AIがシステムの機密ファイルにアクセスすることを防ぎます。

{
  sandbox: {
    enabled: true,
    roots: ["/data/openclaw/workspace"],  // ツールはこのディレクトリのみアクセス可能
    allowedTools: ["web_search", "calculator", "file_reader"],
  }
}

ツールリストはホワイトリスト方式を採用し、allowedTools に明示的にリストされたツールのみが呼び出し可能です。パス制約により、ファイル操作ツールが有効化されていても、そのアクセス範囲はサンドボックスのルートディレクトリに厳密に限定されます。

コマンド実行の隔離

AIがシステムコマンドを実行する必要がある場合、OpenClawはコンテナ化環境内で実行し、ホストマシンと完全に隔離します。exec 系ツールのすべての呼び出しは独立したコンテナインスタンス内で実行され、コンテナ破棄後には痕跡が残りません。

ブラウザブリッジ

サンドボックス内のブラウザツールはブリッジURL(bridge URL)経由で外部リソースにアクセスし、ホストネットワークから直接リクエストを発信しません。このプロキシ隔離層はSSRF(サーバーサイドリクエストフォージェリ)攻撃を効果的に防止し、同時にネットワークトラフィックの監査と制御を可能にします。

Anthropicプロバイダーの特別なセキュリティ対策

Anthropic(Claude)をAIプロバイダーとして使用する場合、OpenClawは追加のセキュリティ検証を実施します。

  • マジックストリングクリアの拒否:特殊な文字列でコンテキストやシステムプロンプトをクリアしようとするリクエストを検出・遮断し、プロンプトインジェクション攻撃を防止します。
  • 連続ロール検証:会話メッセージ内のロール(role)シーケンスが合法であることを検証し、同一ロールの連続メッセージが出現しないことを確認します。これはAnthropic APIのフォーマット要件であり、メッセージ偽造に対するセキュリティ障壁でもあります。

セキュリティ設定のベストプラクティス

  1. 最小権限の原則:デフォルトポリシーを拒否に設定し、必要なホワイトリストのみを開放
  2. 環境変数でのキー管理:すべてのAPI Keyは ${ENV_VAR} 参照を使用し、設定ファイルにハードコードしない
  3. サンドボックスの有効化:ツール呼び出し機能を使用する場合、必ずサンドボックス隔離を有効化
  4. マルチアカウントフォールトトレランスの設定:単一障害点を回避し、レート制限の圧力を分散
  5. ホワイトリストの定期的な見直し:不要になったユーザー認可を削除し、アクセスリストを簡潔に保つ
  6. グループチャットではmentionモードを使用:不要なAPI呼び出しと情報露出を削減

まとめ

OpenClawのセキュリティ体系は、ユーザーアクセスから実行環境まで全チェーンをカバーしています。ホワイトリスト、DMペアリング、グループチャットルール、マルチアカウント認証、サンドボックス隔離を適切に設定することで、オープンかつセキュアなAIゲートウェイを構築できます。デプロイ初期にこれらのセキュリティ設定を完了し、事後対応を避けることをお勧めします。セキュリティ防護のコストは、事故修復の代償よりもはるかに低いです。

OpenClawは無料のオープンソースAIアシスタント。WhatsApp、Telegram、Discordなど多数のプラットフォームに対応