エディション macOS Linux Sensor

危険を検知した瞬間、Linux は自動で「隔離」される。

デスクトップPCからクラウドVPS・データセンターまで。複雑な設定なしで Linux を自律防御。クライアント版は接続中のWi-Fi(ゲートウェイMAC)をリアルタイム識別し nftables プロファイルを自動切替、VPNキルスイッチ・受動リンクガード・USB防御を装備。サーバー版はインバウンド既定拒否(Default Drop)とSSH締め出し防止、eBPF/Falco侵入検知によるミリ秒ホスト隔離、クリティカルパス改ざん監視(FIM)、Slack/Discord等への即時緊急通知を完全ヘッドレスで提供。AIエージェント向けMCPサーバー同梱、完全ローカル完結(Zero Telemetry)。

✦ 無償・全機能同梱・ライセンス認証不要 🖥️ クライアント(デスクトップ)& サーバー両対応
RoamSwitch for Linux — autonomous network defense: Wi-Fi identification and nftables profile switching, ransomware behaviour detection and AIR-GAP isolation, USB / BadUSB guard, a 27-item security assessment, an MCP server, and Zero Telemetry

お使いのディストリビューションから導入

公式リポジトリを追加すると、以後は通常の更新コマンドで更新が流れ、アプリ内の更新確認も機能します。用途に合わせて「クライアント版(デスクトップ)」または「サーバー版(ヘッドレス)」を選択してください。

Ubuntu / Debian / Mint / Pop!_OS / Raspberry Pi OS(APT)

curl -fsSL https://lafine.net/apt/roamswitch-archive-keyring.asc \
  | sudo gpg --dearmor -o /usr/share/keyrings/roamswitch-archive-keyring.gpg
echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/roamswitch-archive-keyring.gpg] https://lafine.net/apt stable main" \
  | sudo tee /etc/apt/sources.list.d/roamswitch.list
sudo apt update && sudo apt install roamswitch

Fedora / RHEL / CentOS Stream(DNF)

sudo rpm --import https://lafine.net/rpm/RPM-GPG-KEY-roamswitch
sudo curl -fsSL -o /etc/yum.repos.d/roamswitch.repo https://lafine.net/rpm/fedora/roamswitch.repo
sudo dnf install roamswitch

openSUSE(zypper)

sudo rpm --import https://lafine.net/rpm/RPM-GPG-KEY-roamswitch
sudo zypper addrepo https://lafine.net/rpm/opensuse/roamswitch.repo
sudo zypper refresh && sudo zypper install roamswitch

Arch / Manjaro / EndeavourOS

AUR には未登録です。同梱の PKGBUILD からビルドしてください(リリース tarball を署名鍵で検証します)。

gpg --recv-keys 9C12964366B8547511AAEAF5773A9A39ECBD1537
curl -fsSLO https://lafine.net/linux/dl/PKGBUILD
curl -fsSLO https://lafine.net/linux/dl/roamswitch.install
makepkg -si

リポジトリを使わない場合は lafine.net/linux/dl から署名付き tarball(amd64 / aarch64、.tar.gz + .tar.gz.asc)を直接ダウンロードできます(この場合アプリ内の更新検知は働きません)。

インストール後、roamswitch.service が自動起動し、ログイン時にトレイアイコンが常駐します。初回起動時にオンボーディング(GTK セットアップウィザード)が表示されます。CLI は roamswitch status で、OS のロケールに応じて日本語または英語で診断結果を表示します。

主な機能

Linux ネイティブで動く自律防御

🛡️ nftables プロファイル自律切替クライアント版限定

信頼ネットワーク(自宅)では快適なローカル通信を許可、職場では不審ポートを監視、公衆Wi-Fiでは全着信をステルス遮断。ゲートウェイMACで判定し、切替はミリ秒単位。

🚨 ランサムウェア自律隔離クライアント版限定

fanotify + シャノンエントロピーで、暗号化の書き込みバーストを検知し、該当プロセスを SIGSTOP で凍結して通知します(通知に解除のコマンドを含みます)。あわせて、全外部通信と共有サービスを緊急遮断します(Air-Gap)。カナリア(おとりファイル)の改ざんを検知したときも、同じく緊急遮断します。書き込まれたファイルの YARA 検査は別に行います。

🧷 不審な自動起動の検知クライアント版限定

新しく作られた、または書き換えられた自動起動の登録(systemd、cron、デスクトップの自動起動)を調べ、リバースシェル、復号してそのまま実行、ダウンロードしてそのまま実行、一時フォルダーや隠しフォルダーのプログラムの実行のような、マルウェアの残り方に見えるものだけを通知します。通知のみで何も止めず、普通に見える登録は記録するだけです。既定でオンです。

📶 Wi-Fi 暗号化強度の警告クライアント版限定

暗号化なし(Open)や WEP/WPA への接続時に、保護レベルの自動引き上げとデスクトップ通知。共有サービス(SSH/Samba/RDP)の自動停止・復元にも対応します(既定でオン。いつでもオフにできます)。

🔌 不正USB / BadUSB ガードクライアント版限定

承認されていない USB ストレージは接続を保留して承認ダイアログを表示。キーストローク注入デバイス(BadUSB キーボード)は evdev で入力だけをソフト的に抑止します(カーネル層でポートを物理切断はしません)。ダウンロードフォルダの ClamAV 自動スキャン・隔離も同梱。

📜 27/34項目セキュリティ総合診断

LUKS・Secure Boot・LSM・SSH/sudo・sysctl・ARP固定・外部公開ポート・ブラウザ Safe Browsing などクライアント27項目、サーバー版はCIS基準34項目を全10言語でスコアリング。GUI / CLI / MCP から参照可能。

🤖 MCP サーバー同梱

roamswitch-mcp により Claude 等の AI エージェントから JSON-RPC (stdio) でセキュリティ状態を読み取り可能。読み取り専用・完全ローカル。MCP連携設定 を参照。

🔒 VPN トンネル + キルスイッチクライアント版限定

公衆Wi-Fi では WireGuard または Tailscale(Exit Node)で全通信を暗号化トンネルへ。nftables キルスイッチがトンネル外への平文漏れを遮断し、トンネルが切れても素通しにしません(fail-closed)。中間者攻撃(MITM)対策の本命です。

🎣 受動リンクガード(フィッシング接続の遮断)クライアント版限定

外向き接続の宛先ホスト名を DNS 質問・TLS SNI・HTTP Host から取得し、フィッシング/詐欺サイトへの接続を警告・遮断(既定は block、DoH ブラウザにも有効)。warn モードは無応答なら fail-closed。判定はローカルのフィード+ヒューリスティックのみで、宛先はどこにも送信しません。

🖧 サーバー自律防御 & SSH締め出し防止サーバー版限定

クラウドVPSやデータセンター向けに、インバウンド既定拒否(Default Drop)を自動適用。接続中の管理用SSHセッション(ESTABLISHED)を保護し、管理者の締め出しを未然に防ぎます。任意の guard.yaml で重大度ごとの封じ込め動作とセーフティタイマー(無応答なら自動復帰)を細かく設定可能。1.10.4 以前のサーバー版には、隔離用ルールが SSH の応答を落とし、隔離中は管理者の SSH が通らない不具合がありました。1.10.5 で修正しています。

⚡ eBPF 侵入検知 & 自律隔離(Falco / Tetragon)

カーネル層のeBPFイベント(リバースシェル、特権昇格、不正バイナリ実行)をUNIXソケット経由でリアルタイム捕捉。センサーは Falco(既定)と Cilium Tetragon(gRPC)のどちらも選択可能。侵害プロセス(SIGSTOP/SIGKILL)やホスト(Air-Gap)をミリ秒で自律隔離します。Server Edition には、検知から対処までの時間の計測、警報経路のハートビート、RoamSwitch 自身のリバースシェル検知もあります。

📂 クリティカルパス FIM(ファイル改ざん監視)

/etc/shadow、/etc/pam.d、/usr/bin/ などの主要システムバイナリ・設定のSHA-256ハッシュをイベント駆動で監視し、改ざん発生の瞬間に検知します(周期スキャンはバックストップ)。バックドア設置や不正な改ざんを即時検知し、安全に報告・隔離します。通知には、変更したプロセスと、そのプロセスが属する SSH ログイン(接続元・時刻・認証方法)を添えます。

🔐 SSH 総当たりの検知と遮断

sshd のログイン失敗を書かれた瞬間に読み、閾値に達した接続元の新しい接続を遮断し、その接続元がすでに張っていた SSH の接続も切ります(認証済みのセッションと、免除した接続元は切りません)。サーバー版は既定で有効です。クライアント版は、sshd が動いているときだけ働きます。fail2ban や CrowdSec が sshd を守っているときは、検知と通知だけを行います。

🧠 リソース枯渇・プロセス異常検知ガードサーバー版限定

メモリリークDoS攻撃とクラッシュループ(UAFエクスプロイトの兆候)を検知。GC付きランタイムの正常な鋸波状メモリ増減は誤検知せず、「リカバリの無い持続的なRSS増加」のみを判定。クラッシュループはsystemd自身の固定語彙を構造的に判定(新規ポーリング無し)。eBPF/FIMイベントとPID単位で相関させ、確信度(possible/correlated)を付与します。

🧱 Egress / C2 遮断 & DNS シンクホールサーバー版限定

既知の悪性IPへの発信をローカルの脅威フィードで自動遮断。任意で DNS シンクホール(Quad9 / Cloudflare / AdGuard / CleanBrowsing)を有効化し、悪性ドメイン解決も封じます(社内DNS環境を壊さないよう既定OFF)。

📢 マルチチャネル緊急通知サーバー版限定

侵害の検知・プロセスキル・Air-Gap隔離・FIM違反が発生した瞬間、Slack、Discord、Microsoft Teams、Syslog、Webhook へ詳細なインシデント情報を即座に通報します。

🐳 Docker リスク検知 & ファイアウォール迂回対策

特権コンテナ(--privileged)や docker.sock マウントの起動を docker events でリアルタイム検知(通知専用)。DOCKER-USER チェーンによるファイアウォール迂回対策はクライアント・サーバー版の両方で常時有効です。

🧫 File Scan Guard(YARA + ClamAV)サーバー版限定

メール中継・共有フォルダ・アップロード先など、他者に渡すファイルを保管するディレクトリを定期スキャン(クライアント版のダウンロードフォルダ自動スキャンとは別に、任意の共有ディレクトリを対象とする追加レイヤーです)。組み込みYARAは外部依存なしで常時動作し、任意でClamAVを追加。確認済みの脅威は自動隔離されます。

🔑 機密情報・APIキー漏洩スキャナ

OpenAI・Anthropic・AWS・GitHub・Slack・Stripe等のAPIキーやSSH秘密鍵をテキストだけでなくディレクトリ全体からも検出(.git 等は自動除外)。CLI・MCP・Python SDKから利用可能で、内容は一切外部送信されません。

📦 パッケージCVE照合(dpkg/pacman/dnf/zypper + 依存関係)クライアント版限定

インストール済みのOSパッケージと、開発中プロジェクトの依存関係(npm・PyPI・crates.io等7エコシステム)を、ローカルに保持した既知CVEマップと突き合わせます。ネットワーク接続は一切行いません。

🖥️ ClickFix対策:クリップボード監視で不正コマンドを検知・削除クライアント版限定

偽の広告やCAPTCHA画面が「認証コードをコピーして貼り付けてください」のように誘導し、実は不正なコマンドを実行させる「ClickFix」型攻撃に対応。gtk::Clipboardによるポーリング(X11/Wayland両対応)でコピーされた瞬間に検知し、既知の不正パターンであれば内容を自動削除して警告します。貼り付け先が端末・GNOME/KDEの実行ダイアログのいずれであっても、コピー時点で一律に検知できます。

🔔 通知履歴(過去1週間)

RoamSwitchが送信した通知を、表示された瞬間だけでなく後からも振り返れます。CLI(roamswitch notifications)・GUI・MCP(get_notification_history)・Python SDKから参照可能。保持期間を過ぎた通知は自動的に削除されます。

🕵️ DNSトンネリング/持ち出し検知

iodine・dnscat2等のDNSトンネリングツールが使う、ラベルが長く高エントロピーな、またはTXT/NULLタイプの不審な形のクエリを検知。DNS以外は一切検査対象にせず、検知プロセスが停止していても名前解決を妨げません。クライアント・サーバー版共通。

📊 脆弱性スキャンの実施状況(経過日数)クライアント版限定

実証型脆弱性診断の各項目について、最後に確認できた結果と経過日数をGUI / CLI / MCPから確認できます。「いつ最後に確認したか」を可視化します。

↓ GTK ネイティブ。実際の画面はこのように動作します
🖥️ ネットワーク管理 & 保護プロファイル (GTK Native)
RoamSwitch for Linux メインウィンドウの実機画面

接続中のゲートウェイMACを識別し、nftables プロファイルを自律切替。共有サービス制御・ARP固定もこの画面から。

📋 トレイメニュー (AppIndicator / SNI)
RoamSwitch for Linux トレイメニューの実機画面

保護レベルの即時切替、手動オーバーライドの有効期間、DNS 脅威保護、言語切替をトレイから操作。

対応環境

完全対応Ubuntu 22.04 / 24.04、Debian 12+、Linux Mint、Pop!_OS、elementary、Zorin、Raspberry Pi OS 64bit (Bookworm)、Ubuntu for Raspberry Pi、Fedora、Rocky Linux、AlmaLinux、openSUSE、Arch Linux
アーキテクチャx86_64 / aarch64(Raspberry Pi 4 / 5、AWS Graviton 等)
必須systemd、nftables。クライアント版トレイUIには AppIndicator/StatusNotifierItem 対応デスクトップ(KDE / Cinnamon / MATE / Budgie、拡張機能ありの GNOME)。サーバー版はヘッドレスで完全動作。
パッケージAPT(Ubuntu/Debian 系)、DNF(Fedora/RHEL/Rocky/Alma)、zypper(openSUSE)、AUR(Arch)。非 systemd 系(Alpine / Void / Devuan)は非対応です。
用途ワークステーション・ノートPC向けのクライアント版(GUI/トレイ同梱)と、クラウドVPS・コンテナホスト・データセンター向けのサーバー版(ヘッドレス・Default Drop・eBPF/Falco連携)の2つのパッケージを提供しています。

同梱アプリ

クライアント版のパッケージ(deb・rpm・tarball)には、RoamSwitch とは別のアプリが3つ(PersonalSOC・PathScope・AccessScope)同梱されています。どれも独自のアイコンを持ち、アプリの一覧から開けます。ライセンスは Apache License 2.0 で、RoamSwitch の使用許諾契約(EULA)の対象ではありません。サーバー版(ヘッドレス)には、AccessScope のコマンド(accessscope)だけが入り、画面のアプリは含まれません。

PersonalSOC端末のログと防御の状況を集めて、ボタン一つで一枚のレポートにする、パーソナル・セキュリティ運用センターです。LLM 連携は任意で、既定はオフです。
PathScope一般のユーザーから root に届く経路を洗い出し、先に直す場所を示す、権限昇格の経路分析ツールです。LLM 連携は任意で、既定はオフです。
AccessScopeWeb サーバと SSH のアクセスログから、攻撃の試みを根拠のログ行つきで見つける、アクセスログのセキュリティ診断ツールです。LLM 連携は任意で、既定はオフです。サーバー版のパッケージにも、コマンド(accessscope)が入ります。
更新と依存同梱アプリは、RoamSwitch のパッケージの更新で新しくなります。画面の表示に WebKitGTK 4.1(libwebkit2gtk-4.1)が必要で、deb / rpm では自動で入ります。Arch(AUR)では webkit2gtk-4.1 を任意の依存として入れてください。

クライアント版 / サーバー版の比較

ワークステーション・ラップトップ向けの「クライアント版」と、クラウドVPS・コンテナホスト・データセンター向けの「サーバー版」。環境に応じた最適な自律防御を提供します。

領域 クライアント版(デスクトップ) サーバー版(ヘッドレス)
ネットワーク判定・プロファイル切替Wi-Fi / ゲートウェイ MAC で自律切替(3プロファイル)静的ポリシー(/etc/roamswitch/server.conf・Default Drop 固定)
ファイアウォール姿勢開放 / 標準 / ロックダウンの自動選択既定拒否(Default Drop)+ 公開サービスポート明示許可 + SSH締め出し防止
外向き通信(egress)受動リンクガード・DNS 脅威保護でフィッシング遮断C2・悪性ドメインの egress 遮断 + DNS シンクホール(任意)+ ホストAir-Gap緊急隔離
VPN トンネル + キルスイッチ✅ WireGuard / Tailscale❌ 非対応(管理アクセスは SSH のみ。VPN が必要な場合は OS 標準の WireGuard 等を別途構築してください)
ランサムウェア・改ざん・侵入検知fanotify ランサムウェア自律検知・プロセス凍結eBPF侵入検知(Falco / Tetragon)+ クリティカルパス FIM(イベント駆動・即時検知)+ リソース枯渇・クラッシュループ検知
カーネル堅牢化(sysctl / Yama / noexec)未信頼ネットワーク接続時に適用恒常適用(Dockerバイパス防止フィルタ同梱)
セキュリティ健全性診断✅ 27 項目(GUI / CLI / MCP)✅ 34 項目(CIS Benchmark基準・CLI / MCP)
操作 UIGTK GUI + トレイ + CLI + MCPCLI(roamswitch status --server / setup)+ MCP + ヘッドレス
緊急通知デスクトップ通知(GTK / libnotify)Slack / Discord / Teams / Syslog / Webhook 即時通報
集中管理・監査【計画中・未提供】Business ライセンスで追加【計画中・未提供】Business ライセンスで追加(署名付きポリシー配布・定期 checkin、無償版はローカル完結)
詳細ドキュメント セキュリティ設計書 (Client) → サーバー版 運用マニュアル → / セキュリティ設計書 (Server) →

サーバー版 運用マニュアル → セキュリティ設計書 (Linux サーバー版) → CLI / ヘッドレス運用ガイド →

🏢 RoamSwitch Business(組織向け)

個人版(Community Edition)は無償・全機能開放です。複数台の Linux 端末を組織で統制したい場合に向け、有償の Business として次の管理レイヤーを計画しています(いずれも現時点では未提供)。端末側の防御(nftables 切替・ランサムウェア隔離・USB 防御・DNS・診断・MCP)は Community に含まれ、Business での削減は想定していません。

計画中の機能概要
フリート集中管理【計画中・未提供】Ed25519 署名の組織トークンで端末を登録し、保護レベル・診断スコア・ポリシー適用状況を定期 checkin で集約。
署名付きポリシー一括配布【計画中・未提供】信頼ネットワーク・外出先レベル・共有サービス制御・各ガードの強制値を Ed25519 署名 JSON で配布。端末側はロック表示。
署名済み社内 APT / RPM組織専用の GPG 鍵で署名した private リポジトリ。アプリ内の更新確認はそのまま機能。
SLA サポート導入設計・ポリシー設計・障害対応の窓口を契約ベースで提供(日本語・JST 営業日)。

現時点で管理サーバーやフリート管理機能は存在せず、Community Edition は管理サーバーと通信しません(Zero Telemetry)。Business の管理機能は開発ロードマップ上の計画で、導入する場合は組織が明示的に登録した端末のみを対象とするオプトインとし、送信項目を事前に公開する方針です。macOS 版の Pro Lifetime をお持ちの方への無償付与は提供開始時の予定です。価格・提供時期はお問い合わせください。

Business について問い合わせる

🔒 Zero Telemetry / ライセンス

通信内容・接続履歴・閲覧URL・システムログを外部へ送信することは一切ありません。クライアント版が既定で行う外向きの通信は、署名付きの検出データなどを受信する、1日1回の更新だけです(利用者・端末の情報は含まれず、設定で停止できます)。サーバー版が既定で行う外向きの通信も、署名付きデータ(カーネル CVE データ、Web ルール、Ubuntu サーバーでは OS パッケージ CVE 照合用の Ubuntu のパッケージ CVE データ)を受信する匿名の取得だけです(マニフェストの確認は毎日、CVE データ本体は約30日に1回。このホストの情報は含まれず、運用者が止められます)。そのほかは、運用者がオプトインしない限り外部へ通信しません。RoamSwitch for Linux はプロプライエタリ・フリーウェアで、公式配布パッケージ(.deb)は改変せず著作権表示を保持したまま再配布できます。ソースコードは非公開です。全文は /usr/share/doc/roamswitch/copyright。RoamSwitchKit SDK は別途オープンソースで提供されます。 同梱の別アプリ(PersonalSOC・PathScope・AccessScope)の LLM 連携(PathScope の「LLM補助」、AccessScope の LLM による分析とログ探索を含む)は、いずれもアプリで既定オフです。有効にすると、選んだ LLM のコマンドを通じて内容が外部に送られることがあります(詳細は各アプリのページ)。