Lafine Systems Design · Documentação técnica

Artigo técnico do RoamSwitch Server Edition

Suíte autônoma de segurança de rede e defesa de integridade para infraestruturas de servidores Linux em nuvem e headless

Versão v1.1.0 Escopo RoamSwitch Server Edition 1.3.2 Requisitos systemd + nftables Publicado 2026-09-07

§1Visão geral e princípios básicos

RoamSwitch Server Edition é um conjunto de segurança de rede autônoma residente e sem cabeça e proteção de integridade desenvolvido especificamente para infraestruturas de servidores Linux em provedores de nuvem (AWS, GCP, Azure, VPS bare-metal) e data centers locais.

Ao contrário das edições de estação de trabalho cliente focadas na mobilidade e adaptação do perímetro Wi-Fi, a Server Edition é baseada em cinco princípios intransigentes: Inbound Default Drop, Critical Path File Integrity Monitoring (FIM), Preemptive Kernel LPE & Privilege Escalation Hardening, eBPF Runtime Threat Telemetry, e Isolamento autônomo de host air-gap com alertas de emergência pré-separação.

Construído com uma garantia estrita de Zero Telemetry, o software não contém nenhuma análise HTTP/TLS externa ou bibliotecas de rastreamento. Todos os segredos administrativos e tokens são protegidos criptograficamente sob permissões estritas 0600.

1.1 Comparação: Edição Cliente vs. Edição Servidor

Dimensão Edição cliente (desktop/móvel) Edição Server (Headless/Infraestrutura)
Implantação Laptops, estações de trabalho móveis para desenvolvedores VMs em nuvem, nós bare-metal, hosts de contêiner
Comportamento da rede Comutação dinâmica de perfil baseada em Wi-Fi SSID / Gateway MAC Descarte padrão de entrada estática. Somente portas explicitamente permitidas são expostas
Interface do usuário GTK3 Desktop GUI + indicador de bandeja CUI puro sem cabeça. Comandos CLI + assistente interativo
Notificações de incidentes Notificações na área de trabalho (libnotify) Push direto para Telegram Bot, LINE Messaging API e Webhooks (Slack/Discord)
Defesas Primárias Falsificação de ARP de Wi-Fi público, BadUSB, criptografia de documentos ransomware Queda de reconhecimento externo, detecção de adulteração de FIM, fugas de contêiner, kernel LPE (CVE-2026-53362)

1.2 Princípios Arquitetônicos Fundamentais

  • Zero Telemetry: O software nunca transmite telemetria, métricas ou telemetria para servidores externos. As chamadas de rede externas ocorrem estritamente para alertas de incidentes configurados pelo usuário por meio da execução do subprocesso curl. Por padrão, não inclui nenhuma biblioteca de comunicação externa. A única exceção: somente se o operador ativar explicitamente cve_kernel_map_updates_enabled (false por padrão), o roamswitch-updater busca anonimamente, uma vez por dia, o banco de dados de CVE do kernel para a auditoria de isolamento de contêineres a partir de lafine.net.
  • Inbound Default Drop: Pacotes de entrada não destinados a uma porta de serviço explicitamente declarada ou à porta de manutenção SSH administrativa são descartados no nível do kernel nftables sem gerar pacotes ICMP RST.
  • Contenção Autônoma Fail-Closed: As regras de Air-Gap de emergência sobrevivem às reinicializações do daemon e às falhas do processo. Se atores externos tentarem liberar tabelas nftables, o daemon detectará o desvio e restaurará o isolamento em segundos.
  • 0600 Proteção criptográfica secreta: /etc/roamswitch/server.conf impõe permissões 0600 estritas (legíveis apenas pelo root) na criação e em cada atualização.

§2Cenário de ameaças e modelo adversário

Os servidores modernos voltados para a Internet enfrentam varreduras automatizadas implacáveis, vetores de quebra de contêineres e escalonamentos de privilégios de kernel de dia zero.

Principais vetores de ameaças abordados
  1. Reconhecimento automatizado e exposição de banco de dados: scanners em toda a Internet que localizam portas de banco de dados internas expostas involuntariamente (MySQL 3306, Redis 6379, Postgres 5432).
  2. Violação de caminho crítico e inserção de backdoor: Intrusos estabelecem persistência modificando binários de autenticação principais (/bin/login, /usr/bin/sudo, /etc/pam.d/*, /etc/shadow).
  3. Escalonamento de privilégios de kernel (CVE-2026-53362 Frag Gap): Atacantes sem privilégios transformam namespaces de usuários em armas (unshare -U -r) para acionar corrupção de memória do kernel e escalar para root.
  4. Container Socket Breakout: Contêineres configurados incorretamente com sinalizadores /var/run/docker.sock ou --privileged montados executando ações raiz no sistema operacional host.
  5. Snooping de memória de processo: invasores anexando ptrace ou lendo /proc/$pid/mem em processos para extrair chaves privadas ou credenciais.

§3Arquitetura do Sistema

RoamSwitch Server Edition opera como binários Rust nativos projetados para memória mínima e zero sobrecarga de CPU.

┌─────────────────────────────────────────────────────────────┐
│  Espaço de utilizador e administrador                       │
│                                                             │
│   roamswitch (CLI)             roamswitch-mcp (AI Agent)    │
│   · server status (30 itens)   · ferramentas de auditoria   │
│   · server config / setup      · stdio JSON-RPC             │
│   · fim verify / update                                     │
│        │                               │                    │
└───────┼───────────────────────────────────┼─────────────────┘
         │ (comandos CLI e config) │ (stdio)
┌───────▼───────────────────────────────────▼─────────────────┐
│  Base do sistema (systemd + privilégio root)                │
│                                                             │
│   roamswitch-server-daemon                                  │
│   ├── CriticalPathFim (varredura SHA-256 em 2º plano)       │
│   ├── módulo de integração eBPF/Falco                       │
│   ├── Notifier (alertas Telegram / LINE / Webhook)          │
│   └── Air-Gap Controller (regras de emergência nftables)    │
│                                                             │
│   Configuração: /etc/roamswitch/server.conf (permissão 0600)│
│   BD de integridade: /var/lib/roamswitch/fim_baseline.db    │
└─────────────────────────────────────────────────────────────┘

§4Mecanismos Básicos de Defesa

4.1 Segurança de limite (queda padrão de entrada)

nftables aplica-se policy drop ao tráfego de entrada, permitindo conexões estabelecidas, loopback e ssh_ports e allowed_ports explicitamente configurados.

A preservação das portas de gerenciamento SSH evita o bloqueio acidental do operador durante estados de emergência Air-Gap.

4.2 Monitoramento de integridade de arquivos de caminho crítico (FIM)

Monitora mais de 150 arquivos administrativos e de autenticação de sistema operacional críticos (/bin/login, /usr/sbin/sshd, /etc/pam.d/*, etc.). Calcula hashes SHA-256 em relação a /var/lib/roamswitch/fim_baseline.db. O gancho do gerenciador de pacotes /etc/apt/apt.conf.d/99roamswitch-fim atualiza automaticamente a linha de base após operações apt upgrade autorizadas.

4.3 Endurecimento de Kernel e Contêiner

Frag Gap (CVE-2026-53362) Mitigação: impõe user.max_user_namespaces = 0 via sysctl, neutralizando vetores LPE. Yama LSM Protection impõe kernel.yama.ptrace_scope = 2, evitando inspeção de memória não autorizada. As cargas de trabalho de contêiner são auditadas quanto à exposição docker.sock.

As portas publicadas pelo Docker (-p) têm um problema conhecido de bypass da firewall padrão do anfitrião, pelo que protect_docker_ports=true (predefinição) insere permanentemente regras de inspeção na cadeia DOCKER-USER, bloqueando qualquer tráfego externo não explicitamente permitido. Além disso, uma proteção sempre ativa monitoriza docker events em tempo real e notifica-o imediatamente quando um contentor --privileged é iniciado ou /var/run/docker.sock é montado — um risco de fuga do contentor (não requer configuração; apenas notificação, sem bloqueio automático). Para anfitriões que lidam com ficheiros de terceiros — um relay de correio, uma pasta partilhada —, um File Scan Guard opcional (YARA incorporado mais ClamAV opcional) proporciona análises periódicas e quarentena automática.

4.4 Telemetria de ameaças em tempo de execução eBPF e ajuste anti-inchaço

Utiliza sondas eBPF modernas (CO-RE/BTF) para interceptar escalada de privilégios e tentativas de quebra de contêiner em milissegundos. Para eliminar os pontos problemáticos padrão do Falco — inchaço de log, esgotamento de disco e sobrecarga de CPU — o RoamSwitch padroniza um perfil otimizado (/etc/falco/config.d/99-roamswitch-optimized.yaml):

  • Filtragem de gravidade (priority: warning): Suprime a telemetria operacional ruidosa (Informações/Avisos) em 95%, revelando incidentes de segurança estritamente acionáveis.
  • Kernel-Level Pre-Drop (drop_failed_exit: true): Descarta saídas de syscall com falha diretamente no teste do kernel, reduzindo as alternâncias de contexto da CPU em mais de 50%.
  • Otimização de espaço de memória (cpus_for_each_buffer: 2): compacta buffers de anel de 8 MB para 2 MB, limitando estritamente o uso de memória a 30–50 MB.
  • Direct UNIX Domain Socket IPC: O streaming direto para /var/run/roamswitch/events.sock elimina completamente a sobrecarga de E/S do disco.
  • Automated Log Cap (/etc/logrotate.d/roamswitch-falco): A rotação diária com maxsize 50M e 7 ciclos compactados evita permanentemente o esgotamento da capacidade do disco.

4.5 Isolamento de Emergência do Entreferro com Alertas Pré-Separação

Imediatamente antes de cortar as interfaces de rede em caso de violação crítica, o daemon envia alertas de emergência de forma síncrona para Telegram, LINE e Webhooks. Os alertas acrescentam automaticamente o servidor Hostname e Primary IP Address.

Formato de Alerta de Emergência (JA/EN)
🚨 [RoamSwitch IMMINENT AIR-GAP] CRITICAL: IMMINENT AIR-GAP HOST ISOLATION (cve_2026_53362_lpe)
🚨 CRITICAL SECURITY INCIDENT DETECTED: cve_2026_53362_lpe
Host: production-node-01 (IP: 192.168.1.10)
Process: exploit_payload (PID: 4921)
ACTION: Initiating host Air-Gap network isolation (SSH preservation active).
WARNING: Outbound internet connectivity will be cut immediately after this message.
Timestamp: 2026-09-06 18:00:00

§5Conjunto de diagnóstico de segurança de 30 verificações

A Server Edition executa 30 auditorias especializadas de integridade de segurança:

# Categoria Verifique o título Padrão e Lógica
1Autenticação e acessoLogin raiz SSH e autenticação de senhaVerifica PermitRootLogin no e autenticação de senha desativada
2Autenticação e acessoContas com senha vaziaGarante que nenhum usuário tenha hash de senha em branco em /etc/shadow
3Autenticação e acessoSudoers Privilégio HigieneVerifica se não existem diretivas NOPASSWD não autorizadas
4RedeNegação padrão de entradaAuditorias nftables para política de recebimento de entrada padrão
5Kernel e integridadeNamespaces de usuários sem privilégios (Frag Gap)Garante user.max_user_namespaces = 0 (CVE-2026-53362)
6Kernel e integridadeSuporte eBPF BTFValida informações do tipo BTF do kernel via /sys/kernel/btf/vmlinux
7Kernel e integridadeeBPF LSM ativoVerifica se há bpf no parâmetro de inicialização lsm= do kernel
8Kernel e integridadeAgente de segurança de tempo de execução eBPFValida link de telemetria para agentes Falco/Tetragon
9RecipienteAuditoria de montagem de soquete DockerDetecta montagens de contêiner de /var/run/docker.sock
10RecipienteContêineres privilegiados do DockerAuditorias para cargas de trabalho de contêiner --privileged de alto risco
11IntegridadeIntegridade de arquivo de caminho crítico (FIM)Valida hashes SHA-256 de mais de 150 binários principais do sistema operacional
12Kernel e integridadeProteção de Processo YamaVerifica kernel.yama.ptrace_scope = 2
13RedeEncaminhamento de IP desativadoVerifica net.ipv4.ip_forward = 0
14RedeProteção de cookies TCP SYNVerifica net.ipv4.tcp_syncookies = 1
15RedeFiltragem de caminho reverso (rp_filter)Verifica a filtragem estrita de caminho reverso (rp_filter = 1)
16Kernel e integridadeRestrição de dump principalEvita vazamentos de memória do processo via fs.suid_dumpable = 0
17OperaçõesAtualizações automáticas de segurançaValida a configuração de unattended-upgrades
18OperaçõesSincronização de horário NTPVerifica a sincronização via chrony ou systemd-timesyncd
19OperaçõesProteção de força bruta SSHVerifica o monitoramento ativo via fail2ban ou crowdsec
20Kernel e integridadeeBPF sem privilégios desativadoVerificações kernel.unprivileged_bpf_disabled = 1
21RedeRedirecionamentos ICMP ignoradosEvita envenenamento de rota via accept_redirects = 0
22RedeTransmissões de eco ICMP ignoradasMitiga ataques DoS do amplificador Smurf
23Kernel e integridadeEndurecimento de memória compartilhadaGarante que /dev/shm tenha opções de montagem nodev,nosuid
24Autenticação e acessoProtocolos legados inseguros ausentesVerifica a ausência de daemons de texto não criptografado (telnet, rsh, tftp)
25Kernel e integridadeDespejos principais do processo SUID restritosEvita vazamentos de credenciais em falhas binárias SUID

§6Autoverificação (verificação reproduzível em um ambiente Docker)

Os mecanismos de defesa do RoamSwitch Server Edition (Inbound Default Drop, Critical Path FIM, contenção por severidade via guard.yaml, o mecanismo de segurança de processos protegidos, o temporizador de segurança, o endurecimento do kernel contra LPE, entre outros) podem ser totalmente reproduzidos e verificados na sua própria máquina, usando um contêiner Docker separado como atacante externo contra o pacote real roamswitch-server v1.3.2 instalado a partir do repositório APT oficial (não um binário compilado localmente). Abaixo estão os oito cenários de verificação e o comportamento que cada um deve exibir (critério de aprovação). Veja a seção 6.3 abaixo para os passos e scripts exatos.

# Cenário Vetor de ataque Critério de aprovação
PENT-S1 Nmap SYN Verificação furtiva Sonde as portas 22, 80, 443, 3306, 8080 PASS (100% furtivo)
PENT-S2 Investigação de porta não permitida curl conexões diretas às portas 3306 e 8080 PASSAR
PENT-S3 Lista de bloqueio de Egress / C2 Tentativa de conexão de saída para um endereço registrado no feed de IPs maliciosos Aprovado
Apenas o endereço registrado é bloqueado; o tráfego para um host não listado não é afetado (não é um bloqueio geral)
PENT-S4 Ataque de adulteração FIM Injetar carga útil de backdoor em /bin/login PASS (detecção instantânea)
PENT-S5 Contenção baseada em gravidade via guard.yaml Injeção de um evento Falco Critical referenciando um processo real Aprovado
O processo responsável é isolado da rede e, em seguida, encerrado com SIGKILL
PENT-S6 Mecanismo de segurança para processos protegidos Injeção de um evento do mesmo tipo referenciando o PID real do sshd Aprovado
O sshd continua em execução; apenas uma recusa é registrada como falso positivo
PENT-S7 Temporizador de segurança Incidente de Air-Gap deixado sem confirmação (sem ACK do operador) Aprovado
Restaura automaticamente quando não há confirmação; uma vez confirmado (ACK), o isolamento continua até o emergency-restore
PENT-S8 Lacuna de fragmentação LPE do kernel Execute unshare -U -r como usuário sem privilégios PASS (rejeitado)

Prevenção de bloqueio de SSH

Enquanto um Air-Gap em todo o host (on_emergency) está ativo, a sessão SSH do administrador não é cortada, graças a preserve_ssh_on_isolation=true (padrão). Esse design previne estruturalmente o cenário em que um falso positivo isola completamente um servidor, tornando-o inacessível sem acesso físico ou ao console. Você pode verificar esse comportamento por conta própria com a etapa equivalente a PENT-S7 no conjunto de testes Docker acima.

Limites do escopo de verificação (uma divulgação honesta)

O que isto não pode verificar

O endurecimento do kernel (desativar namespaces de usuário sem privilégios, elevar o ptrace_scope do Yama) não pode ser verificado de ponta a ponta a partir de dentro de um contêiner. Como esses sysctls não possuem namespace por contêiner, gravações a partir de um contêiner privilegiado (--privileged) afetam não um sandbox de teste, mas sim a máquina real que está executando o teste. Portanto, esta verificação confirma apenas que a gravação do sysctl falha de forma controlada (sem travar) diante de um sistema de arquivos somente leitura; confirmar que o valor realmente é aplicado requer uma máquina real ou VM, que é como o produto foi projetado para funcionar.

Reproduza você mesmo

Todos os resultados acima podem ser reproduzidos 100% em sua própria máquina, usando apenas o pacote de distribuição oficial, por meio do conjunto de testes Docker publicado no repositório de suporte oficial (roamswitch-support) — não é necessário acesso ao código-fonte nem confiar em nós.

# Obtenha e reproduza o conjunto de verificação (instala automaticamente o roamswitch-server a partir do repositório APT oficial)
git clone https://github.com/lafine1211/roamswitch-support.git
cd roamswitch-support/test/docker/server
./run.sh

Cria três contêineres descartáveis (Target, Attacker e um decoy de C2) na rede bridge padrão do Docker e verifica automaticamente todos os 18 itens, imprimindo um relatório. O resultado completo da execução está publicado em RESULTS-PENTEST-SERVER-2026-09-07.md (incluindo, para fins de transparência, os problemas do próprio arcabouço de teste encontrados e corrigidos durante sua construção).

§7Operações, implantação e ciclo de vida

7.1 Assistente de configuração e ferramentas CUI sem cabeça

Gerenciamento remoto completo via CLI:

  • roamswitch server status: Saída de diagnóstico completa de 30 verificações (JA/EN).
  • roamswitch server setup: Assistente de terminal interativo para portas e notificações.
  • roamswitch server config show / set <key> <val>: Automação programável para Ansible/Terraform.
  • roamswitch server test-notify [all|telegram|line|webhook]: Sondagem de notificação ponta a ponta.

7.2 Embalagem

Distribuído através de repositórios oficiais Debian/Ubuntu .deb, repositórios RHEL/Fedora .rpm e Arch Linux AUR (roamswitch-server-bin).

§8Conclusão

O RoamSwitch Server Edition oferece um perímetro defensivo descomprometido para infraestruturas de servidores Linux: privacidade de telemetria zero, queda padrão de entrada, caminho crítico FIM e mitigação proativa de escalonamento de privilégios de kernel, fornecendo defesa autônoma unificada para nós de nuvem modernos.

É o padrão de segurança para servidores Linux de nova geração que oferece defesa em camadas e contenção autônoma (Air-Gap) em todas as etapas do vetor de ataque visado por cibercriminosos — reconhecimento inicial, intrusão, escalonamento de privilégios e persistência.

Este documento reflete a implementação conforme está no RoamSwitch Server Edition v1.3.2 (Inbound Default Drop, Critical Path FIM, motor de políticas guard.yaml, endurecimento do kernel contra LPE, monitoramento em tempo de execução eBPF, temporizador de segurança Air-Gap). Consulte o CHANGELOG do roamswitch-support para o histórico de alterações linha a linha. Para as informações mais recentes, consulte lafine.net/linux.