RoamSwitch Server Edition テクニカルホワイトペーパー
クラウドおよびオンプレミス Linux インフラのためのヘッドレス自律ネットワークセキュリティ & 整合性防護スイート
エグゼクティブサマリー
RoamSwitch Server Edition は、AWS、Google Cloud、Azure、各種 VPS やベアメタルで稼働する Linux サーバ基盤のために設計された、ヘッドレス常駐型の自律ネットワークセキュリティ&整合性防護スイートです。
Wi-Fi 移動追従を中心とするクライアント端末版とは異なり、サーバ版は 「インバウンド既定拒否 (Default Drop) による最小露出」「クリティカルパス改ざん即時検知 (Critical Path FIM)」「カーネル特権昇格脆弱性 (Frag Gap CVE-2026-53362) の予防的封鎖」「eBPF によるランタイム脅威監視」「自律的 Air-Gap 遮断と緊急通知」 を中核思想に据えています。
外部通信ライブラリをデーモン本体から完全排除する Zero Telemetry 原則 をコードレベルで貫き、すべての機密情報(ボットトークンや設定)はパーミッション 0600 により暗号保護されます。
1. 概要 & 設計原則
1.1 クライアント版とサーバ版の決定的な差異
| 評価軸 | クライアント版 (Client Edition) | サーバ版 (Server Edition) |
|---|---|---|
| 稼働形態 | ラップトップ、持ち運びワークステーション | クラウド VM、ベアメタル、コンテナホスト |
| ネットワーク動作 | 接続先 Wi-Fi(SSID/MAC)に応じた動的切替 | 静的な既定拒否 (Default Drop)。必要最小限の公開ポートのみ明示許可 |
| インターフェース | GTK3 デスクトップ GUI + システムトレイ | 完全ヘッドレス。CUI コマンド + 対話型セットアップウィザード |
| インシデント通知 | デスクトップ通知 (libnotify) | Telegram, LINE Messaging API, 汎用 Webhook への即時配信 |
| 防護の重点 | 公衆Wi-Fi中間者攻撃 (ARP)、BadUSB、ランサムウェア暗号化 | ポートスキャン耐性、重要ファイル改ざん (FIM)、コンテナ脱出、カーネル特権昇格 (LPE) |
1.2 コア設計原則
- Zero Telemetry (ゼロ・テレメトリ): 利用者や環境に関する情報を外部へ一切送信しません。外部通信ライブラリを持たず、通知時のみシステム標準の
curlをサブプロセスとして実行します。 - インバウンド既定拒否 (Inbound Default Drop): 許可されたポート以外の着信パケットは
nftablesで無条件破棄され、RSTすら返さず攻撃者に対してサーバを完全ステルス化します。 - フェイルクローズド & 自己修復: 万が一外部から一時的にファイアウォールルールが消去されても、デーモンが数秒以内に自律検知して即座に再適用します。
- パーミッション 0600 による暗号保護: 設定ファイル
/etc/roamswitch/server.confは作成・更新時に自動的にパーミッション 0600 が強制されます。
2. 脅威モデル
常時インターネットに晒されている公開サーバが直面する現代の高度サイバー脅威をモデル化しています。
- 無差別ポートスキャン & 内部DB露出: 意図せず
0.0.0.0にバインドされた MySQL(3306) や Redis(6379) への即時攻撃。 - クリティカルパス改ざん (永続化バックドア): 侵入者が
/bin/loginや/etc/pam.d/*を改ざんしてバックドアを維持する試み。 - カーネル特権昇格 (Frag Gap CVE-2026-53362 等): 非特権 User Namespace を悪用したルート権限奪取。
- コンテナ脱出 (Container Breakout): ホストの
docker.sockマウントや特権コンテナを悪用したホスト乗っ取り。 - プロセスメモリからの秘密情報窃取: 他プロセスからの
ptraceやメモリ読み取りによる秘密鍵ダンプ。
3. システムアーキテクチャ
RoamSwitch Server Edition は、ヘッドレス環境に最適化された軽量な Rust ネイティブバイナリ群で構成されています。
┌─────────────────────────────────────────────────────────────┐
│ ユーザー & 管理者空間 │
│ │
│ roamswitch (CLI) roamswitch-mcp (AI Agent) │
│ ・server status (25項目診断) ・セキュリティ監査ツール群 │
│ ・server config / setup ・標準入出力 JSON-RPC │
│ ・fim verify / update │
│ │ │ │
└────────┼───────────────────────────────┼────────────────────┘
│ (CUI コマンド & 設定反映) │ (stdio)
┌────────▼───────────────────────────────▼────────────────────┐
│ システム基盤 (systemd + root 権限) │
│ │
│ roamswitch-server-daemon │
│ ├── CriticalPathFim (SHA-256 バックグラウンド巡回) │
│ ├── eBPF / Falco 連携モジュール │
│ ├── Notifier (Telegram / LINE / Webhook 即時発報) │
│ └── Air-Gap Controller (nftables 緊急遮断ルール展開) │
│ │
│ 設定管理: /etc/roamswitch/server.conf (パーミッション 0600) │
│ 整合性DB: /var/lib/roamswitch/fim_baseline.db │
└─────────────────────────────────────────────────────────────┘
4. コア防護機構の技術仕様
4.1 ネットワーク境界防護 (Inbound Default Drop)
nftables の inet filter input チェーンにおいて policy drop を適用。管理者指定ポート(ssh_ports, allowed_ports)のみを着信許可し、未許可ポートへの通信はタイムアウト(ドロップ)させます。
万が一 Air-Gap(緊急隔離)が発動した場合でも、ssh_ports で指定された管理者アクセス経路だけはルール上保持され、リモートからの復旧作業が不能になる事態を防ぎます。
4.2 クリティカルパス改ざん監視 (Critical Path FIM)
OS 起動・認証・ネットワーク・システム管理に関わる最重要バイナリおよび設定ファイル(約150箇所)の SHA-256 ハッシュ整合性を監視。apt upgrade 等の正規メンテナンス時には /etc/apt/apt.conf.d/99roamswitch-fim フックにより自動で正常ベースラインが更新されます。
4.3 カーネル堅牢化 & コンテナ監査
Frag Gap (CVE-2026-53362) 対策として user.max_user_namespaces = 0 を適用し、非特権名前空間の作成を禁止。さらに kernel.yama.ptrace_scope = 2 により他プロセスへの ptrace アタッチを拒絶します。稼働中コンテナへの docker.sock 露出も常時監査します。
4.4 eBPF ランタイム脅威監視 & ログ肥大化防止
Modern eBPF(CO-RE / BTF)プローブを用い、特権昇格やコンテナ脱出の予兆をミリ秒単位で検知。Falco 導入時に課題となりやすい「ログ肥大化・ディスク枯渇・CPU負荷」に対して、RoamSwitch は以下の最適化設定(/etc/falco/config.d/99-roamswitch-optimized.yaml)を標準配備します:
- 重要度フィルタリング (
priority: warning): 通常操作ノイズ(Info/Notice)を 95% 遮断し、真の脅威のみ抽出。 - カーネル事前ドロップ (
drop_failed_exit: true): 失敗システムコールをカーネルドライバで破棄し CPU 負荷を半減。 - メモリ最適化 (
cpus_for_each_buffer: 2): リングバッファを 8MB → 2MB へ縮小し、常駐メモリを 30〜50MB に抑制。 - ダイレクト UNIX ソケット IPC: ディスク I/O を介さず、メモリ上のソケット(
/var/run/roamswitch/events.sock)で即時連携。 - ログ自動上限 (
/etc/logrotate.d/roamswitch-falco):maxsize 50M、7世代圧縮ローテーションによりディスク枯渇を完全に防止。
4.5 自律的 Air-Gap 遮断 & 事前緊急通知
重大な改ざんやインシデント検知時、外部ネットワークを切断する直前に Telegram / LINE / Webhook へ同期的に最大3秒間の待機を行って通知パケットを確実に外部へ送出した上で、Air-Gap 遮断ルールを展開します。
🚨 [RoamSwitch IMMINENT AIR-GAP] 【緊急警告】ネットワーク完全遮断 (Air-Gap) を即時実行します (cve_2026_53362_lpe)
🚨 重大セキュリティインシデント検知: cve_2026_53362_lpe
ホスト: production-app-01 (IP: 192.168.1.10)
対象プロセス: exploit_payload (PID: 4921)
緊急対応: 被害拡大防止のため、ホストのネットワーク全遮断 (Air-Gap) を発動します (SSH管理ポートのみ維持)。
警告: この通知の送信完了直後にすべての外部インターネット通信が遮断されます。
時刻: 2026-09-06 18:00:005. 25項目 総合セキュリティ診断スイート
Server Edition では、サーバ運用に特化した 25 項目の厳格なセキュリティ監査を即時実行できます。
| # | カテゴリ | 診断項目名 (日/英) | 防護基準 & 検査内容 |
|---|---|---|---|
| 1 | 認証・アクセス | SSH rootログイン・認証設定 (SSH Root Login & Password Auth) | PermitRootLogin no & パスワード認証無効化の検証 |
| 2 | 認証・アクセス | 空パスワードアカウント不在 (Empty Password Accounts) | /etc/shadow 内の空パスワードアカウントの不在検証 |
| 3 | 認証・アクセス | sudo権限・NOPASSWD監査 (Sudoers Privilege Hygiene) | sudoers 設定における不要な NOPASSWD の監査 |
| 4 | ネットワーク | インバウンド既定拒否 (Inbound Default Deny) | nftables による未許可ポート既定ドロップの確認 |
| 5 | 整合性・カーネル | 非特権User Namespace (CVE-2026-53362対策) (Unprivileged User Namespaces) | user.max_user_namespaces=0 による LPE 攻撃経路の遮断 |
| 6 | 整合性・カーネル | eBPF BTF サポート (eBPF BTF Support) | /sys/kernel/btf/vmlinux による Modern eBPF 稼働環境検証 |
| 7 | 整合性・カーネル | eBPF LSM 有効化 (eBPF LSM Active) | カーネル起動引数 lsm=...bpf の有効性確認 |
| 8 | 整合性・カーネル | eBPF ランタイムエージェント (eBPF Runtime Security Agent) | Falco / Tetragon 等のエージェント稼働状態の確認 |
| 9 | コンテナ | Dockerソケットマウント露出監査 (Docker Socket Mount Audit) | コンテナへの /var/run/docker.sock マウントの不在検証 |
| 10 | コンテナ | Docker 特権コンテナ監査 (Docker Privileged Containers) | --privileged フラグ付き高リスクコンテナの不在検証 |
| 11 | 整合性 | クリティカルパス改ざん監視 (FIM) (Critical Path File Integrity) | 150+ 重要バイナリの SHA-256 ハッシュ整合性検証 |
| 12 | 整合性・カーネル | Yama LSM プロセス保護 (Yama Process Protection) | kernel.yama.ptrace_scope = 2 によるメモリ盗聴防止 |
| 13 | ネットワーク | IPフォワーディング無効化 (IP Packet Forwarding Disabled) | net.ipv4.ip_forward = 0 による中継ルーター化防止 |
| 14 | ネットワーク | TCP SYN Cookie 有効化 (TCP SYN Cookie Protection) | net.ipv4.tcp_syncookies = 1 による DoS 耐性の確保 |
| 15 | ネットワーク | IPスプーフィング防止 (rp_filter) (Reverse Path Filtering) | net.ipv4.conf.all.rp_filter = 1 による偽装パケット破棄 |
| 16 | 整合性・カーネル | コアダンプ無効化 (Core Dump Restriction) | fs.suid_dumpable = 0 によるクラッシュ時の機密漏洩防止 |
| 17 | 運用・パッチ | 自動セキュリティ更新 (Unattended) (Automatic Security Updates) | unattended-upgrades によるパッチ自動適用設定 |
| 18 | 運用・パッチ | NTP 時刻同期の正常性 (NTP Time Synchronization) | chrony 等による正確な監査ログ・証明書整合性の確保 |
| 19 | 運用・パッチ | SSH ブルートフォース防御 (SSH Brute-force Protection) | fail2ban / crowdsec の常時稼働確認 |
| 20 | 整合性・カーネル | 非特権eBPF実行の禁止 (Unprivileged eBPF Disabled) | kernel.unprivileged_bpf_disabled = 1 による Spectre/LPE 防止 |
| 21 | ネットワーク | ICMPリダイレクト無視 (ICMP Redirects Ignored) | accept_redirects = 0 による中間者経路偽装の防止 |
| 22 | ネットワーク | ブロードキャストPing拒否 (ICMP Echo Broadcasts Ignored) | icmp_echo_ignore_broadcasts = 1 による Smurf DoS 踏み台化防止 |
| 23 | 整合性・カーネル | 共有メモリマウント保護 (Shared Memory Hardening) | /dev/shm への nodev,nosuid オプションの強制 |
| 24 | 認証・アクセス | レガシー非暗号化サービス不在 (Legacy Insecure Protocols Absent) | telnet, rsh, tftp 等の平文デーモンの完全排除 |
| 25 | 整合性・カーネル | SUIDコアダンプ制限 (SUID Process Core Dumps Restricted) | SUID プロセスクラッシュ時のメモリダンプ生成阻止 |
6. ペンテスト実証報告 (Docker Environment)
Docker 分離テストネットワーク(roamswitch-pentest-net)内に Target(防護対象: 172.28.0.10)と Attacker(外部攻撃者: 172.28.0.20)を構築し、侵入テストを実施しました。
| 検証項目 | 攻撃シナリオ | 防御機構 | 実証結果 |
|---|---|---|---|
| Nmap SYN スキャン | ポート 22, 80, 443, 3306, 8080 へのステルス探索 | nftables Default Drop | 合格 (100% 遮断) 未許可の 3306 (MySQL) や 8080 は一切応答せず破棄(Filtered) |
| 未許可ポート接続 | curl によるポート 3306 / 8080 への直接アクセス | インバウンド既定拒否 | 合格 許可ポート 80 のみ正常応答、他はタイムアウト遮断 |
| FIM 改ざん攻撃 | /bin/login へのバックドアデータ注入 |
SHA-256 Critical Path FIM | 合格 (即時検知) ミリ秒単位で [MODIFIED] /bin/login を検知・終了コード 1 出力 |
| カーネル LPE 悪用 | 一般ユーザー権限での unshare -U -r 実行 |
Frag Gap CVE-2026-53362 対策 | 合格 (即時拒絶) カーネルにより Operation not permitted で完全ブロック |
7. 運用・保守・ライフサイクル
7.1 CUI コマンド & セットアップウィザード
ヘッドレス運用のため、すべての管理操作は CUI から完結します:
roamswitch server status: 25項目の診断レポートを出力(完全日英切替)。roamswitch server setup: 対話型ウィザードによるポート設定、Telegram/LINE/Webhook 設定。roamswitch server config show / set <key> <val>: 自動化スクリプト・CI/CD 用のワンライナー設定。roamswitch server test-notify [all|telegram|line|webhook]: 通知疎通テストの実行。
7.2 パッケージング & 配布
Debian / Ubuntu 向け .deb パッケージ、RHEL / Fedora 向け .rpm パッケージ、Arch Linux AUR(roamswitch-server-bin)により標準提供されます。
8. まとめ
RoamSwitch Server Edition は、クラウドおよびエンタープライズの Linux インフラストラクチャに対して、「ゼロ・テレメトリによる絶対的プライバシー」「インバウンド既定拒否の強固な境界防護」「クリティカルパス改ざんの即時検知」「カーネル特権昇格の予防的遮断」 を単一の統合パッケージで提供します。
サイバー攻撃者が狙う攻撃ベクトルの全段階(初期偵察、侵入、特権昇格、永続化)に対し、多層防御と自律的封鎖(Air-Gap)を実現する次世代の Linux サーバセキュリティ標準です。