なぜ4層のセキュリティが必要なのか
OpenClaw StackのVPS環境では、4つのセキュリティレイヤーを重ねて構築している。 なぜそんなに重ねる必要があるのか、その理由を解説する。
前提: AIエージェントの危険性
OpenClawはAIエージェントプラットフォームであり、ユーザーの権限で様々な操作を実行できる:
- メールの送信
- ファイルの読み書き・削除
- 外部APIの呼び出し(決済を含む)
- Webスクレイピング
- SNSへの投稿
これが乗っ取られたら、あなたの代わりに攻撃者が何でもできてしまう。
だからこそ、多重防御(Defense in Depth)で守る必要がある。
レイヤー1: UFW ファイアウォール(80/443のみ公開)
例え
マンションの「エントランス」。住人以外は建物に入れない。
なぜ必要か
OpenClaw Gateway はポート18789で動いている。これをインターネットにそのまま晒すと、世界中の誰もが「OpenClawが動いている」と分かって攻撃を仕掛けられる。
UFWは「Webページを見るための2つのドア(80と443)だけ開けて、残りは全て閉める」という役割。18789番のドアは外側から見えなくなる。
攻撃者に「ここにAIエージェントがいる」と気づかせないため。
なくてもどうなるか
攻撃者がポートスキャンで18789番を発見し、Gatewayに直接攻撃を仕掛けられる。
レイヤー2: Caddy TLS(HTTPS暗号化)
例え
郵便物を「透明な袋」ではなく「封筒」に入れて届ける。
なぜ必要か
HTTP(暗号化なし)で通信すると、ユーザーとサーバー間のやり取りがネットワーク上を裸で流れる:
- AIに話しかけた内容(個人的な相談、パスワード、APIキー等)が丸見え
- AIの返事も丸見え
- 中間者攻撃(通信を途中で書き換える攻撃)が可能
HTTPS(TLS暗号化)は通信内容を暗号化して、関係者以外には読めなくする。
通信を傍受されるのを防ぐため。
なくてもどうなるか
Wi-Fiアクセスポイントやプロバイダ経由で、AIとの会話内容やAPIキーが第三者に漏洩する。
レイヤー3: HTTP BasicAuth(ID/パスワード認証)
例え
マンションの「オートロック」。住所(URL)を知っていても、鍵(パスワード)がないと入れない。
なぜ必要か
https://fopenclaw.com というURLは、理論上は世界中の誰でもアクセスできる。URLを知っているだけで中に入れたら危険。
BasicAuthはURLにアクセスした瞬間にユーザー名とパスワードを聞くゲート。正しい組み合わせを入れないと、中にあるOpenClawの画面すら見えない。
URLが漏洩しても、パスワードが分からなければ侵入できない。
なくてもどうなるか
URLを知るだけで、誰でもAIエージェントを操作できる。
レイヤー4: Gateway Token + デバイスペアリング
例え
部屋の「鍵」。オートロックを通っても、部屋に入るには専用の鍵が必要。さらに、登録された鍵しかドアに刺さらない。
なぜ必要か
BasicAuthを突破されたとしても、OpenClaw自身にもう一つの認証がある:
- Gateway Token: OpenClaw独自の認証トークン(APIキーのようなもの)
- デバイスペアリング: 「この端末だけ許可する」という設定。事前に承認したデバイス以外は接続できない。
万が一BasicAuthが突破されても、OpenClaw自身が弾く最後の砦。
なくてもどうなるか
BasicAuth突破後、無防備な状態でAIエージェントが操作される。
まとめ
| 層 | 防ぐ脅威 | なくてもどうなるか |
|---|---|---|
| 1. UFW | ポートスキャン・直接攻撃 | 攻撃者が18789番を直接叩ける |
| 2. TLS | 通信傍受・盗聴 | AIとの会話・APIキーが丸見え |
| 3. BasicAuth | URL漏洩からの侵入 | URLを知るだけでAIを操作できる |
| 4. Token+ペアリング | 認証突破後の不正利用 | BasicAuth突破後、無防備 |
「鍵を1つだけ掛けるより、4つ掛けた方が安全」 という考え。
AIエージェントはユーザーの権限で動くため、乗っ取られると最悪の場合:
- 勝手にメール送信
- データ削除
- 金銭的被害(API利用料の不正消費)
- 情報漏洩
が起きる。だからこそ多重防御なのだ。