Simple ZTA
アウトバウンド接続だけで成立する、監査証跡付きのゼロトラスト・リモートアクセス基盤。
スタンダードプラン会員特典として提供中 (追加料金 0 円)
概要
Simple ZTA (SZTA) は、Cisco Secure Equipment Access (SEA) の小規模・低価格版を目指した、自作のゼロトラスト・リモートアクセス基盤です。
- 対象: Windows / macOS / Linux / VM 上のエージェントを遠隔から安全に操作
- 方式: アウトバウンド接続のみ (顧客ネットワーク側でのポート開放は不要)
- 運用: 1顧客 = 1ポータル VM (セキュリティ境界が明確、コードが単純)
- 将来: Control Plane / Data Plane 分離で IaaS 移行可能な設計
できること
ブラウザ接続 (エージェントレス)
| プロトコル | 方式 | 備考 |
|---|---|---|
| SSH | xterm.js + WebSocket | ブラウザでターミナル |
| RDP | Guacamole 経由 | Windows 画面をブラウザで操作 |
| Telnet | xterm.js | ネットワーク機器向け |
| HTTP / HTTPS プロキシ | ポータル経由のリバースプロキシ | 内部 Web UI へブラウザから直接アクセス |
ネイティブクライアント (szta-client)
PuTTY / TeraTerm / mstsc など既存ツールと連携するローカル TCP プロキシモード。
- CLI:
szta-client ssh <host>/szta-client rdp <host> - GUI (Wails): Windows/macOS 向け、ワンクリックで RDP/SSH セッション確立
- SSH proxy 方式: 鍵認証不要、ポータル発行の短期証明書で接続
セキュリティ・認証
- OIDC / SAML 連携 (Microsoft Entra ID 等の IdP)
- ローカル PIN + TOTP (IdP を使わない場合)
- RBAC (Admin / Operator / Viewer)
- AES-256-GCM 暗号化された認証情報ストア (内蔵 Vault)
- mTLS 相互認証 (Portal ↔ Agent の gRPC)
- JWT + h2c (Phase 7 で mTLS から移行、Cloudflare Tunnel との相性改善)
監査・ログ・録画
- 全セッション録画(SSH: asciinema 形式 / RDP: mp4 変換後ダウンロード可)
- コマンドログ (SSH / Telnet のキー入力履歴)
- 監査ログ (ログイン / セッション作成 / 管理操作)
- 録画・ログは NAS 保存 + 7 日自動削除 (β版ポリシー)
Phase A 提供範囲(β版・1 会員あたり)
| 項目 | 上限 |
|---|---|
| Agent 台数 | 1 台 |
| ユーザーアカウント | 1 アカウント |
| 認証情報 (Vault) | 3 件 |
| 録画・コマンドログ・監査ログ保持期間 | 7 日(自動削除) |
詳細は Simple ZTA 利用特約 を参照してください。
アーキテクチャ
Agent は Portal にアウトバウンド gRPC で常時接続し、Portal 側からの指示でその逆経路上に SSH/RDP の中継セッションを作成します。Agent 導入先のルーターでポート開放は不要です。
使い方
1. スタンダードプラン会員になる
会員プラン から月額 980 円のスタンダードプラン以上に加入します。SZTA の追加料金はかかりません。
2. 利用申請(会員ポータル → 規約同意 → 招待メール受領)
加入後、会員ポータルの SZTA 申請ページ にアクセスします。
- ページに表示される Simple ZTA 利用特約 を確認
- 同意のチェックを入れて「利用申請する」ボタンを押下
- 同意ログが保存され、運営者に申請メールが自動送信されます
- 運営者がテナントとアカウントを作成すると、SZTA ポータルからセットアップ用メールが届きます
- メール内のリンクで PIN・TOTP の初期設定を行ってログイン
申請ステータスは members.chillarin39.com/szta/ でいつでも確認できます。
3. Agent を対象ホストにインストール
ポータル画面から テナント固有のインストーラをダウンロードし、Agent を導入する PC / サーバーに展開します。
- Windows: コード署名済み
.exe+--installサービス登録 (再起動後も自動起動) - Linux: systemd ユニットで常駐
- macOS: launchd 経由 (実験的)
インストーラ内に必要な証明書と設定が埋め込まれているので、追加設定は不要です。
4. ブラウザから接続
Portal の https://<your-portal>/hosts から対象ホストを選び:
- SSH → その場でターミナルが開きます
- RDP → Guacamole 経由で Windows 画面が表示されます
- Telnet → ネットワーク機器用
- HTTP / HTTPS → 内部 Web UI へリバースプロキシ経由で直接アクセス
5. ネイティブツールを使う場合
デスクトップ版 szta-client-gui.exe をポータルからダウンロード → ログイン → ワンクリックで:
- SSH: TeraTerm / PuTTY がローカル TCP ポートに接続できるトンネルを張る
- RDP: mstsc を自動起動
対応環境
| 項目 | 対応 |
|---|---|
| Agent OS | Windows 10/11 / Linux (systemd) / macOS (experimental) |
| Portal | Proxmox VM (単一テナント)、Debian / Ubuntu LTS |
| 認証 | OIDC (Entra ID 等) / SAML / ローカル PIN + TOTP |
| ブラウザ | 最新 Chrome / Edge / Firefox / Safari |
制限事項 (β 版)
ロードマップ
| フェーズ | 内容 | 状態 |
|---|---|---|
| Phase 0 | 設計 | ✅ 完了 |
| Phase 1 | MVP (SSH 接続) | ✅ 完了 |
| Phase 2 | RDP 対応 / 証明書ローテーション / マルチテナント | ✅ 完了 |
| Phase 5 | RDP 実動作確認 (guacd 経由) | ✅ 完了 |
| Phase 6 | HTTP/S プロキシ・クリップボード/ファイル転送ポリシー制御 | ✅ 完了 |
| Phase 7 | mTLS → JWT + h2c 移行 / 自己アンインストール / 保留削除 | ✅ 完了 (2026-04-21) |
| Phase 8 | gRPC マルチテナント セキュリティ強化 | ✅ 完了 |
| Phase 8-a | OIDC / Entra ID 連携 + tenant admin スコープ化 | ✅ 完了 (2026-04-22) |
| Phase 9 | 暗号化鍵本番有効化 (TOTP/Vault) + 横断セッション impersonation 必須化 + seat 管理スキーマ | ✅ 完了 (2026-04-22) |
| Phase 10 | ブランドトークン化 (renewal/v2 体系・ダーク/ライト両モード・全 14 ページ) | ✅ 完了 (2026-04-23) |
| Phase 11 | メンバーポータル申請導線 (規約 NAS canonical + Postfix 通知 + szta_applications テーブル) | ✅ 完了 (2026-04-26) |
| Phase 12 (予定) | 承認 admin UI / 解約連動 / OIDC auto-provision | 設計中 |
| Phase 13 (予定) | 録画再生 UI の改善 / 検索インデックス | 検討中 |
| 将来 | 規模拡大時は電気通信事業届出を実施 | 未定 |
よくある質問
Q. VPN との違いは? VPN は LAN 全体への経路を提供しますが、SZTA はホスト単位・プロトコル単位のアクセス制御です。特定の SSH/RDP ポートにだけ、認可されたユーザーが期間限定で到達できます。
Q. Cloudflare Access との違いは? Cloudflare Access は Web アプリへの認証レイヤーです。SZTA はその思想を SSH/RDP/Telnet まで広げ、コマンドログ・セッション録画を含む監査機能を提供します。
Q. 自分のネットワーク(顧客 LAN) に Portal を立てたい Phase 12 以降で対応予定です。現状は β 版として、ちらりんのホームラボ上の Portal を共有利用する形です。
Q. Agent をアンインストールしたい
推奨は ポータル UI からの削除 です。ポータルでエージェントを削除すると、対象端末上の Agent に uninstall コマンドが送信され、サービス停止 → バイナリ・設定の自動削除まで完結します(オフライン時は次回オンライン復帰時に自動実行される「保留削除」にも対応)。
手動でも削除可能: Windows は szta-agent --uninstall で Windows サービス解除、Linux は systemd ユニットを無効化 → バイナリ削除。