OpenClaw

OpenClaw の公式セキュリティ設定とベストプラクティスガイド

ⓘ本ページはプロモーションが含まれています

スポンサードリンク

OpenClaw の公式セキュリティ設定ガイド(2026 年版)

本稿の目的
- OpenClaw を本番環境で安全に運用するための具体的な手順を示す
- 初心者でも追従できるよう、設定ファイルの編集例やコマンド実行結果まで丁寧に解説する
- 公式ドキュメント([1]、[2])で推奨されている項目のみを掲載し、情報の正確性を担保する


1. 許可リスト(Allow‑List)の設定

1-1. なぜ許可リストが必要か

外部からの不正アクセスは「どこから」接続されるかを制御できないと防げません。OpenClaw では allow_list 機能で ホワイトリスト方式 の通信制限が可能です。

1-2. 設定ファイル例 (config.yaml)

ポイント
- enabledtrue にしないと、以下の項目は無視されます。
- ドメインだけでなく IP 範囲も併せて設定すると二段階防御になります。

1-3. 手順(初心者向け)

手順 操作内容 補足
サーバーにログインし、/etc/openclaw/config.yaml を開く sudo vi /etc/openclaw/config.yaml 推奨
上記 設定ファイル例 のように security.allow_list ブロックを追記 インデントはスペース2つで統一
ファイル保存後、OpenClaw サービスを再起動
sudo systemctl restart openclaw
再起動前に構文エラーがないか openclaw config validate を実行すると安全
設定が反映されたか確認
curl -s http://localhost:8080/healthz | grep allow_list
enabled:true が表示されれば成功

2. 自動実行ガード(Auto‑Exec Guard)の有効化

公式ドキュメントでは 自動実行要求のブロックsecurity.auto_exec_guard.enabled で制御します。

2-1. 設定例

2-2. 手順

  1. config.yaml に上記ブロックを追記(手順は 1‑③ と同様)
  2. 再起動後、以下コマンドでステータス確認

bash
$ openclaw status | grep auto_exec_guard
auto_exec_guard: enabled

  1. 例外設定が必要な場合(内部ジョブなど)
  2. exception_commands に許可したい CLI 名をカンマ区切りで記入
  3. 変更後は必ずテスト環境で動作確認

注意:公式に未掲載のパラメータ(例: auto_exec_guard の代替名)を書かないこと。この記事ではドキュメント上確実に存在する項目のみを使用しています。


3. API キーとシークレットの安全な管理

3-1. キー生成・ローテーションフロー(図解付き)

3-2. 実装手順(Vault + GitHub Actions の例)

  1. キー作成
  2. コンソール → API KeysCreate New
  3. スコープは read:messages のみ選択し、期限は「無期限」でも構いませんがローテーション計画を必ず立てます。

  4. Vault へ保存

bash
$ vault kv put secret/openclaw/api_key value="YOUR_GENERATED_KEY"

  1. GitHub Actions で取得.github/workflows/deploy.yml の抜粋)

yaml
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Retrieve API key from Vault
env:
VAULT_ADDR: ${{ secrets.VAULT_ADDR }}
run: |
export OPENCLAW_API_KEY=$(vault kv get -field=value secret/openclaw/api_key)

  1. ローテーション(Cron ジョブ例)

bash
# /etc/cron.d/openclaw_key_rotate
0 2 * */1 root /usr/local/bin/openclaw-key-rotate.sh

openclaw-key-rotate.sh
- 新キーを生成 (openclaw api-key create --scopes read:messages)
- Vault に上書き保存
- 古いキーを即時無効化(openclaw api-key revoke <old-id>

3-3. 環境変数の安全な注入例

/run/openclaw/envroot が作成し、他ユーザーからは読み取り不可 に設定します。


4. プロンプトインジェクション対策

4-1. 入力サニタイズ(Python 実装例)

  • テストケース(ユニットテストの抜粋)

python
assert sanitize_input("Hello! <script>") == "Hello!"

4-2. プロンプト長制限と履歴管理

  • 実装上のヒント
  • re.split(r'\s+', ...) は単語ベースでトークン数を概算します。正確なトークン数は OpenClaw SDK の count_tokens() を利用してください。

5. RBAC(ロールベースアクセスコントロール)の設計と実装

5-1. 標準ロールと最小権限の考え方

ロール名 推奨権限(例)
admin *(全リソースへのフルアクセス)
developer read:messages, write:prompts, list:nodes
viewer read:logs, read:metrics

ベストプラクティス
- ロールは 3 種類に絞る(過剰なロールは管理コスト増)
- 権限は「読み取りのみ」→「書き込み可能」の段階的に付与する

5-2. 実装手順

5-3. 定期監査の自動化

項目 コマンド例 スケジュール
ロール・権限一覧取得 openclaw rbac audit --output json > /var/log/openclaw/rbac_audit_$(date +%F).json 週次(cron: 0 3 * * 1)
不要ロールの自動通知 jq '.users[] | select(.roles|length==0)' rbac_audit_*.json \| mail -s "OpenClaw RBAC Alert" 毎日深夜

6. 運用・監視のベストプラクティス

6-1. 2026 年時点で顕在化した主な脆弱性と対策

脆弱性カテゴリ 具体的リスク 推奨対策
ライブラリの未パッチ(例: node-fetch 任意コード実行 npm audit fix --force、Dependabot の有効化
デフォルトで許可された公開 API 認証なしで情報取得 許可リストでホワイトリスト化(第 1 節参照)
プロンプト長無制限 メモリ枯渇・DoS MAX_TOKENS = 512 の上限制御(第 4 節)
モバイル端末からの平文通信 中間者攻撃 TLS 1.3 強制、証明書ピニング実装

6-2. ログ・メトリクス監視設定例

Prometheus + Alertmanager

alert_rules.yml

Elastic Stack(Filebeat → Logstash → Kibana)

Logstash 側で JSON 正規化し、Kibana ダッシュボードに「認証失敗」や「権限エラー」の可視化パネルを作成します。

Falco(カーネルレベルの不審行動検知)

falco_rules.yaml

6-3. チェックリスト(実装完了時に確認)

No 確認項目
1 allow_list.enabledtrue、かつドメイン・IP が正しく列記されている
2 auto_exec_guard.enabledtrue で例外設定が最小限に抑えられている
3 API キーは Vault 等シークレットストアに保存し、30 日ローテーションの Cron が動作している
4 入力サニタイズ関数とトークン上限制御がコードベースに組み込まれ、単体テストが通っている
5 RBAC は admin / developer / viewer の3ロールのみで構成され、権限テストが実施済み
6 モバイルクライアントは TLS 1.3 + MFA(TOTP)で接続し、証明書ピニングを実装している
7 Prometheus の HighRequestRate アラートと Elastic Stack のログインデックスが正常に送信される
8 Falco の「OpenClaw unexpected bind」ルールが有効化され、アラートが Slack に届く

7. まとめ

  • 許可リスト自動実行ガード はデフォルトで無効のため、必ず有効化し最小権限だけを許可する
  • API キー・シークレットは Vault 等の外部管理ツール に保存し、30 日ごとのローテーション を自動化する
  • ユーザー入力は サニタイズ関数トークン長制限 の二重防御でインジェクションを防止
  • RBAC は 3 つのロール に絞り、定期的に監査レポートを生成して過剰権限を排除
  • 運用監視は Prometheus + Alertmanager, Elastic Stack, Falco の組み合わせで可視化・自動通知を実装

これらの設定と手順を社内の 「OpenClaw 安全運用チェックリスト(PDF)」 にまとめ、定例レビューに組み込めば、2026 年時点でも十分なセキュリティ水準を維持できます。


参考文献

  1. OpenClaw 公式セキュリティ設定ページ
    https://open-claw.bot/docs/ja/help/faq/security/

  2. OpenClaw ゲートウェイ向けセキュリティガイド(2026 年版)
    https://open-claw.bot/docs/ja/gateway/security/

スポンサードリンク

-OpenClaw
-, , , , , , ,