なぜ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利用料の不正消費)
  • 情報漏洩

が起きる。だからこそ多重防御なのだ。


This site uses Just the Docs, a documentation theme for Jekyll.