No instante em que um perigo é detetado, o Linux «isola-se» sozinho.
Do desktop ao VPS na nuvem, defesa autónoma do Linux sem configuração complexa. Edição Cliente: deteção automática de Wi-Fi e kill-switch VPN. Edição Servidor: proteção contra bloqueio SSH e deteção de intrusões em milissegundos. Ambas totalmente headless.
Instalar a partir da sua distribuição
Depois de adicionar o repositório oficial, as atualizações seguem pelo seu comando habitual e a verificação na aplicação funciona. As dependências (nftables, tipos de letra CJK, etc.) são instaladas 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
Sem repositório, descarregue os tarballs assinados (.tar.gz + .tar.gz.asc, amd64 / aarch64) diretamente de lafine.net/linux/dl (nesse caso a verificação de atualizações na aplicação não funcionará).
Após a instalação, o roamswitch.service arranca automaticamente e o ícone na área de notificação fica ativo ao iniciar sessão. No primeiro arranque aparece um assistente de introdução (GTK). A CLI (roamswitch status) mostra o diagnóstico em japonês ou inglês consoante a região do sistema.
Defesa autónoma, a correr nativamente no Linux
🛡️ Troca autónoma de perfis nftablesApenas Edição Cliente
Em redes de confiança (casa) permite tráfego local confortável; no trabalho vigia portas suspeitas; em Wi-Fi público descarta de forma furtiva todo o tráfego de entrada. Decidido pela MAC do gateway, alternado em milissegundos.
🚨 Isolamento autónomo de ransomwareApenas Edição Cliente
fanotify + entropia de Shannon detetam uma rajada de escritas de cifragem, congelam o processo responsável com SIGSTOP e notificam-no (a notificação inclui o comando para o retomar). Todo o tráfego externo e os serviços de partilha são também cortados de emergência (Air-Gap), tal como quando é detetada a adulteração de um ficheiro canary (isco). A verificação YARA dos ficheiros escritos é feita em separado.
🧷 Deteção de arranque automático suspeitoApenas Edição Cliente
Verifica as entradas de arranque automático novas ou reescritas (systemd, cron, arranque da sessão) e avisa apenas das que parecem a persistência de um malware: reverse shell, descodificar e executar diretamente, transferir e executar diretamente, ou executar um programa a partir de uma pasta temporária ou oculta. Apenas notificação; nada é bloqueado e as entradas de aspeto normal são apenas registadas. Ativado por predefinição.
📶 Aviso da força de cifragem Wi-FiApenas Edição Cliente
Em redes Open / WEP / WPA o nível de proteção sobe automaticamente com uma notificação no ambiente de trabalho. Também para e repõe automaticamente os serviços de partilha (SSH/Samba/RDP) (ativado por predefinição, pode ser desativado a qualquer momento).
🔌 Proteção contra USB não autorizado / BadUSBApenas Edição Cliente
Um armazenamento USB não aprovado fica em espera de aprovação; a um dispositivo de injeção de teclas (um teclado BadUSB) é suprimida a entrada por software via evdev — nunca um corte de porta ao nível do kernel. Inclui análise automática ClamAV e quarentena da pasta Transferências.
📜 Auditoria de segurança de 27/34 pontos
Pontua 27 itens no cliente — LUKS, Secure Boot, LSM, SSH/sudo, sysctl, fixação ARP, portas expostas, Safe Browsing do navegador e mais — ou 34 itens do CIS Benchmark na Server Edition, nos 10 idiomas. Disponível na GUI, na CLI e no MCP. Cada item também tem um mapeamento NIST CSF 2.0 / CIS Controls v8, útil para auditorias.
🤖 Servidor MCP incluído
roamswitch-mcp permite que agentes de IA como o Claude leiam o estado de segurança por JSON-RPC (stdio). Só de leitura e totalmente local. Ver Configuração de MCP.
🔒 Túnel VPN + kill-switchApenas Edição Cliente
Numa Wi-Fi pública, todo o tráfego passa por um túnel cifrado WireGuard ou Tailscale (nó de saída). Um kill-switch nftables descarta qualquer fuga em claro fora do túnel e não deixa passar nada se o túnel cair (fail-closed). A defesa principal contra ataques man-in-the-middle.
🎣 Proteção passiva de ligações (bloqueia ligações de phishing)Apenas Edição Cliente
Lê o nome de anfitrião de destino das ligações de saída a partir da consulta DNS, do SNI TLS e do cabeçalho HTTP Host, e avisa ou bloqueia ligações a sites de phishing / fraude (bloqueio por predefinição, também para navegadores DoH). No modo de aviso, a ausência de resposta é fail-closed. Os veredictos usam apenas um feed local e heurísticas offline; o destino nunca é enviado para lado nenhum.
🖧 Defesa autónoma do servidor e proteção contra bloqueio de SSHApenas Edição Servidor
Aplica automaticamente o Default Drop de entrada para nós VPS na cloud e centros de dados. Protege ativamente as sessões SSH administrativas existentes (estado ESTABLISHED) para evitar que o administrador fique bloqueado. Um ficheiro guard.yaml opcional permite ajustar com precisão a ação de contenção por grau de gravidade, com um temporizador de segurança que restaura o acesso automaticamente caso não haja resposta. A edição de servidor até à 1.10.4 tinha um defeito. As regras de isolamento descartavam as respostas SSH, pelo que o SSH do operador não funcionava durante o isolamento. Foi corrigido na 1.10.5.
⚡ Deteção de intrusões eBPF e isolamento autónomo (Falco / Tetragon)
Captura em tempo real eventos eBPF ao nível do kernel (reverse shells, escaladas de privilégio, execução de binários não autorizados) através de um socket UNIX. Escolha Falco (predefinição) ou Cilium Tetragon (gRPC) como sensor. Isola de forma autónoma, em milissegundos, processos comprometidos (SIGSTOP/SIGKILL) ou hosts (Air-Gap). A Server Edition mede também o tempo desde a deteção até à resposta, verifica o caminho dos alertas com um heartbeat e deteta por si os reverse shells.
📂 FIM de caminho crítico (monitorização de integridade de ficheiros)
Monitorização orientada a eventos com hash SHA-256 de binários e configurações críticas do sistema, incluindo /etc/shadow, /etc/pam.d e /usr/bin/ — as alterações são detetadas no instante em que ocorrem (as verificações periódicas servem de reforço). Deteta de imediato instalações de backdoors e alterações não autorizadas. A notificação indica o processo que fez a alteração e o início de sessão SSH a que pertence (origem, hora, método de autenticação).
🔐 Deteção e bloqueio de força bruta SSH
Lê as falhas de início de sessão do sshd no instante em que são escritas, bloqueia as novas ligações de uma origem que atinge o limiar e corta as ligações SSH que essa origem já tinha abertas (uma sessão autenticada e uma origem isenta nunca são cortadas). Na Server Edition vem ativado por predefinição. Na Client Edition só trabalha enquanto o sshd estiver em execução. Quando o fail2ban ou o CrowdSec já protege o sshd, limita-se a detetar e notificar.
🧠 Guarda de esgotamento de recursos / anomalias de processoApenas Edição Servidor
Deteta ataques DoS por fuga de memória e ciclos de falhas (sinal de uma tentativa de exploit use-after-free). O padrão normal em dente de serra da memória de um runtime com garbage collector nunca é confundido com uma fuga; apenas um crescimento sustentado do RSS sem recuperação é assinalado. Os ciclos de falhas são reconhecidos de forma estrutural a partir do vocabulário fixo do próprio systemd (sem novo polling). Correlaciona por PID com eventos eBPF/FIM para atribuir um nível de confiança (possible/correlated).
🧱 Bloqueio de Egress / C2 e DNS sinkholeApenas Edição Servidor
Bloqueia automaticamente ligações de saída para IPs maliciosos conhecidos através de um feed de ameaças local. Ative opcionalmente um DNS sinkhole (Quad9 / Cloudflare / AdGuard / CleanBrowsing) para também bloquear a resolução de domínios maliciosos (desativado por predefinição para não quebrar ambientes DNS internos).
📢 Alertas de emergência multicanalApenas Edição Servidor
Envia de imediato informação detalhada do incidente para Slack, Discord, Microsoft Teams, Syslog ou Webhooks no momento em que uma ameaça é intercetada, um processo é terminado ou um host é isolado por Air-Gap.
🐳 Deteção de riscos do Docker e proteção contra contorno da firewall
Deteta instantaneamente, através de docker events, o arranque de um contentor privilegiado (--privileged) ou a montagem de docker.sock (apenas notificação). A proteção contra contorno da firewall através da cadeia DOCKER-USER está sempre ativa, tanto na Edição Cliente como na Servidor.
🧫 File Scan Guard (YARA + ClamAV)Apenas Edição Servidor
Analisa periodicamente diretórios que guardam ficheiros destinados a terceiros — um relay de email, uma pasta partilhada, um destino de upload (uma camada adicional para diretórios partilhados arbitrários, separada da verificação automática da pasta de Transferências da edição cliente). O motor YARA incorporado funciona sempre sem dependências externas; o ClamAV pode ser adicionado de forma opcional. As ameaças confirmadas são colocadas em quarentena automaticamente.
🔑 Scanner de fuga de segredos e chaves API
Deteta chaves API (OpenAI, Anthropic, AWS, GitHub, Slack, Stripe e outras) e chaves privadas SSH, não só em texto colado mas também em diretórios inteiros (.git e semelhantes são excluídos automaticamente). Disponível via CLI, MCP e SDK Python; o conteúdo nunca é transmitido para fora da máquina.
📦 Verificação de CVE de pacotes (dpkg/pacman/dnf/zypper + dependências)Apenas Edição Cliente
Compara os pacotes do SO instalados e as dependências do seu projeto (npm, PyPI, crates.io e mais 4 ecossistemas) com um mapeamento de CVE conhecido guardado localmente. Sem qualquer atividade de rede.
🖥️ Proteção ClickFix: deteta e elimina comandos maliciosos através da área de transferênciaApenas Edição Cliente
Protege contra o "ClickFix", um anúncio falso ou página CAPTCHA que o induz a copiar e colar um "código de verificação" que na realidade é um comando malicioso. Monitoriza a área de transferência através de polling com gtk::Clipboard (funciona de forma transparente em X11 e Wayland) e, assim que um padrão malicioso conhecido é copiado, apaga o conteúdo e avisa-o, independentemente de o destino ser um terminal ou a caixa de diálogo de execução do GNOME/KDE.
🔔 Histórico de notificações (últimos 7 dias)
Consulte as notificações enviadas pelo RoamSwitch para além do momento em que aparecem. Disponível a partir da CLI (roamswitch notifications), da GUI, do MCP (get_notification_history) e do SDK Python. As entradas que ultrapassam o período de retenção são eliminadas automaticamente.
🕵️ Deteção de túnel DNS / exfiltração
Deteta os padrões de consulta suspeitos usados por ferramentas de túnel DNS (iodine, dnscat2, …) — etiquetas longas de alta entropia, ou tipos de consulta TXT/NULL. Nunca inspeciona tráfego que não seja DNS, e um detetor parado nunca atrasa a resolução de nomes. Disponível nas edições Cliente e Servidor.
📊 Atualidade da análise de vulnerabilidades (pass_age)Apenas Edição Cliente
Para cada sonda de verificação ativa, veja o último resultado registado e os dias decorridos desde então — a partir da GUI, da CLI ou do MCP. Torna visível, num relance, quando foi feita a última verificação real.
Identifica o MAC da gateway ligada e alterna o perfil nftables de forma autónoma. O controlo de serviços de partilha e a fixação de ARP também estão aqui.
Alterne o nível de proteção instantaneamente, defina a duração da substituição manual, ative a proteção DNS e o idioma — a partir da bandeja.
Ambientes suportados
| Totalmente suportado | Ubuntu 22.04 / 24.04, Debian 12+, Linux Mint, Pop!_OS, elementary, Zorin, Raspberry Pi OS de 64 bits (Bookworm), Ubuntu para Raspberry Pi |
|---|---|
| Arquitetura | x86_64 / aarch64 (Raspberry Pi 4 / 5) |
| Necessário | systemd, nftables. A interface da área de notificação precisa de um ambiente com AppIndicator/StatusNotifierItem (KDE / Cinnamon / MATE / Budgie, ou GNOME com a extensão). Máquinas sem ecrã podem usar daemon + CLI + MCP. |
| Pacotes | APT (família Ubuntu/Debian), DNF (Fedora/RHEL), zypper (openSUSE), AUR (Arch). Distribuições sem systemd (Alpine / Void / Devuan) não são suportadas. |
| Caso de uso | Disponibilizamos dois pacotes: uma Edição Cliente (GUI + bandeja do sistema) para estações de trabalho e portáteis, e uma Edição Servidor (headless, Default Drop, integração eBPF/Falco) para VPS na cloud, hosts de contentores e centros de dados. |
Aplicações incluídas
Os pacotes da Edição Cliente (deb, rpm e tarball) incluem três aplicações separadas do RoamSwitch (PersonalSOC, PathScope e AccessScope). Cada uma tem o seu próprio ícone e abre-se a partir do menu de aplicações. Estão licenciadas ao abrigo da Apache License 2.0 e não são abrangidas pelo contrato de licença de utilizador final (EULA) do RoamSwitch. A Edição Servidor (sem interface) inclui apenas os três comandos (personalsoc, pathscope e accessscope), sem as aplicações com janela.
| PersonalSOC | Reúne os registos e o estado das defesas deste dispositivo num único relatório com o premir de um botão (um centro de operações de segurança pessoal). A integração com LLM é opcional e está desativada por predefinição. |
|---|---|
| PathScope | Identifica os caminhos pelos quais um utilizador comum pode chegar a root e mostra por onde corrigir primeiro (uma ferramenta de análise de caminhos de escalada de privilégios). A integração com LLM é opcional e está desativada por predefinição. |
| AccessScope | Uma ferramenta de diagnóstico de segurança de registos de acesso: encontra tentativas de ataque nos registos de acesso de servidores web e de SSH e mostra as linhas de registo que as comprovam. A integração com LLM é opcional e está desativada por predefinição. O comando (accessscope) também é incluído nos pacotes da Edição Servidor. |
| Atualizações e dependências | As aplicações incluídas são atualizadas em conjunto com o pacote do RoamSwitch. As suas janelas precisam do WebKitGTK 4.1 (libwebkit2gtk-4.1), que os pacotes deb e rpm instalam automaticamente; no Arch (AUR) instale webkit2gtk-4.1 como dependência opcional. |
Edição Cliente vs. Edição Servidor
A «Edição Cliente» para estações de trabalho e portáteis, e a «Edição Servidor» para VPS na cloud, hosts de contentores e centros de dados — cada uma otimizada para defesa autónoma no seu próprio ambiente.
| Área | Edição cliente (atual) | Edição Servidor (headless) |
|---|---|---|
| Deteção de rede e troca de perfil | Troca autónoma por Wi-Fi / MAC do gateway (3 perfis) | Static policy (/etc/roamswitch/server.conf, fixed Default Drop) |
| Postura da firewall | Seleção automática entre Aberto / Equilibrado / Bloqueio | Negação por predefinição + allowlist explícita das portas de serviço declaradas (entrada mínima) |
| Tráfego de saída (egress) | Proteção passiva de ligações + proteção DNS bloqueiam phishing | Bloqueio de saída de domínios de C2 / maliciosos + restrição de saída |
| Túnel VPN + kill-switch | ✅ WireGuard / Tailscale | ❌ Não disponível (o acesso administrativo é somente via SSH; configure você mesmo o WireGuard ou similar pelo sistema operacional caso precise de VPN) |
| Deteção e isolamento de ransomware / análise de malware fanotify | Deteção autónoma de ransomware via fanotify e congelamento do processo | Deteção de intrusões eBPF (Falco / Tetragon) + FIM do caminho crítico (baseado em eventos, deteção instantânea) + deteção de esgotamento de recursos/ciclos de falhas |
| Reforço do kernel (sysctl / Yama / noexec) | Aplicado numa rede não fiável | Aplicado sempre |
| Avaliação do estado de segurança | ✅ 27 itens (GUI / CLI / MCP) | ✅ 34 itens (CIS Benchmark, CLI / MCP) |
| Interface do operador | GUI GTK + bandeja + CLI + MCP | CLI + MCP + gestão remota (headless) |
| Notificações de emergência | Notificações na área de trabalho (GTK / libnotify) | Alertas instantâneos via Slack / Discord / Teams / Syslog / Webhook |
| Gestão centralizada e auditoria | [Planejado – ainda não disponível] Adicionado com uma licença Business | [Planejado – ainda não disponível] Adicionado com uma licença Business (distribuição de políticas assinadas, check-in periódico; a versão gratuita permanece totalmente local) |
| Documentação detalhada | Whitepaper de segurança (Client) → | Manual de Operações Server Edition / Whitepaper de Segurança (Linux Servidor) |
Manual de Operações Server Edition Whitepaper de Segurança (Linux Servidor) Guia de operação CLI / headless →
🏢 RoamSwitch Business (para organizações)
A edição pessoal (Community Edition) é gratuita com todos os recursos. Para organizações que querem governar vários dispositivos Linux, as seguintes camadas de gestão estão planejadas no nível pago Business (nenhuma disponível ainda). A defesa no dispositivo (troca de nftables, isolamento de ransomware, defesa USB, DNS, diagnóstico, MCP) faz parte do Community; o Business não pretende removê-la.
| Recursos planejados | Resumo |
|---|---|
| Gestão de frota | [Planejado – ainda não disponível] Inscrever dispositivos com um token da organização assinado com Ed25519; agregar nível de proteção, pontuação de saúde e estado das políticas através de check-in periódico. |
| Distribuição de políticas em massa assinada | [Planejado – ainda não disponível] Distribuir redes fiáveis, nível fora do escritório, controlo de serviços de partilha e o valor imposto de cada guarda como JSON assinado com Ed25519. Bloqueado no endpoint. |
| APT / RPM interno assinado | Um repositório privado assinado com uma chave GPG própria da organização. As verificações de atualização na aplicação continuam a funcionar. |
| Suporte SLA | Um contacto por contrato para conceção da implementação, conceção de políticas e resposta a incidentes (japonês, dias úteis JST). |
Hoje não existe servidor de gestão nem gestão de frota, e a Community Edition não se comunica com nenhum servidor de gestão (Zero Telemetry). Os recursos de gestão do Business estão no roteiro; se introduzidos, serão opt-in e limitados aos dispositivos que a organização registrar explicitamente, com os campos transmitidos publicados antecipadamente. Os recursos Business gratuitos para titulares de macOS Pro Lifetime estão previstos para o lançamento. Consulte preços e prazos.
Falar sobre o Business🔒 Zero Telemetry / Licença
O conteúdo das comunicações, o histórico de ligações, os URL visitados e os registos do sistema nunca são enviados para fora. Por predefinição, a Edição Cliente faz apenas um tipo de ligação de saída: uma atualização diária que se limita a receber dados de deteção assinados e semelhantes (não contém informações sobre si nem sobre a sua máquina e pode ser desativada). Por predefinição, a Edição Servidor também faz apenas um tipo de ligação de saída: a obtenção anónima de dados assinados (os dados de CVE do kernel, as regras web e, em servidores Ubuntu, os dados de CVE de pacotes do Ubuntu usados pela verificação de CVE dos pacotes do sistema; o manifesto é verificado todos os dias e os dados de CVE em si, cerca de uma vez a cada 30 dias; não contém informações sobre o anfitrião e o operador pode desativá-la). Para além disso, só se liga ao exterior se o operador o ativar. O RoamSwitch for Linux é freeware proprietário; o pacote de distribuição oficial (.deb) pode ser redistribuído sem modificações com todos os avisos de direitos de autor intactos. O código-fonte não é publicado. Texto completo em /usr/share/doc/roamswitch/copyright. O SDK RoamSwitchKit é fornecido separadamente como open source. A integração com LLM das aplicações independentes incluídas (PersonalSOC, PathScope e AccessScope, incluindo a «Assistência de LLM» do PathScope e a análise por LLM e a procura de registos do AccessScope) está desativada por predefinição em cada aplicação; se ativada, o conteúdo pode ser enviado para o exterior através do comando de LLM escolhido (veja a página de cada aplicação).