版本 macOS Linux Sensor

偵測到危險的瞬間,Linux 會自動「隔離」。

從桌面到雲端VPS,無需複雜設定即可讓Linux自主防禦。用戶端版提供Wi-Fi自動辨識與VPN斷網開關,伺服器版提供SSH鎖定防護與毫秒級入侵偵測,兩者皆為完全無頭(headless)運作。

✦ 免費 · 全功能包含 · 無需啟用 🖥️ 同時支援用戶端(桌面)與伺服器
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

從你的發行版安裝

新增官方套件庫後,即可透過一般更新指令升級,應用程式內的更新檢查也會生效。相依套件(nftables、CJK 字型等)會自動安裝。

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)

Not published on the AUR. Build from the bundled PKGBUILD (the release tarball is verified against the signing key).

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(.tar.gz + .tar.gz.asc, amd64 / aarch64)을 직접 내려받을 수 있습니다(이 경우 앱 내 업데이트 확인은 동작하지 않습니다).

安裝後 roamswitch.service 會自動啟動,登入時系統匣圖示常駐。首次啟動會顯示導覽精靈(GTK)。CLI(roamswitch status)會依系統語系以日文或英文輸出診斷結果。

主要功能

以 Linux 原生方式運行的自主防禦

🛡️ nftables 設定檔自主切換僅限用戶端版

在受信任網路(家中)允許順暢的本機通訊,在公司監控可疑連接埠,在公共 Wi-Fi 上隱形丟棄所有傳入。以閘道 MAC 判定,切換為毫秒級。

🚨 勒索軟體自主隔離僅限用戶端版

透過 fanotify + 夏農熵偵測加密寫入爆發,以 SIGSTOP 凍結相關程序並發出通知(通知中包含解除凍結的指令)。同時會緊急切斷全部外部通訊與共享服務(Air-Gap);偵測到金絲雀(誘餌檔案)遭竄改時同樣如此。對寫入檔案的 YARA 檢查另行進行。

🧷 可疑自動啟動偵測僅限用戶端版

檢查新建立或被改寫的自動啟動項目(systemd、cron、桌面自動啟動),只對看起來像惡意軟體持久化手法的項目發出通知:反向 shell、解碼後直接執行、下載後直接執行,或執行位於暫存/隱藏資料夾中的程式。僅通知,不阻擋任何操作;看起來正常的項目只會記錄。預設開啟。

📶 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 檢視。 每個項目還附帶 NIST CSF 2.0 / CIS Controls v8 對照,可用於稽核。

🤖 內建 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)

透過 UNIX socket 即時擷取核心層級的 eBPF 事件(反向 Shell、權限提升、未授權二進位執行)。感測器可於 Falco(預設)與 Cilium Tetragon(gRPC)間選擇。以毫秒等級自主隔離遭入侵的處理程序(SIGSTOP/SIGKILL)或主機(Air-Gap)。Server Edition 還會量測從偵測到處置的時間,用心跳檢測確認警報通道,並自己偵測反向 Shell。

📂 關鍵路徑 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 環境,預設為關閉)。

📢 多管道緊急通知僅限伺服器版

當偵測到入侵、終止處理程序、Air-Gap 隔離或 FIM 違規發生的當下,立即將詳細事件資訊發送至 Slack、Discord、Microsoft Teams、Syslog、Webhook。

🐳 Docker 風險偵測 & 防火牆繞過對策

透過 docker events 即時偵測特權容器(--privileged)或 docker.sock 掛載的啟動(僅通知)。以 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 防護:監控剪貼簿偵測並清除惡意指令僅限用戶端版

因應「ClickFix」型攻擊——偽造的廣告或驗證碼頁面誘導使用者「複製驗證碼並貼上」,實際貼上的卻是惡意指令。透過 gtk::Clipboard 輪詢(X11 與 Wayland 皆支援)在複製的瞬間偵測,一旦是已知惡意模式即自動清除內容並發出警告。無論貼上目標是終端機還是 GNOME/KDE 執行對話框,都能在複製時統一偵測。

🔔 通知歷史(過去7天)

回顧 RoamSwitch 傳送過的通知,而不僅限於通知出現的那一刻。可透過 CLI(roamswitch notifications)、GUI、MCP(get_notification_history)及 Python SDK 查詢。超過保留期限的通知會自動刪除。

🕵️ DNS 通道/資料外洩偵測

偵測 iodine、dnscat2 等 DNS 通道工具所依賴的可疑查詢形態——標籤過長且高熵,或 TXT/NULL 類型。絕不檢查非 DNS 流量,偵測程序停止也不會影響網域解析。用戶端與伺服器版皆支援。

📊 漏洞掃描時效追蹤(間隔天數)僅限用戶端版

針對每個實證型漏洞探測項,可從 GUI / CLI / MCP 檢視最後一次確認的結果及經過天數,讓「上次確認是什麼時候」一目了然。

↓ 原生 GTK。實際畫面運作效果如下
🖥️ 網路管理與保護設定檔(原生 GTK)
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 64 位元 (Bookworm)、Ubuntu for Raspberry Pi
架構x86_64 / aarch64(Raspberry Pi 4 / 5)
必要systemd、nftables。系統匣 UI 需要支援 AppIndicator/StatusNotifierItem 的桌面(KDE / Cinnamon / MATE / Budgie,或安裝擴充功能的 GNOME)。無頭環境可用 daemon + CLI + MCP 運行。
套件APT(Ubuntu/Debian 系)、DNF(Fedora/RHEL)、zypper(openSUSE)、AUR(Arch)。不支援非 systemd 發行版(Alpine / Void / Devuan)。
用途我們提供兩種套件:面向工作站、筆記型電腦的用戶端版(含 GUI/系統匣),以及面向雲端 VPS、容器主機、資料中心的伺服器版(無頭・Default Drop・eBPF/Falco 整合)。

隨附應用程式

用戶端版套件(deb、rpm、tarball)隨附三個獨立於 RoamSwitch 的應用程式(PersonalSOC、PathScope、AccessScope)。它們各有自己的圖示,可從應用程式清單開啟。授權為 Apache License 2.0,不屬於 RoamSwitch 使用授權合約(EULA)的適用範圍。伺服器版(無介面)只包含三個指令(personalsoc、pathscope、accessscope),不含介面應用程式。

PersonalSOC彙整本裝置的日誌與防護狀況,按下按鈕即可產生一份報告的個人資安營運中心。LLM 串接為選用項目,預設關閉。
PathScope找出一般使用者可以到達 root 的路徑,並指出應先修補的地方的提權路徑分析工具。LLM 串接為選用項目,預設關閉。
AccessScope存取日誌的資安診斷工具,從 Web 伺服器與 SSH 的存取日誌中找出攻擊嘗試,並附上作為依據的日誌行。LLM 串接為選用項目,預設關閉。伺服器版套件中也包含該指令(accessscope)。
更新與相依套件隨附的應用程式會隨 RoamSwitch 套件的更新一併更新。視窗顯示需要 WebKitGTK 4.1(libwebkit2gtk-4.1),deb / rpm 會自動安裝;在 Arch(AUR)上請將 webkit2gtk-4.1 作為選用相依套件安裝。

用戶端版 / 伺服器版比較

面向工作站、筆記型電腦的「用戶端版」,以及面向雲端 VPS、容器主機、資料中心的「伺服器版」。針對不同環境提供最適合的自主防禦。

領域 用戶端版(現行) 伺服器版(無頭)
網路判定與設定檔切換依 Wi-Fi / 閘道 MAC 自主切換(3 套設定檔)Static policy (/etc/roamswitch/server.conf, fixed Default Drop)
防火牆姿態自動在開放 / 標準 / 鎖定間選擇預設拒絕 + 僅明確放行對外服務連接埠(最小化入站)
出站(egress)流量被動連結防護 + DNS 威脅防護攔截釣魚對 C2 / 惡意網域的出站攔截 + 發起限制
VPN 隧道 + 斷網開關✅ WireGuard / Tailscale❌ 不支援(管理存取僅限 SSH。若需要 VPN,請自行透過作業系統建置 WireGuard 等)
勒索軟體偵測與自主隔離 / fanotify 惡意軟體掃描基於 fanotify 的勒索軟體自主偵測與處理程序凍結eBPF 入侵偵測(Falco / Tetragon)+ 關鍵路徑 FIM(事件驅動、即時偵測)+ 資源耗盡/當機迴圈偵測
核心強化(sysctl / Yama / noexec)接入不受信任網路時套用恆常套用
安全健全性診斷✅ 27 項(GUI / CLI / MCP)✅ 34 項(CIS Benchmark 基準・CLI / MCP)
操作介面GTK GUI + 系統匣 + CLI + MCPCLI + MCP + 遠端管理(無頭)
緊急通知桌面通知(GTK / libnotify)Slack / Discord / Teams / Syslog / Webhook 即時通報
集中管理與稽核【規劃中·尚未提供】透過 Business 授權追加【規劃中·尚未提供】透過 Business 授權追加(簽章政策派送、定期簽入;免費版完全在地運行)
詳細文件 安全白皮書 (Client) → 伺服器版維運手冊 / 安全設計白皮書 (Linux 伺服器版)

伺服器版維運手冊 安全設計白皮書 (Linux 伺服器版) CLI / 無頭運維指南 →

🏢 RoamSwitch Business(面向組織)

個人版(Community Edition)免費且全功能開放。為便於組織統一管理多台 Linux 裝置,我們規劃在付費 Business 中提供以下管理層(目前均尚未提供)。裝置端防護(nftables 切換、勒索軟體隔離、USB 防護、DNS、診斷、MCP)包含在 Community 中,Business 不會刪減這些功能。

規劃中的功能概要
車隊集中管理【規劃中·尚未提供】以 Ed25519 簽章的組織權杖註冊裝置,透過定期 check-in 彙總保護等級、診斷分數與政策套用狀態。
簽章政策批次派送【規劃中·尚未提供】將信任網路、外出等級、共享服務控制與各項防護的強制值以 Ed25519 簽章 JSON 派送。裝置端顯示鎖定。
簽章的內部 APT / RPM以組織專用 GPG 金鑰簽章的私有儲存庫。應用程式內更新檢查照常運作。
SLA 支援以合約為基礎提供匯入設計、政策設計與障礙處理窗口(日語、JST 工作日)。

目前不存在管理伺服器或集中式裝置管理功能,Community Edition 也不與任何管理伺服器通訊(Zero Telemetry)。Business 的管理功能屬於開發路線圖中的規劃;若引入,將採用僅針對組織明確登記裝置的選擇加入方式,並事先公開傳送的項目。面向 macOS 版 Pro Lifetime 使用者的免費授予計劃於推出時實施。價格與上線時間請洽詢。

諮詢 Business

🔒 Zero Telemetry / 授權

絕不會將通訊內容、連線紀錄、瀏覽 URL 或系統記錄傳送到外部。用戶端版預設只有一種對外連線:每天一次、僅接收簽章偵測資料等的更新(不含任何使用者或裝置資訊,可在設定中關閉)。伺服器版預設也只有一種對外連線:僅接收簽章資料(核心 CVE 資料、Web 規則,以及在 Ubuntu 伺服器上用於作業系統套件 CVE 比對的 Ubuntu 套件 CVE 資料)的匿名取得(清單每天確認一次,CVE 資料本體約每 30 天一次;不含本主機的任何資訊,維運人員可以關閉)。除此之外,除非維運人員主動啟用,否則不會對外通訊。RoamSwitch for Linux 為專有免費軟體,官方發佈套件(.deb)可在保留全部版權聲明的前提下原樣再散布。原始碼不公開。全文見 /usr/share/doc/roamswitch/copyright。RoamSwitchKit SDK 另作為開源單獨提供。 隨附的獨立應用程式(PersonalSOC、PathScope、AccessScope)的 LLM 串接(包括 PathScope 的「LLM 輔助」、AccessScope 的 LLM 分析與日誌尋找)在各應用程式中均預設關閉;啟用後,內容可能透過您所選的 LLM 命令傳送到外部(詳見各應用程式的頁面)。