Edizione macOS Linux Sensor

Nell'istante in cui viene rilevato un pericolo, Linux si «isola» da solo.

Dal desktop al VPS cloud, difesa autonoma di Linux senza configurazioni complesse. Edizione Client: rilevamento Wi-Fi automatico e kill-switch VPN. Edizione Server: protezione dal blocco SSH e rilevamento delle intrusioni in millisecondi. Entrambe completamente headless.

✦ Gratis · tutte le funzioni incluse · nessuna attivazione 🖥️ Compatibile con Client (desktop) & Server
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

Installa dalla tua distribuzione

Dopo aver aggiunto il repository ufficiale, gli aggiornamenti passano dal normale comando di update e il controllo integrato funziona. Le dipendenze (nftables, font CJK, ecc.) vengono installate automaticamente.

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

Senza repository, scarica i tarball firmati (.tar.gz + .tar.gz.asc, amd64 / aarch64) direttamente da lafine.net/linux/dl (in tal caso il controllo aggiornamenti integrato non funzionerà).

Dopo l'installazione, roamswitch.service si avvia automaticamente e l'icona nell'area di notifica è attiva all'accesso. Al primo avvio compare una procedura guidata di onboarding (GTK). La CLI (roamswitch status) stampa la diagnostica in giapponese o inglese in base alla lingua del sistema.

Funzioni principali

Difesa autonoma, in esecuzione nativa su Linux

🛡️ Commutazione autonoma dei profili nftablesSolo Edizione Client

Sulle reti fidate (casa) consente traffico locale comodo; al lavoro sorveglia le porte sospette; sul Wi-Fi pubblico scarta in modo invisibile tutto il traffico in entrata. Deciso dalla MAC del gateway, commutato in millisecondi.

🚨 Isolamento autonomo del ransomwareSolo Edizione Client

fanotify + entropia di Shannon rilevano un burst di scritture di cifratura, congelano il processo responsabile con SIGSTOP e inviano una notifica (che include il comando per riprenderlo). Vengono inoltre interrotti d'emergenza tutto il traffico esterno e i servizi di condivisione (Air-Gap), come quando viene rilevata la manomissione di un file canary (esca). La scansione YARA dei file scritti avviene separatamente.

🧷 Rilevamento dell'avvio automatico sospettoSolo Edizione Client

Controlla le voci di avvio automatico nuove o riscritte (systemd, cron, avvio della sessione) e avvisa solo per quelle che sembrano la persistenza di un malware: reverse shell, decodifica ed esecuzione diretta, download ed esecuzione diretta, oppure un programma eseguito da una cartella temporanea o nascosta. Solo notifica; nulla viene bloccato e le voci dall'aspetto normale vengono solo registrate. Attivo per impostazione predefinita.

📶 Avviso sulla robustezza della cifratura Wi-FiSolo Edizione Client

Sulle reti Open / WEP / WPA il livello di protezione viene alzato automaticamente con una notifica desktop. Arresta e ripristina anche automaticamente i servizi di condivisione (SSH/Samba/RDP) (attivo per impostazione predefinita, disattivabile in qualsiasi momento).

🔌 Protezione USB non autorizzati / BadUSBSolo Edizione Client

Un archivio USB non approvato viene messo in attesa di approvazione; a un dispositivo di iniezione di tasti (una tastiera BadUSB) viene soppresso l'input via software tramite evdev, mai un taglio della porta a livello di kernel. Include scansione automatica ClamAV e quarantena per la cartella Download.

📜 Audit di sicurezza in 27/34 voci

Valuta 27 voci lato client — LUKS, Secure Boot, LSM, SSH/sudo, sysctl, ARP pinning, porte esposte, Safe Browsing del browser e altro — oppure 34 voci CIS Benchmark nella Server Edition, in tutte e 10 le lingue. Disponibile da GUI, CLI e MCP. Ogni voce riporta anche una mappatura NIST CSF 2.0 / CIS Controls v8, utile per gli audit.

🤖 Server MCP incluso

roamswitch-mcp consente ad agenti IA come Claude di leggere lo stato di sicurezza tramite JSON-RPC (stdio). Sola lettura e completamente locale. Vedi Configurazione MCP.

🔒 Tunnel VPN + kill-switchSolo Edizione Client

Su Wi-Fi pubblico, tutto il traffico passa da un tunnel cifrato WireGuard o Tailscale (exit node). Un kill-switch nftables scarta qualsiasi fuga in chiaro fuori dal tunnel e non lascia passare nulla se il tunnel cade (fail-closed). La difesa principale contro gli attacchi man-in-the-middle.

🎣 Protezione passiva dei link (blocca le connessioni di phishing)Solo Edizione Client

Legge il nome host di destinazione delle connessioni in uscita dalla richiesta DNS, dal SNI TLS e dall'header HTTP Host, e avvisa o blocca le connessioni verso siti di phishing / truffa (blocco per impostazione predefinita, anche per i browser DoH). In modalità avviso, la mancata risposta è fail-closed. I verdetti usano solo un feed locale ed euristiche offline; la destinazione non viene mai inviata da nessuna parte.

🖧 Difesa autonoma del server e protezione dal blocco SSHSolo Edizione Server

Applica automaticamente il Default Drop in ingresso per nodi VPS cloud e data center. Protegge attivamente le sessioni SSH amministrative esistenti (stato ESTABLISHED) per evitare che l'amministratore resti bloccato fuori. Un file guard.yaml opzionale consente di regolare finemente l'azione di contenimento per livello di gravità, con un timer di sicurezza che ripristina automaticamente l'accesso in assenza di risposta. L'edizione server fino alla 1.10.4 presentava un difetto. Le regole di isolamento scartavano le risposte SSH, quindi l'SSH dell'operatore non funzionava durante l'isolamento. È stato corretto nella 1.10.5.

⚡ Rilevamento intrusioni eBPF e isolamento autonomo (Falco / Tetragon)

Cattura in tempo reale gli eventi eBPF a livello kernel (reverse shell, escalation dei privilegi, esecuzione di binari non autorizzati) tramite un socket UNIX. Scegli Falco (predefinito) o Cilium Tetragon (gRPC) come sensore. Isola in autonomia, in millisecondi, i processi compromessi (SIGSTOP/SIGKILL) o gli host (Air-Gap). La Server Edition misura anche il tempo dal rilevamento alla risposta, verifica il percorso degli avvisi con un heartbeat e rileva da sé le reverse shell.

📂 FIM sui percorsi critici (monitoraggio dell'integrità dei file)

Monitoraggio basato su eventi tramite hash SHA-256 di binari e configurazioni di sistema critici, tra cui /etc/shadow, /etc/pam.d e /usr/bin/: le manomissioni vengono rilevate nell'istante in cui avvengono (le scansioni periodiche fungono da backstop). Segnala immediatamente installazioni di backdoor e manomissioni non autorizzate. La notifica indica il processo che ha fatto la modifica e l'accesso SSH a cui appartiene (origine, ora, metodo di autenticazione).

🔐 Rilevamento e blocco della forza bruta SSH

Legge i login falliti di sshd nell'istante in cui vengono scritti, blocca le nuove connessioni di un'origine che raggiunge la soglia e interrompe le connessioni SSH che quell'origine aveva già aperto (una sessione autenticata e un'origine esente non vengono mai interrotte). Nella Server Edition è attivo per impostazione predefinita. Nella Client Edition lavora solo finché sshd è in esecuzione. Quando fail2ban o CrowdSec protegge già sshd, si limita a rilevare e notificare.

🧠 Guardia di esaurimento risorse / anomalie di processoSolo Edizione Server

Rileva attacchi DoS da memory leak e loop di crash (segno di un tentativo di exploit use-after-free). Il normale andamento a dente di sega della memoria di un runtime con garbage collector non viene mai scambiato per una perdita; viene segnalata solo una crescita RSS sostenuta senza recupero. I loop di crash vengono riconosciuti in modo strutturale dal vocabolario fisso di systemd stesso (nessun nuovo polling). Correla per PID con gli eventi eBPF/FIM per assegnare un livello di confidenza (possible/correlated).

🧱 Blocco Egress / C2 e DNS sinkholeSolo Edizione Server

Blocca automaticamente le connessioni in uscita verso IP dannosi noti tramite un feed di minacce locale. Attiva facoltativamente un DNS sinkhole (Quad9 / Cloudflare / AdGuard / CleanBrowsing) per bloccare anche la risoluzione di domini dannosi (disattivato di default per non interferire con ambienti DNS interni).

📢 Avvisi di emergenza multicanaleSolo Edizione Server

Invia immediatamente informazioni dettagliate sull'incidente a Slack, Discord, Microsoft Teams, Syslog o Webhook nel momento in cui una minaccia viene intercettata, un processo terminato o un host isolato in Air-Gap.

🐳 Rilevamento dei rischi Docker e protezione dall'elusione del firewall

Rileva istantaneamente, tramite docker events, l'avvio di un container privilegiato (--privileged) o il mount di docker.sock (solo notifica). La protezione dall'elusione del firewall tramite la catena DOCKER-USER è sempre attiva, sia nell'Edizione Client sia in quella Server.

🧫 File Scan Guard (YARA + ClamAV)Solo Edizione Server

Analizza periodicamente le directory che conservano file destinati ad altri, come un relay di posta, una cartella condivisa o una destinazione di upload (un livello aggiuntivo per directory condivise arbitrarie, distinto dalla scansione automatica della cartella Download dell'edizione client). Il motore YARA integrato funziona sempre senza dipendenze esterne; ClamAV può essere aggiunto come opzione. Le minacce confermate vengono messe in quarantena automaticamente.

🔑 Scanner per fughe di segreti e chiavi API

Rileva chiavi API (OpenAI, Anthropic, AWS, GitHub, Slack, Stripe e altri) e chiavi private SSH, non solo nel testo incollato ma anche in intere directory (.git e simili vengono esclusi automaticamente). Disponibile da CLI, MCP e SDK Python; i contenuti non vengono mai trasmessi all'esterno.

📦 Verifica CVE dei pacchetti (dpkg/pacman/dnf/zypper + dipendenze)Solo Edizione Client

Confronta i pacchetti del sistema operativo installati e le dipendenze del tuo progetto (npm, PyPI, crates.io e altri 4 ecosistemi) con una mappa CVE nota memorizzata localmente. Nessuna attività di rete.

🖥️ Protezione ClickFix: rileva ed elimina i comandi dannosi tramite gli appuntiSolo Edizione Client

Protegge da "ClickFix", un falso annuncio o una pagina CAPTCHA che induce a copiare e incollare un "codice di verifica" che in realtà è un comando dannoso. Monitora gli appunti tramite polling con gtk::Clipboard (funziona in modo trasparente su X11 e Wayland) e, non appena viene copiato un pattern dannoso noto, ne cancella il contenuto e avvisa l'utente, indipendentemente dal fatto che la destinazione sia un terminale o la finestra di esecuzione di GNOME/KDE.

🔔 Cronologia notifiche (ultimi 7 giorni)

Consulta le notifiche inviate da RoamSwitch anche dopo il momento in cui compaiono. Disponibile da CLI (roamswitch notifications), GUI, MCP (get_notification_history) e SDK Python. Le voci che superano il periodo di conservazione vengono eliminate automaticamente.

🕵️ Rilevamento tunnel DNS / esfiltrazione

Rileva le forme di query sospette usate dagli strumenti di tunneling DNS (iodine, dnscat2, …) — etichette lunghe ad alta entropia, o tipi di query TXT/NULL. Non ispeziona mai il traffico non DNS, e un rilevatore fermo non può mai ritardare la risoluzione dei nomi. Disponibile su Client e Server Edition.

📊 Aggiornamento delle scansioni di vulnerabilità (pass_age)Solo Edizione Client

Per ogni sonda di verifica attiva, visualizza l'ultimo risultato registrato e i giorni trascorsi da allora — da GUI, CLI o MCP. Rende visibile a colpo d'occhio l'ultima verifica effettiva.

↓ GTK nativo. Ecco come funziona davvero l’app
🖥️ Gestione rete e profili di protezione (GTK nativo)
Finestra principale di RoamSwitch for Linux (schermata reale)

Identifica il MAC del gateway connesso e cambia il profilo nftables in autonomia. Anche il controllo dei servizi di condivisione e il blocco ARP sono qui.

📋 Menu nell’area di notifica (AppIndicator / SNI)
Menu nella barra di sistema di RoamSwitch for Linux (schermata reale)

Cambia livello di protezione all’istante, imposta la durata dell’override manuale, attiva la protezione DNS e la lingua — dall’area di notifica.

Ambienti supportati

Pienamente supportatoUbuntu 22.04 / 24.04, Debian 12+, Linux Mint, Pop!_OS, elementary, Zorin, Raspberry Pi OS a 64 bit (Bookworm), Ubuntu per Raspberry Pi
Architetturax86_64 / aarch64 (Raspberry Pi 4 / 5)
Requisitisystemd, nftables. L'interfaccia nell'area di notifica richiede un desktop AppIndicator/StatusNotifierItem (KDE / Cinnamon / MATE / Budgie, o GNOME con l'estensione). Le macchine headless possono usare daemon + CLI + MCP.
PacchettiAPT (famiglia Ubuntu/Debian), DNF (Fedora/RHEL), zypper (openSUSE), AUR (Arch). Le distribuzioni non-systemd (Alpine / Void / Devuan) non sono supportate.
Caso d'usoOffriamo due pacchetti: un'Edizione Client (GUI + tray) per workstation e portatili, e un'Edizione Server (headless, Default Drop, integrazione eBPF/Falco) per VPS cloud, host di container e data center.

App incluse

I pacchetti dell'Edizione Client (deb, rpm e tarball) includono tre app separate da RoamSwitch (PersonalSOC, PathScope e AccessScope). Ognuna ha una propria icona e si apre dal menu delle applicazioni. Sono distribuite con licenza Apache License 2.0 e non rientrano nel contratto di licenza con l'utente finale (EULA) di RoamSwitch. L'Edizione Server (headless) include solo i tre comandi (personalsoc, pathscope e accessscope), non le app con finestra.

PersonalSOCRaccoglie i log e lo stato delle difese di questo dispositivo in un unico rapporto con la pressione di un pulsante (un centro operativo di sicurezza personale). L'integrazione LLM è facoltativa e disattivata per impostazione predefinita.
PathScopeIndividua i percorsi con cui un utente comune può raggiungere root e mostra da dove correggere per primo (uno strumento di analisi dei percorsi di escalation dei privilegi). L'integrazione LLM è facoltativa e disattivata per impostazione predefinita.
AccessScopeUno strumento di diagnosi di sicurezza dei log di accesso: individua i tentativi di attacco nei log di accesso dei server web e di SSH e mostra le righe di log che li provano. L'integrazione LLM è facoltativa e disattivata per impostazione predefinita. Il comando (accessscope) è incluso anche nei pacchetti dell'Edizione Server.
Aggiornamenti e dipendenzeLe app incluse si aggiornano insieme al pacchetto RoamSwitch. Le loro finestre richiedono WebKitGTK 4.1 (libwebkit2gtk-4.1), che i pacchetti deb e rpm installano automaticamente; su Arch (AUR) installa webkit2gtk-4.1 come dipendenza facoltativa.

Edizione Client vs Edizione Server

L'"Edizione Client" per workstation e portatili, e l'"Edizione Server" per VPS cloud, host di container e data center — ciascuna ottimizzata per una difesa autonoma adatta al proprio ambiente.

Area Edizione client (attuale) Edizione Server (headless)
Rilevamento rete e cambio profiloCambio autonomo per Wi-Fi / MAC del gateway (3 profili)Static policy (/etc/roamswitch/server.conf, fixed Default Drop)
Postura del firewallSelezione automatica tra Aperto / Bilanciato / LockdownDeny-by-default + allowlist esplicita delle porte di servizio dichiarate (inbound minimo)
Traffico in uscita (egress)Protezione passiva dei link + protezione DNS bloccano il phishingBlocco in uscita di domini C2 / dannosi + restrizione dell'uscita
Tunnel VPN + kill-switch✅ WireGuard / Tailscale❌ Non disponibile (l'accesso amministrativo è solo via SSH; configurare autonomamente WireGuard o simili tramite il sistema operativo se serve una VPN)
Rilevamento e isolamento ransomware / scansione malware fanotifyRilevamento autonomo ransomware tramite fanotify e blocco del processoRilevamento intrusioni eBPF (Falco / Tetragon) + FIM del percorso critico (basato su eventi, rilevamento istantaneo) + rilevamento di esaurimento risorse/loop di crash
Rafforzamento del kernel (sysctl / Yama / noexec)Applicato su una rete non attendibileApplicato sempre
Valutazione dello stato di sicurezza✅ 27 voci (GUI / CLI / MCP)✅ 34 voci (CIS Benchmark, CLI / MCP)
Interfaccia operatoreGUI GTK + tray + CLI + MCPCLI + MCP + gestione remota (headless)
Notifiche di emergenzaNotifiche desktop (GTK / libnotify)Avvisi istantanei via Slack / Discord / Teams / Syslog / Webhook
Gestione centralizzata e audit[Pianificato – non ancora disponibile] Aggiunto con una licenza Business[Pianificato – non ancora disponibile] Aggiunto con una licenza Business (distribuzione di policy firmate, check-in periodico; la versione gratuita resta interamente locale)
Documentazione dettagliata Whitepaper sulla sicurezza (Client) → Manuale Operativo Server Edition / Whitepaper sulla Sicurezza (Linux Server)

Manuale Operativo Server Edition Whitepaper sulla Sicurezza (Linux Server) Guida operativa CLI / headless →

🏢 RoamSwitch Business (per le organizzazioni)

L'edizione personale (Community Edition) è gratuita con tutte le funzioni. Per le organizzazioni che vogliono governare più dispositivi Linux, sono pianificati i seguenti livelli di gestione nel Business a pagamento (nessuno ancora disponibile). La difesa sul dispositivo (commutazione nftables, isolamento ransomware, difesa USB, DNS, diagnostica, MCP) fa parte di Community; Business non intende rimuoverne nulla.

Funzioni pianificateRiepilogo
Gestione della flotta[Pianificato – non ancora disponibile] Registrare i dispositivi con un token dell'organizzazione firmato Ed25519; aggregare livello di protezione, punteggio di salute e stato delle policy tramite check-in periodico.
Distribuzione massiva di policy firmata[Pianificato – non ancora disponibile] Distribuire reti attendibili, livello fuori sede, controllo dei servizi di condivisione e il valore imposto di ogni guardia come JSON firmato Ed25519. Bloccato sull'endpoint.
APT / RPM interno firmatoUn repository privato firmato con una chiave GPG specifica dell'organizzazione. I controlli di aggiornamento nell'app continuano a funzionare.
Supporto SLAUn contatto su contratto per progettazione del deployment, progettazione delle policy e risposta agli incidenti (giapponese, giorni lavorativi JST).

Oggi non esiste alcun server di gestione né gestione della flotta, e la Community Edition non comunica con alcun server di gestione (Zero Telemetry). Le funzioni di gestione Business sono nella roadmap; se introdotte, saranno opt-in e limitate ai dispositivi che l'organizzazione registra esplicitamente, con i campi trasmessi pubblicati in anticipo. Le funzioni Business gratuite per i possessori di macOS Pro Lifetime sono previste al lancio. Prezzi e tempi su richiesta.

Richiedi informazioni su Business

🔒 Zero Telemetry / Licenza

Il contenuto delle comunicazioni, la cronologia delle connessioni, gli URL visitati e i log di sistema non vengono mai inviati all'esterno. Per impostazione predefinita, l'Edizione Client effettua un solo tipo di connessione in uscita: un aggiornamento giornaliero che si limita a ricevere dati di rilevamento firmati e simili (non contiene informazioni su di te o sulla tua macchina e può essere disattivato). Per impostazione predefinita, anche l'Edizione Server effettua un solo tipo di connessione in uscita: il recupero anonimo di dati firmati (i dati CVE del kernel, le regole web e, sui server Ubuntu, i dati CVE dei pacchetti Ubuntu usati dal controllo CVE dei pacchetti di sistema; il manifest viene controllato ogni giorno e i dati CVE veri e propri circa ogni 30 giorni; non contiene informazioni sull'host e l'operatore può disattivarlo). Oltre a questo, non si connette all'esterno a meno che l'operatore non lo attivi. RoamSwitch for Linux è freeware proprietario; il pacchetto di distribuzione ufficiale (.deb) può essere ridistribuito senza modifiche con tutte le note di copyright intatte. Il codice sorgente non è pubblicato. Testo completo in /usr/share/doc/roamswitch/copyright. L'SDK RoamSwitchKit è fornito separatamente come open source. L'integrazione LLM delle app separate incluse (PersonalSOC, PathScope e AccessScope, compresi l'«Assistente LLM» di PathScope e l'analisi con LLM e la ricerca dei log di AccessScope) è disattivata per impostazione predefinita in ciascuna app; se attivata, il contenuto può essere inviato all'esterno tramite il comando LLM scelto (vedi la pagina di ciascuna app).