mcpField
O
openclaw-security-hardening

openclaw-security-hardening

github.com/bagelholeセキュリティ1.2k310 回インストール23 週間前に更新
リポジトリ

openclaw-security-hardening について

セルフホスト型 OpenClaw の運用者が、チームや外部ネットワークに公開する前にリスクを抑えるためのセキュリティ強化ガイドです。ホスト、実行環境、認証情報、ネットワーク分離、インシデント対応を扱います。

主な機能

  1. 01脅威モデルの作成と高リスク資産の特定
  2. 02ホストとアプリケーション実行環境の強化
  3. 03シークレットの保護とローテーション
  4. 04ネットワークアクセスの段階的な制限
  5. 05ログとアラートの集約、復旧訓練

活用シーン

  1. 01OpenClaw をチームに公開する前のセキュリティ確認
  2. 02リバースプロキシによるサービスアクセス制限
  3. 03漏えいまたは期限の近い認証情報の更新
  4. 04インシデント復旧手順の策定と訓練

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/bagelhole/devops-security-agent-skills --skill openclaw-security-hardening

インストール後、Claude Code で/openclaw-security-hardeningを入力して読み込まれたか確認します。

詳細

OpenClaw のセキュリティ強化

このスキルを使用して、チームメイトや外部ネットワークにアクセスを開放する前に、セルフホスト型 OpenClaw 環境の露出を低減します。

まず脅威モデルを作成する

リスクが最も高い資産と経路を洗い出します。

  • OpenClaw の管理/API エンドポイント
  • プロバイダーの API キーとモデルの認証情報
  • 機密性の高い業務データを含むプロンプト/応答ログ
  • ホストレベルのアクセス(SSH、ローカル管理者アカウント、リモートデスクトップ)

認証情報の窃取、リモートコード実行時の影響範囲、データの持ち出しを低減する制御を優先します。

ホストの基本的なセキュリティを強化する

  1. OS とパッケージの依存関係に定期的にパッチを適用します。
  2. OpenClaw は、管理者権限のない専用ユーザーアカウントで実行します。
  3. 利用可能な場合は、フルディスク暗号化とセキュアブート機能を有効にします。
  4. 不要なサービスを削除し、デフォルトですべての受信ポートをブロックします。
  5. リモート管理を制限します(SSH は鍵認証のみ、パスワードログインは禁止、接続元 CIDR を制限)。

Linux の基本的な確認例:

id openclaw
sudo ss -tulpn
sudo ufw status verbose
sudo systemctl --failed

アプリケーションの実行環境を強化する

  • デフォルトでは、OpenClaw を localhost またはプライベート VLAN にバインドします。
  • OpenClaw の前段にリバースプロキシを配置し、TLS、認証、レート制限を設定します。
  • ヘルスチェック以外のすべてのエンドポイントで認証を必須にします。
  • 常時稼働する環境では、デバッグ/開発モードを無効にします。
  • 必要なプロバイダー(LLM API、テレメトリー送信先、パッケージミラー)への送信トラフィックのみを許可します。

適用するリバースプロキシ制御の例:

  • TLS 1.2 以上のみ
  • Strict-Transport-Security ヘッダー
  • リクエスト本文のサイズ制限
  • リクエストとアップストリームのタイムアウト制限
  • IP ごと、トークンごとのレート制限

シークレットとトークンを保護する

  • シークレットは、コミット済みの .env ファイルではなく、ボールトまたはプラットフォームのシークレットマネージャーに保存します。
  • プロバイダーと管理者のトークンは、固定間隔で、またインシデント発生後にローテーションします。
  • トークンのスコープは必要最小限にします(最小権限、サービスごとのキー)。
  • リリース前に、リポジトリとデプロイ成果物をスキャンし、漏えいした認証情報がないか確認します。

ローテーションのチェックリスト:

  1. 新しいキーを生成します。
  2. 実行環境のシークレットストアを更新します。
  3. OpenClaw を再起動または再読み込みします。
  4. 新しいキーでリクエストが成功することを確認します。
  5. 古いキーを失効させます。

ネットワークアクセスを分離する

階層化されたアクセスパターンを使用します。

  • Tier 1(プライベート): OpenClaw のサービスポートには、アプリ/プロキシのサブネットからのみ到達できるようにします。
  • Tier 2(運用者): 管理プレーンには、VPN/Tailscale/WireGuard 経由でのみ到達できるようにします。
  • Tier 3(パブリック): 厳格な ACL を設定した、強化済みのリバースプロキシのみを公開します。

OpenClaw のサービスポートを直接インターネットに公開しないでください。

検知と復旧の手段を追加する

  • 認証、エラー、監査の各ログを一元管理します。
  • ブルートフォース攻撃、トークンの認証失敗、不審な送信トラフィックについてアラートを設定します。
  • 設定とプロンプトデータの保持設定について、改ざん不可能なバックアップスナップショットを取得します。
  • リリースサイクルごとに、ロールバックと復元の手順をテストします。

最低限必要な運用ランブック:

  • サービスの再起動手順
  • キーの失効手順
  • インシデントの隔離手順(ネットワークの遮断+トークンの無効化)
  • 動作確認済みのロールバック先バージョン

検証チェックリスト

  • すべての機密エンドポイントで認証が必須であり、VPN またはゲートウェイポリシーがなければ到達できないこと。
  • シークレットがリポジトリの履歴や、平文で共有されるディレクトリに存在しないこと。
  • ホストのファイアウォールで、受信トラフィックのデフォルト拒否が有効になっていること。
  • イングレスで TLS 終端とレート制限が有効になっていること。
  • ロールバック訓練で、目標 RTO 以内にサービスを復元できること。

関連スキル

コメント