エージェント & 通信

1つのコマンド。完全に保護。

CASTOVIA エージェントは 60 秒以内にインストールされ、セキュリティを自動で処理し、暗号化されたチャネルで CASTOVIA Cloud と通信します。手動のファイアウォール設定も、SSH キーも、VPN も不要です。

インストールコマンドの解説

Linux サーバーで 1 行インストーラーを実行したときに何が起こるのかを正確に説明します。

コマンドの動作

CASTOVIA の管理画面からコピーする 1 行のインストールコマンドは、Linux サーバー上で次の処理を実行します:

CASTOVIA エージェントのバイナリ(約 15 MB)を公式 CDN からダウンロード
改ざん防止のためにバイナリ署名(SHA-256 + GPG)を検証
専用システムユーザー castovia-agent を作成(ログインシェルなし、sudo なし)
バイナリを /opt/castovia/agent にインストール
制限付き権限(0700)で設定ディレクトリ /etc/castovia/ を作成
サーバートークン(ノードごとに一意)を /etc/castovia/token.conf に書き込み
エージェントを systemd サービス castovia-agent.service として登録
サービスを起動し、起動時の自動開始を有効化
CASTOVIA Cloud と最初のハンドシェイクを行い、ノードを登録

実際のコマンド

管理画面に表示されるコマンドは次のとおりです:

curl -sSL https://install.castovia.com/agent | sudo bash -s -- --token YOUR_SERVER_TOKEN

YOUR_SERVER_TOKEN はノードごとに生成される一意の 1 回限りのトークンです。未使用の場合は 24 時間後に失効します。

エージェントが行わないこと

境界は明確です。エージェントの対象範囲は意図的に限定されています。

サーバーで受信ポートを開くことはしません
ファイアウォールルール(iptables、nftables、firewalld)を変更しません
SSH キーのインストールまたは変更を行いません
サーバー上の他のアプリケーションにアクセスしません
ストリームコンテンツを CASTOVIA のサーバー経由で送信しません(ストリームは YOUR ネットワーク上に保持されます)
ノード上に加入者の個人データを保存しません
VPN や特別なネットワーク設定を必要としません
初回インストール後に root で実行されません

セキュリティ — 後付けではなく、最初から組み込み

すべてのセキュリティ対策は自動です。手動設定は不要です。

サーバートークン認証

自動

各ノードには、暗号学的にランダムな一意のサーバートークン(256-bit)が割り当てられます。このトークンは、ノード作成時に CASTOVIA の管理画面で生成されます。登録時に 1 回だけ使用され、その後はローテーションされる TLS クライアント証明書に置き換えられます。

TLS 1.3 暗号化

自動

エージェントと CASTOVIA Cloud の間のすべての通信は TLS 1.3 を使用します。エージェントは CASTOVIA の証明書チェーンをピン留めされたルート CA で検証します — システム証明書ストアは信頼しません。中間者攻撃は不可能です。

ファイアウォール要件

自動

エージェントに必要なのは CASTOVIA Cloud へのアウトバウンド HTTPS(ポート 443)だけです。インバウンドポートを開く必要はありません。サーバーのファイアウォールルールは変更されず、エージェントが iptables、nftables、firewalld を変更することもありません。

実行時に root 権限は不要

自動

エージェントは専用の非特権ユーザー(castovia-agent)として実行されます。root が必要なのはインストール時のみです(systemd サービス作成のため)。実行時は最小権限で動作し、ストリームソースの読み取りと自身のキャッシュディレクトリへの書き込みだけが許可されます。

証明書の自動ローテーション

自動

クライアント証明書は 7 日ごとにローテーションされます。更新はエージェントが透過的に処理します。証明書が失効した場合(例: サーバーがオフラインだった場合)、エージェントは CASTOVIA の管理画面で承認が必要な安全な再登録フローを使用します。

ヘルス監視 & 自己回復

自動

エージェントは自身の健全性を監視します。クラッシュした場合、systemd が 5 秒以内に再起動します。CASTOVIA Cloud に到達できない場合でも、キャッシュ済み設定を使ってサービスを継続し、メトリクスは後で送信するためにキューに蓄積されます。

通信プロトコル

サーバーと CASTOVIA Cloud の間でデータがどのように流れるか。

CASTOVIA Cloud → エージェント(設定プッシュ)

ストリーム設定(ソース URL、トランスコードプロファイル、録画スケジュール)
メディア配信用の Nginx 設定フラグメント
キャッチアップとタイムシフトのルール
EPG データとチャンネルロゴ
パッケージ/ブーケの割り当て
加入者の利用権更新

技術: 設定は署名付き JSON ペイロードとして配信されます。エージェントは適用前に各ペイロードを検証します。生の SQL もシェルコマンドもなく、構造化された設定のみを扱います。

エージェント → CASTOVIA Cloud(テレメトリ)

サーバーの健全性: CPU、RAM、ディスク使用量、ネットワーク I/O
ストリーム状態: アクティブなストリーム、ビットレート、エラー率
録画状態: 実行中の録画、使用ストレージ、完了状況
FFmpeg ジョブ結果: トランスコード完了、エラー、出力ファイルサイズ
視聴者接続数(匿名の集計 — 個人データなし)
エージェントのバージョンと更新の有無

技術: テレメトリは 30 秒ごとに HTTPS POST で送信されます。ペイロードは圧縮(gzip)され暗号化されています。平均サイズ: 1 回あたり 2〜5 KB。

ネットワーク概要

項目詳細
プロトコルHTTPS(TLS 1.3)と証明書ピンニング
アウトバウンドポート443(HTTPS のみ)
インバウンドポートCASTOVIA では不要
ハートビート30 秒ごと(圧縮後 2〜5 KB)
認証ローテーションする TLS クライアント証明書(7 日ローテーション)
帯域幅管理トラフィックで < 1 MB/時
オフライン時の挙動キャッシュ済み設定を提供し、テレメトリをキューに蓄積し、自動再接続
ストリームトラフィックCASTOVIA 経由でルーティングされることはなく、常にあなたのネットワーク内に留まります

クリーンなアンインストール

ノードを削除すると、エージェントは完全にクリーンアップします:

sudo castovia-agent uninstall --purge
systemd サービスを停止して削除
/opt/castovia/ からバイナリを削除
/etc/castovia/ からすべての設定を削除
castovia-agent のシステムユーザーを削除
CASTOVIA Cloud でクライアント証明書を失効
残留ファイル、プロセス、cron ジョブはなし