安全なインストール(唯一の正しい方法)
Docker隔離でOpenClawを安全にインストール。既知の脆弱性からコンピューターを守るセキュリティ強化付きのステップバイステップ手順。
なぜ135,000人が間違えたのか
🔄 Quick Recall: 前のレッスンで、135,000以上のOpenClawインスタンスがインターネットに露出していると述べた。それは理論上のリスクではない——デフォルトのインストール方法のせいで実際に起きたこと。
何が起きたか:OpenClawのデフォルト設定は0.0.0.0:18789にバインドする。わかりやすく言えば「どのネットワーク上の誰でも接続してください」という意味。クイックスタートガイドに従い、この設定を変更しなかった人たちが、自分のAIエージェント——メール、カレンダー、ファイルごと——をインターネット全体に公開してしまった。
このレッスンは、あなたが135,001人目にならないためにある。
このレッスンの終わりまでにできるようになること:
- コンピューターにDockerをインストールする
- セキュアなDockerコンテナ内でOpenClawを動かす
- 最も一般的な攻撃ベクターをブロックするセキュリティ強化を適用する
Dockerとは?(60秒バージョン)
家の部屋を賃貸に出すと想像してほしい。2つの選択肢がある:
選択肢A:フリーアクセス。 入居者が寝室に入り、金庫を開け、郵便を読み、クレジットカードを使える。これがOpenClawをコンピューターに直接インストールすること。
選択肢B:密封されたアパート。 入居者は自分の部屋にとどまる。独自の入口、独自のインフラがあり、家の他の部分にはアクセスできない。汚したら、数分でアパートを取り壊して建て直せる。これがDocker。
Dockerはコンテナを作る——コンピューター上で動くが、個人ファイル、パスワード、他のアプリケーションには触れない密封された隔離環境。Docker内でOpenClawが侵害されても、攻撃者はコンテナの中に閉じ込められる。
完璧か? いいえ。CVE-2026-24763では、高度な攻撃者がPATH操作でDockerから脱出できることが示された。しかしDockerはハードルを劇的に上げる——玄関のドアを開けっ放しにするのと、デッドボルト付きの鍵をかけるくらいの違い。鍵をピッキングする人はいるかもしれないが、ほとんどの脅威は止められる。
✅ Quick Check: アパートのたとえで、「数分でアパートを取り壊して建て直す」は何を表す?(答え:Dockerコンテナの破棄と再作成——潜在的な侵害を消去し、ゼロから始めること。)
ステップ1:Dockerをインストール
Macの場合:
- docker.comでDocker Desktop for Macをダウンロード
- ダウンロードしたファイルを開き、Dockerをアプリケーションフォルダにドラッグ
- アプリケーションからDocker Desktopを起動
- メニューバーにクジラアイコンが表示されるのを待つ——Dockerが動いている証拠
Windowsの場合:
- docker.comでDocker Desktop for Windowsをダウンロード
- インストーラーを実行(「WSL 2」の有効化が必要な場合がある——インストーラーが案内)
- プロンプトが出たらコンピューターを再起動
- Docker Desktopを起動
Linuxの場合: docs.docker.comの公式インストール手順に従う。
動作確認: ターミナル(Mac/Linux)またはコマンドプロンプト(Windows)を開いて入力:
docker --version
Docker version 27.x.xのような表示が出れば成功。エラーが出たらDockerが起動していない。
ステップ2:OpenClawをDockerにインストール(安全な方法)
OpenClawはDockerセットアップスクリプトを提供している。安全なアプローチはこうだ:
# 1. OpenClaw用のフォルダを作成
mkdir ~/openclaw && cd ~/openclaw
# 2. Docker Composeファイルをダウンロード
curl -fsSL https://openclaw.ai/docker-compose.yml -o docker-compose.yml
何も実行する前に、次のセクションを読むこと。 デフォルト設定は十分にセキュアではない。
ステップ3:セキュリティ強化(重要)
ここがほとんどのガイドが終わる地点であり、ほとんどの人が侵害される地点。5つのセキュリティレイヤーを適用する:
レイヤー1:ローカルホストのみにバインド
docker-compose.ymlファイルを開いてポートセクションを見つけ、変更する:
# 危険なデフォルト:
ports:
- "0.0.0.0:18789:18789"
# 安全:
ports:
- "127.0.0.1:18789:18789"
この1つの変更で、OpenClawは自分のコンピューターからの接続のみを受け付けるようになる——インターネットからはアクセスできなくなる。
レイヤー2:非rootユーザーで実行
公式Dockerイメージはすでに非rootのnodeユーザーで動く(良いこと!)。Composeファイルに入っているか確認:
user: "node"
rootになっていたり、ユーザーが指定されていなければ、上の行を追加する。
レイヤー3:すべての権限を剥奪
コンテナ定義にこれらのセキュリティフラグを追加:
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
何をするか: cap_drop: ALLはすべての特別なシステム権限を剥奪。no-new-privilegesはコンテナが新しい権限を獲得することを防止。合わせて、コンテナは基本的で危険でない操作しかできなくなる。
レイヤー4:読み取り専用ファイルシステム
read_only: true
tmpfs:
- /tmp:rw,noexec,nosuid,size=64M
コンテナのファイルシステムを読み取り専用にする——小さな制限付き一時フォルダ以外、新しいファイルの作成や既存ファイルの変更ができない。攻撃者が侵入しても、マルウェアをインストールできない。
レイヤー5:強力なゲートウェイトークンを設定
オンボーディングプロセスでOpenClawがゲートウェイトークンを生成する。これがパスワードだ。強力に:
- ランダムパスワードジェネレーターを使用(最低32文字)
- 絶対に共有しない
- 他で使っているパスワードと同じにしない
✅ Quick Check: 5つのハードニングレイヤーのうち、OpenClawへのインターネット経由のアクセスを防ぐのはどれ?(答え:レイヤー1——0.0.0.0ではなく127.0.0.1にバインドすること。)
ステップ4:オンボーディングウィザードを実行
コンテナを起動してセットアップを実行:
# コンテナを起動
docker compose up -d
# オンボーディングウィザードを実行
docker exec -it openclaw openclaw onboard --install-daemon
ウィザードは以下を行う:
- AIプロバイダーの選択(Claude、GPT、DeepSeek)
- そのプロバイダーのAPIキーの入力
- ゲートウェイトークンの生成
http://127.0.0.1:18789/にコントロールインターフェースをセットアップ
重要: メッセージチャネルについて聞かれたら、今はスキップ。レッスン4ですべてが動作することを確認してからセットアップする。
完成したハードニング済みdocker-compose.yml
5つのセキュリティレイヤーすべてを適用した最終ファイルはこうなる:
version: '3.8'
services:
openclaw:
image: openclaw/openclaw:latest
container_name: openclaw
user: "node"
ports:
- "127.0.0.1:18789:18789"
volumes:
- openclaw-data:/app/data
environment:
- NODE_ENV=production
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
read_only: true
tmpfs:
- /tmp:rw,noexec,nosuid,size=64M
restart: unless-stopped
volumes:
openclaw-data:
やらなかったこと(と、その理由)
ウェブサイトのワンライナーでインストールしなかったことに気づいたかもしれない:
# これをやるな:
curl -fsSL https://openclaw.ai/install.sh | bash
このコマンドはDockerなしでOpenClawをコンピューターに直接インストールする。ファイル、パスワード、メール、その他すべてへのフルアクセスを与えてしまう。アパートのたとえを思い出そう? これが選択肢A——入居者が家中を歩き回る。
セキュリティ研究者サイモン・ウィリソンは明確に言った:「Macで直接OpenClawを動かす勇気は私にはない。」
彼に従おう。Dockerのみ。
何かうまくいかないとき
コンテナが起動しない: docker logs openclawでエラーメッセージを確認。ほとんどの問題はAPIキーの間違いかポートの競合。
コントロールパネルにアクセスできない: Dockerが動いていることを確認(クジラアイコンをチェック)し、http://127.0.0.1:18789/にアクセス——localhostではなく。一部のシステムでは異なる解決をする場合がある。
最初からやり直す: これがDockerの美点。次を実行:
docker compose down -v
docker compose up -d
コンテナを破棄して新しく作り直す。アパートを取り壊して30秒で新しく建てるようなもの。
Key Takeaways
- 常にDockerを使う——OpenClawをコンピューターに直接インストールしてはいけない
- 127.0.0.1にバインド——最も重要な1つのセキュリティ変更(インターネット露出を防止)
- 5つのハードニングレイヤーすべてを適用: ローカルホストバインド、非rootユーザー、権限剥奪、読み取り専用ファイルシステム、強力なゲートウェイトークン
- ワンラインインストーラーは使わない——システム全体への無制限アクセスを与えてしまう
- Dockerは完璧ではないがハードルを「玄関ドア開けっ放し」から「デッドボルト付きの施錠」に上げる
Up Next
OpenClawがインストールされハードニングされた。次のレッスンでは、メッセージアプリを接続して最初の本物の会話をする。WhatsAppやTelegramのセットアップ方法と、エージェントへの最初のタスクの与え方を学ぶ。
理解度チェック
まず上のクイズを完了してください
レッスン完了!