1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIエージェントを家庭LANに入れない。DMZに『かぐやのおうち』を作ったセキュリティ設計

1
Posted at

はじめに

前回の記事では、中古の NEC IX2215 で家庭LANとDMZを分離し、ACLで通信を制御する構成を構築しました。

今回はその続きで、そのDMZの中にAIエージェントが「住む」PCを用意し、その中で運用しているという話です。

この環境で主に使っているAIエージェントは Muse と Codex で、常駐しているのは Muse の「かぐや」です。かぐやが住んでいるVMは、我が家では「かぐやのおうち」と呼んでいます。

AIエージェントには、ブラウザ操作やファイル操作、場合によっては管理者権限に近い作業まで任せます。便利な反面、

  • エージェントが想定外の操作をしてしまったらどうするか
  • 外部から乗っ取られたり、悪意ある指示を埋め込まれたりしたらどうするか

という不安は残ります。そこで「エージェントの権限をどう絞るか」とは別に、**「エージェントが住む場所をどこにするか」**で守ることにしました。答えが、家庭LANから分離されたDMZへの隔離です。

全体構成

構成は以下のとおりです。前回の記事で作ったIX2215のDMZ(192.168.10.0/24)の中に、AIエージェント用の環境と公開サーバー類をまとめ、家庭LAN(192.168.2.0/24)とは分離しています。

AIエージェントの『おうち』ネットワーク構成

DMZから家庭LANへの通信は、前回の記事のACLで原則禁止にしています。つまり、AIエージェントの環境が何かおかしくなっても、家庭LAN側へは直接届かない構成です。

AIエージェントの「家」:Proxmox上の専用VM

AIエージェントの住居は、N100搭載のミニPCで動く Proxmox VE の上に作った専用VMです。VMのホスト名は「kaguya-home」、通称「かぐやのおうち」です。

項目 内容
ホスト N100 ミニPC
仮想化基盤 Proxmox VE
VM Ubuntu(デスクトップ版)、4コア / メモリ12GB / ディスク200GB

専用VMにした理由はシンプルで、

  • 家庭で日常使うPCと環境を完全に分けられる
  • スナップショットや作り直しがしやすい
  • エージェントに渡す権限を「このVMの中だけ」に閉じ込められる

からです。このVMの中で、エージェントは定時実行のチェック作業や、自宅回線のIPアドレスが必要なブラウザ作業などを行っています。エージェントにはVM内での管理者権限(sudo)まで渡していますが、それはこの「家」の中だけの話で、家庭LANやホスト側には及びません。

実物のホスト機(ミニPC)

実物のホスト機です。緑のテープに「かぐやの家」と書いてあるのが目印になっています(テープのアドレス部分はマスク済み)。

分離で担保していること

この構成で守りたいのは、以下の線引きです。

  • DMZ → 家庭LANは原則禁止(IX2215のACL)。エージェント環境が侵害されても、家族のPCやスマホへ直接アクセスできない
  • 家庭LAN → DMZも原則禁止。例外は管理PCからDMZサーバーへのSSHと、その応答通信だけ
  • 公開するものはDMZに置く。外部に開けるサービスと、家庭内だけのものを同じネットワークに混ぜない
  • エージェントへの指示・作業はすべてDMZ内のVMで完結する

「エージェントを信用しない」のではなく、信用しても事故が起きても、被害範囲がDMZの中に収まるようにしておく、という考え方です。

AIエージェント環境へのアクセス方法

隔離した環境でも、管理する側のアクセスは必要です。アクセス経路は次の3つに限定しています。

AIエージェント環境へのアクセスは3経路だけ

1. 直接接続(キーボード・モニター)

ミニPC本体にキーボードとモニターを直接つないで操作する、最も原始的で確実な方法です。ネットワーク経由の設定を壊したときの復旧手段にもなります。

2. Proxmoxの管理画面(コンソール)

Proxmoxの管理画面からVMのコンソールを開いて操作します。OS側のネットワーク設定が壊れていても画面が見えるので、初期構築やトラブル対応は主にこちらです。

Proxmox管理画面から見た『かぐやのおうち』のコンソール

Proxmox管理画面から見た「かぐやのおうち」(VM 100)のコンソールです。

3. Tailscale経由のSSH

外出先や家庭LAN側からは、Tailscale経由でSSH接続します。

  • 接続は鍵認証
  • 到達できるのはtailnetに参加した自分の端末からだけ
  • むやみにポートを開放しない(ルーター側でSSHポートをインターネットに公開しない)

日常の管理や、DMZ内のサーバー(AIエージェント環境やMinecraftサーバー等)へのアクセスは、主にこの経路を使います。「外から入れる入口は、認証された自分の端末だけ」という状態を保つのがポイントです。

DMZのもう一人の住人:公開サーバー

DMZには、AIエージェントの環境のほかに、外部公開を前提としたサーバー類も置いています。現在はMinecraftサーバーの構築もこのDMZで進めています。

公開サービスは性質上、外部からの接続を受け続けます。家庭LANと混ぜずにDMZへ寄せておくことで、万一サービス側に問題が起きても、家庭LANへ波及しない構成を維持しています。

電源も冗長化している(UPS)

常駐させる以上、「止まらないこと」も大事です。サーバー類とネットワーク機器(ルーター、スイッチ、ミニPC、NAS)は、APCのUPS(無停電電源装置)経由で給電しています。

APCのUPSとNAS

瞬断や短時間の停電では、エージェントの住む環境もネットワークも落ちません。セキュリティで「変な入り方をされない」ようにするのと同時に、可用性として「そもそも落ちない」ようにするのも、常駐運用の土台だと思っています。

まとめ

AIエージェントを安全に働かせるためにやったことは、「住む場所」の設計でした。

  • 権限は渡す。ただし渡す範囲は専用VMの中だけ(Proxmoxで分離)
  • 置く場所は家庭LANではなくDMZ(IX2215のACLで分離)
  • 入口は直接接続・Proxmoxコンソール・Tailscale+SSHの3つに限定

エージェントの能力が上がるほど、「何をさせるか」の管理と同じくらい「どこで動かすか」の設計が効いてきます。ネットワーク分離の土台については前回の記事にまとめてあるので、合わせて読んでもらえると全体像がつながります。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?