💡 FAQ Officielle

Foire aux questions (FAQ)

Réponses aux questions courantes sur RoamSwitch pour Mac et Linux : architecture Zero Telemetry, défense autonome, compatibilité et intégration IA/MCP.

🔍

🍎 Présentation & Concepts clés

Q1. Qu'est-ce que RoamSwitch pour Mac ?
RoamSwitch pour Mac est une solution de défense réseau autonome Zero-Trust et de diagnostic de sécurité pour macOS, conçue selon le principe strict du Zero Telemetry (aucune donnée d'utilisation ni aucun résultat de diagnostic n'est envoyé vers l'extérieur). Elle intègre la commutation automatique en quelques millisecondes du filtre de paquets du noyau macOS (pf) selon l'environnement Wi-Fi, la détection de ransomwares par fichiers leurres (canaris) avec isolation Air-Gap, la protection contre l'exposition des serveurs de développement locaux, le blocage automatique des ports inconnus, la neutralisation des clés USB non autorisées et BadUSB, un audit de sécurité complet en 18 points et une intégration IA en lecture seule via MCP.
Q2. Quelle est la différence entre l'édition Gratuite (Free) et l'édition Pro Lifetime (achat unique) ?
L'édition gratuite inclut sans limite de durée la détection Wi-Fi, la commutation pf à 3 niveaux, l'arrêt/restauration automatique des partages, le diagnostic manuel en 18 points, les alertes de chiffrement Wi-Fi et la surveillance des ports/USB (lecture seule). L'édition Pro Lifetime (19,99 $ / 2 980 ¥ à vie, mises à jour incluses) ajoute la détection des ransomwares avec isolation Air-Gap, l'isolation des serveurs de dev exposés, le blocage des ports anormaux, l'endiguement de l'usurpation ARP, le verrouillage préventif ARP/NDP, le tunnel VPN + Kill Switch (WireGuard/Tailscale), la protection BadUSB et stockage USB, la protection des téléchargements web/mail avec ClamAV, l'interception de modèles IA dangereux (.pkl), la protection DNS, le blocage des liens malveillants (/etc/hosts sinkhole), l'audit des URL, la protection du presse-papiers pour clés API, la désactivation Bluetooth sur Wi-Fi non fiable, les patrouilles autonomes, l'export CSV/JSON et l'activation sur 2 Mac par licence.
Q3. En quoi RoamSwitch diffère-t-il d'un antivirus classique ou d'outils comme Little Snitch ?
Alors que les antivirus classiques effectuent des analyses passives basées sur des signatures, RoamSwitch détecte en quelques millisecondes les changements de réseau et applique immédiatement des règles de filtrage au niveau du noyau (pf). Contrairement aux pare-feu interactifs comme Little Snitch qui multiplient les invites de confirmation, RoamSwitch assure une protection autonome sans clic (Zero-Click) une fois vos réseaux de confiance configurés.
Q4. Comment le Zero Telemetry (aucune donnée d'utilisation n'est envoyée) est-il garanti ?
L'application ne contient aucun code d'analyse, de suivi externe ou d'envoi de télémétrie. Lafine publie dans son livre blanc de sécurité tous les flux de communication sortants, ce qui permet de vérifier soi-même avec Wireshark ou tcpdump que le trafic ne passe que par les voies publiées (activation de licence, vérification des mises à jour, réception de données de mise à jour signées, etc.).

⚙️ Fonctionnalités & Spécifications

Q5. Qu'est-ce que le basculement automatique des profils de sécurité (contrôle pf) ?
RoamSwitch identifie le réseau Wi-Fi connecté via l'adresse MAC (BSSID) et le SSID de la passerelle en quelques millisecondes, et applique automatiquement l'un des trois profils pf : Confiance (Domicile/Bureau), Balanced (Standard) ou Lockdown (Wi-Fi public). Les ports d'écoute non autorisés sont fermés dès l'ouverture de votre Mac en déplacement.
Q6. Comment fonctionnent la détection de ransomware et l'isolation Air-Gap ?
Grâce à des fichiers leurres (canaris) placés dans les dossiers stratégiques et à la surveillance FSEvents des pics d'entropie de chiffrement, RoamSwitch gèle immédiatement le processus malveillant (SIGSTOP), coupe les interfaces réseau (pf Air-Gap) et arrête les partages pour protéger le réseau local et les sauvegardes Time Machine.
Q7. Qu'est-ce que l'isolation d'exposition LAN des serveurs de développement ?
Lorsque vous lancez des serveurs locaux (Vite, Next.js, Ollama, LM Studio), ils écoutent souvent sur 0.0.0.0, les rendant accessibles à tous sur le Wi-Fi. RoamSwitch bloque les connexions entrantes provenant du sous-réseau public tout en préservant l'accès direct depuis localhost.
Q8. Comment fonctionne le contrôle automatique des services de partage ?
Même si le partage SSH, SMB, VNC ou AirDrop est activé chez vous, RoamSwitch suspend automatiquement ces connexions entrantes dès que vous vous connectez à un Wi-Fi inconnu, et les rétablit à votre retour sur un réseau de confiance.
Q9. Que sont les protections USB non autorisé et clavier BadUSB ?
Les clés USB inconnues sont automatiquement éjectées (ou conservées en lecture seule pour analyse ClamAV). Lors de l'insertion d'un BadUSB injectant des commandes à très haute vitesse, RoamSwitch intercepte temporairement les frappes et demande une validation explicite.
Q10. Que sont la détection d'usurpation ARP et le verrouillage préventif de la passerelle ?
RoamSwitch surveille en permanence les attaques de l'homme du milieu (MitM). En cas d'attaque, il isole immédiatement la machine. De plus, lors de la connexion à un Wi-Fi public, il verrouille les adresses MAC de la passerelle et du DNS dans le cache voisin pour empêcher toute tentative d'empoisonnement ARP/NDP.
Q11. Que sont la protection contre les menaces DNS et la sécurité des téléchargements ?
Les résolutions de noms vers des serveurs C2 malveillants ou des sites de phishing sont bloquées en basculant vers un DNS protecteur tel que Quad9, Cloudflare ou AdGuard (sur un Wi-Fi hors de chez vous, vos requêtes DNS sont envoyées à ce fournisseur). Les fichiers téléchargés et modèles d'IA dangereux (.pkl/.pt) sont immédiatement détectés via FSEvents, puis scannés et mis en quarantaine par ClamAV.
Q12. Que sont Link Audit et la protection passive des liens ?
Avant de cliquer sur un lien reçu par e-mail ou chat, Link Audit diagnostique le dépliage des URL courtes, le suivi des redirections, les homographes Unicode et la réputation du domaine (les résultats et les URL saisies ne sont jamais envoyés au développeur ; pour déplier une URL courte et suivre les redirections, l'application envoie, à des fins de vérification, une requête HEAD directement à l'URL cible). La protection passive bloque en plus automatiquement les domaines de phishing confirmés via /etc/hosts.

💻 Configuration requise, Installation & Paramètres

Q13. Quelles sont les versions de macOS et les architectures supportées ?
macOS 13 Ventura ou version ultérieure. Développé exclusivement pour les Mac Apple Silicon (M1, M2, M3, M4 et suivants). Les Mac équipés de processeurs Intel ne sont pas supportés.
Q14. Pourquoi distribuer RoamSwitch via .dmg plutôt que sur le Mac App Store ?
Le contrôle direct du filtre de paquets du noyau (pf) et le démon privilégié (SMAppService.daemon) ne sont pas autorisés dans le bac à sable du Mac App Store. Le paquet .dmg officiel est signé avec un certificat développeur Apple et notarisé par Apple.
Q15. Que faire en cas de message 'Helper connection failed' ou 'Operation not permitted' ?
Ouvrez Réglages Système → Général → Ouverture et extensions, et activez RoamSwitch sous 'Autoriser en arrière-plan'. Vérifiez que l'application est bien dans le dossier /Applications puis redémarrez-la.
Q16. Lorsque j'active la fonction antivirus, RoamSwitch demande l'accès à mes dossiers Bureau et Téléchargements. Est-ce le signe d'un comportement malveillant ?
Non, ce n'est pas un comportement malveillant. La fonction Protection Web et Messagerie analyse les fichiers téléchargés via un navigateur ou un e-mail dès leur arrivée ; elle demande donc, via le système d'autorisations standard de macOS, l'accès aux dossiers Bureau, Téléchargements et Documents. RoamSwitch explique cela dans l'application avant l'apparition de cette demande : il s'agit d'une autorisation système normale (TCC), et non d'un accès non autorisé. L'analyse s'effectue entièrement sur votre Mac ; le contenu des fichiers n'est jamais envoyé à un serveur externe (Zero Telemetry). Si vous préférez ne pas accorder cette autorisation, vous pouvez laisser cette fonction désactivée : les autres protections (comme la Protection contre les menaces DNS) continueront de fonctionner normalement.
Q17. La licence peut-elle être transférée ou utilisée sur plusieurs Mac ?
Une licence Pro Lifetime permet l'installation sur 2 Mac appartenant au même utilisateur. Pour transférer vers un nouveau Mac, désactivez la licence sur l'ancien appareil ou contactez le support.
Comment désinstaller RoamSwitch ? Le réseau peut-il rester coupé après la suppression ?
Utilisez « 🧰 Récupération et désinstallation » → « 🗑 Désinstaller RoamSwitch… » dans la barre des menus (à partir de la version 1.10.5). Avant toute suppression, RoamSwitch annule toutes les modifications qu'il a apportées au réseau (isolement, coupe-circuits VPN, verrouillage ARP de la passerelle, DNS, entrées hosts de la protection des liens, etc.), de sorte que la connexion ne reste pas coupée. Voir les étapes de désinstallation pour le détail.

🤖 Diagnostic de sécurité, Intégration IA (MCP) & Outils développeur

Q18. Quels points sont vérifiés par l'audit de sécurité Mac en 15 points ?
Il évalue 18 paramètres essentiels : chiffrement FileVault, SIP, Gatekeeper, mises à jour automatiques, état XProtect, coupe-feu macOS, mode furtif, sécurité Wi-Fi, statut ARP, ports ouverts, et attribue un score global (0 à 100).
Q19. Qu'est-ce que le serveur MCP inclus et avec quelles IA fonctionne-t-il ?
Il s'agit d'une interface standard (Model Context Protocol) permettant aux assistants IA tels que Claude Desktop, Claude Code, Cursor, OpenCode et Google Antigravity d'interroger directement l'état de sécurité de votre Mac.
Q20. L'IA peut-elle modifier les réglages de mon Mac via MCP ?
Absolument pas. Le serveur MCP (RoamSwitchMCPServer) est conçu en lecture seule stricte via stdio local. Même en cas d'injection de prompt, l'IA ne peut pas modifier le pare-feu ni modifier la configuration système.
Q21. Puis-je utiliser les données de RoamSwitch dans mes propres applications Swift ?
Oui. Nous fournissons le SDK officiel open-source RoamSwitchKit (compatible SPM). Quelques lignes de Swift asynchrone suffisent pour récupérer le score de sécurité, les ports exposés et les états de protection.
Q22. Mon clavier USB a soudainement cessé de fonctionner. Est-il défectueux ?
A. Il n'est probablement pas défectueux — la « Protection clavier USB non autorisé / BadUSB » de RoamSwitch a peut-être détecté un clavier non enregistré et bloque temporairement sa saisie. Sélectionnez « Autoriser » dans la boîte de dialogue d'approbation qui apparaît lors de la connexion, et le clavier fonctionnera normalement par la suite (si vous avez manqué la boîte de dialogue, débranchez et rebranchez le clavier pour la faire réapparaître). La saisie est également libérée automatiquement après 3 minutes sans réponse. Si le problème persiste, vérifiez la liste d'autorisation depuis « Réglages de la protection USB / BadUSB… » dans le menu.
Q23. Quelle est exactement la différence entre les niveaux de protection (Confiance, Protection standard, Verrouillage maximal) ? Puis-je toujours utiliser Internet en mode Verrouillage ?
A. Oui — le trafic sortant normal comme la navigation web, les e-mails et le chat n'est jamais restreint, quel que soit le niveau de protection. Les trois niveaux diffèrent par la quantité de trafic entrant non sollicité qu'ils autorisent. 🟢 Confiance désactive le pare-feu et autorise également les services partagés (SSH/SMB/Partage d'écran) et AirDrop. 🟡 Protection standard utilise le pare-feu et le mode furtif pour bloquer les sondages externes tout en conservant les services partagés disponibles. 🔴 Verrouillage maximal bloque entièrement le pare-feu, active le mode furtif, et désactive également les services partagés et AirDrop. Aucun niveau ne bloque jamais le trafic que vous initiez vous-même, comme la navigation.
Q24. Que se passe-t-il si le développement de RoamSwitch s'arrête ?
A. Un long intervalle entre deux versions n'est pas un déclencheur. Les déclencheurs sont l'annonce de la fin du développement ou du support, ou de la fermeture de l'activité, ou un rapport de sécurité ou une demande de support accepté(e) qui reste 90 jours sans réponse, sans déclaration du mainteneur après lui. Dans le second cas, nous publions d'abord un préavis ; si le mainteneur répond dans les 30 jours, il est retiré. Sinon, dans les 90 jours suivant le préavis, nous publions le code source (application macOS et assistant root, édition Linux, Sensor, serveur MCP) sous licence Apache 2.0 et sortons une dernière version qui n'a besoin d'aucun de nos serveurs : un jeton de licence est vérifié sur votre Mac avec une clé publique intégrée, de sorte qu'une copie activée continue de fonctionner quand nos serveurs disparaissent. Les clés privées de signature et les données clients ne sont pas publiées. Voir « Si le développement de RoamSwitch s'arrête » (CONTINUITY.md) dans le dépôt de support.
Q25. Les éditions Client pour Mac et Linux peuvent-elles détecter les accès non autorisés et les intrusions ?
En partie, oui ; une partie n'existe que dans la Server Edition.

Ce qui fonctionne sur le client
Le trafic entrant est refusé par défaut (le niveau de protection suit le type de réseau). S'y ajoutent la détection et le blocage des scans de ports, la détection des ports en écoute inconnus, l'audit des journaux de sécurité, les leurres anti-ransomware (canari), les identifiants leurres (honeytokens), la surveillance de l'altération des fichiers critiques (FIM) et la surveillance des entrées de démarrage automatique (persistance). Les notifications sont des notifications de bureau et sont conservées dans l'historique. Sur le Mac, la plupart de ces fonctions relèvent de Pro et s'activent automatiquement quand on active Pro.

Force brute SSH
Le blocage immédiat ne fonctionne que si la connexion à distance (sshd) est activée (pf sur le Mac, nftables sous Linux). Sur une machine où sshd ne tourne pas, rien n'est lu et rien n'est modifié.

Une piste issue du FIM
La notification d'altération d'un fichier critique porte une piste vers une connexion SSH. Sous Linux, elle est rattachée à la connexion SSH à laquelle appartient le processus modificateur. Le Mac ne peut pas le faire, car macOS ne dit pas quel processus a écrit un fichier : il se contente de lister les connexions SSH commencées autour de la modification. C'est un indice de simultanéité, pas la preuve que cette connexion a fait le changement.

Ce qui n'existe que dans la Server Edition
La détection par eBPF (quand un capteur comme Falco est installé) existe sur le client Linux et pas sur le Mac. La détection de reverse shell propre à RoamSwitch n'existe que dans la Server Edition.

🐧 Présentation & Concepts clés

Q1. Qu'est-ce que RoamSwitch pour Linux ?
RoamSwitch pour Linux est une suite gratuite de défense réseau autonome Zero-Trust et de diagnostic de sécurité pour Linux, conçue sans aucune télémétrie externe (Zero Telemetry). Elle rassemble le basculement automatique de pare-feu nftables, l'isolation anti-ransomware, un audit en 27 points et l'intégration IA via MCP dans un binaire léger.
Q2. En quoi diffère-t-il d'outils comme ClamAV ou Lynis ?
Là où les outils traditionnels se limitent à des analyses de fichiers ou des audits périodiques, RoamSwitch agit en temps réel de façon autonome : adaptation instantanée des règles nftables selon le Wi-Fi et isolation automatique en cas d'attaque.
Q3. RoamSwitch pour Linux est-il open source (OSS) ?
Le binaire central est un logiciel gratuit propriétaire (Community Edition, code source fermé). En revanche, les SDK clients (Rust/Python) et les définitions de serveur MCP sont publiés en open source sur GitHub.
Q4. Le binaire étant fermé, comment vérifier sa sécurité ?
Lafine publie un livre blanc décrivant les procédures précises de capture de paquets et d'inspection d'appels système. Vous pouvez vérifier avec tcpdump ou eBPF qu'aucune information sur vous ou votre machine n'est envoyée à l'extérieur (la seule connexion sortante par défaut est une mise à jour quotidienne qui ne fait que recevoir des données signées).

⚙️ Fonctionnalités & Spécifications

Q5. Que signifie concrètement 'Zero Telemetry' ?
Cela garantit qu'aucun journal, information système, historique de trafic ou résultat d'audit n'est transmis à des serveurs tiers ou au cloud de Lafine. Tout s'exécute à 100 % localement sur votre machine Linux.
Q6. Qu'est-ce que la commutation autonome de profils nftables ?
RoamSwitch identifie en millisecondes l'adresse MAC de la passerelle Wi-Fi et applique automatiquement des règles nftables sur mesure pour Domicile (Trusted), Bureau (Balanced) ou Wi-Fi public (Lockdown).
Q7. Comment fonctionne l'isolation autonome contre les ransomwares ?
Quand une altération d'un fichier canari (leurre) est détectée, RoamSwitch coupe en urgence tout le trafic externe (Air-Gap) et les services de partage pour empêcher les dégâts de se propager au réseau local. Quand fanotify/inotify avec analyse d'entropie de Shannon détecte une vague de chiffrement rapide, il gèle immédiatement le processus fautif (SIGSTOP) et vous en informe, et coupe de même en urgence tout le trafic externe (Air-Gap) et les services de partage.
Q8. Comment fonctionnent les protections USB et BadUSB ?
Lors de la connexion d'un stockage USB non autorisé, udev bloque le montage jusqu'à confirmation. Pour les appareils BadUSB, evdev (EVIOCGRAB) intercepte les touches de manière exclusive au niveau logiciel et affiche une invite d'approbation sans déconnexion matérielle du port.
Q9. Comment fonctionnent le tunnel VPN automatique et le Kill Switch ?
Sur les réseaux non fiables, RoamSwitch active automatiquement votre tunnel WireGuard (.conf) ou Tailscale (Exit Node). Le Kill Switch nftables bloque toute fuite de données en clair hors du tunnel (fail-closed, opt-in).
Q10. Qu'est-ce que la protection passive des liens (blocage du phishing) ?
Les noms de domaines cibles sont extraits localement des requêtes DNS, TLS SNI et en-têtes HTTP Host pour bloquer les connexions frauduleuses à partir de flux de menaces signés locaux (sans envoyer d'URL dans le cloud).

💻 Environnement d'exécution & Systèmes supportés

Q11. Quelles sont les distributions Linux supportées ?
Ubuntu 22.04/24.04, Debian 12+, Linux Mint, Pop!_OS, Fedora, RHEL, CentOS Stream, openSUSE, Arch Linux et Raspberry Pi OS (64 bits), couvrant toutes les distributions majeures avec systemd et nftables.
Q12. Comment installer RoamSwitch sous Linux ?
Via les dépôts officiels : APT pour Ubuntu/Debian (lafine.net/apt), DNF pour Fedora/RHEL (lafine.net/rpm), zypper pour openSUSE (lafine.net/rpm) et PKGBUILD / tarball signée pour Arch Linux (lafine.net/linux/dl/).
Q13. Fonctionne-t-il sur des serveurs sans interface graphique (Headless/CLI) ?
Oui. En plus de l'interface GTK et de l'icône de la barre d'état, toutes les fonctionnalités sont accessibles via le démon d'arrière-plan, la CLI 'roamswitch' et le serveur MCP.
Q14. Peut-il être déployé sur des serveurs Linux ?
L'édition Client (cet onglet) est optimisée pour les appareils mobiles — postes de travail et ordinateurs portables — qui changent de réseau (roaming). Pour un VPS cloud ou un serveur de datacenter, utilisez plutôt le paquet headless dédié roamswitch-server (également gratuit, distribué séparément). Il intègre des fonctions dédiées aux serveurs telles que l'inbound Default Drop, la prévention du verrouillage SSH et la détection d'intrusion eBPF. Voir l'onglet « 🖧 Édition Linux Server » pour plus de détails.
Q15. Une édition serveur dédiée est-elle prévue ?
Oui, elle est déjà disponible et, comme l'édition Client, elle est gratuite (Community Edition, toutes les fonctionnalités incluses, aucune activation requise). Installez-la séparément sous forme de paquet roamswitch-server via APT / DNF / zypper / AUR.
Comment désinstaller RoamSwitch ? Le réseau peut-il rester coupé après la suppression ?
Utilisez « 🧰 Récupération et désinstallation » → « 🗑 Désinstaller RoamSwitch… » dans la zone de notification, la commande sudo roamswitch uninstall, ou un gestionnaire de paquets comme apt remove (à partir de la version 1.10.7). Par toutes ces voies, RoamSwitch annule toutes les modifications qu'il a apportées au réseau (tables de pare-feu, verrouillage ARP de la passerelle, DNS, etc.) avant de rien supprimer, de sorte que la connexion ne reste pas coupée. Voir les étapes de désinstallation pour le détail.

🤖 Diagnostics & Intégration IA (MCP)

Q16. Que vérifie l'audit de sécurité en 27 points (Diagnostic MCP) ?
Il contrôle 27 paramètres : Secure Boot, chiffrement LUKS, LSM (AppArmor/SELinux), mises à jour automatiques, durcissement SSH/Sudo, paramètres kernel sysctl, ports ouverts, Safe Browsing, verrouillage ARP et filtrage DNS (Score 0-100).
Q17. Comment consulter les résultats du diagnostic ?
Via le tableau de bord GTK ou en exécutant 'roamswitch status' dans votre terminal pour un rapport textuel complet.
Q18. Qu'est-ce que le serveur MCP (Model Context Protocol) inclus ?
roamswitch-mcp est une interface standard permettant aux assistants IA tels que ChatGPT, Claude, Cursor et Antigravity d'interroger en toute sécurité l'état de santé de votre système Linux.
Q19. Quels scénarios sont possibles grâce à l'intégration IA (MCP) ?
Posez simplement une question en langage naturel : 'Quel est le niveau de sécurité de mon système ?' ou 'Y a-t-il des ports dangereux ouverts ?'. L'IA analyse les données locales et fournit des recommandations claires.
Q20. Existe-t-il un risque que l'IA modifie la configuration système via MCP ?
Aucun. Le serveur MCP inclus fonctionne exclusivement en local via stdio en mode lecture seule stricte. Même en cas d'attaque par injection, l'IA ne peut altérer ni les règles de pare-feu ni la configuration système.
Q21. Mon clavier USB a soudainement cessé de fonctionner. Est-il défectueux ?
A. Il n'est probablement pas défectueux — la protection BadUSB de RoamSwitch bloque peut-être temporairement les frappes d'un clavier absent de la liste d'autorisation et affiche une boîte de dialogue d'approbation. Sélectionnez « Autoriser » dans cette boîte pour enregistrer le clavier et rétablir la saisie. En l'absence de réponse pendant 3 minutes, la saisie est libérée automatiquement (pour qu'une machine headless ne reste jamais bloquée). Si vous ne voyez pas la boîte de dialogue, débranchez et rebranchez le clavier.
Q22. Quelle est exactement la différence entre les niveaux de protection (open, balanced, lockdown) ? Puis-je toujours utiliser Internet en mode lockdown ?
A. Oui — le trafic sortant comme la navigation web et les mises à jour de paquets n'est jamais restreint, quel que soit le niveau de protection. Les trois niveaux diffèrent par la quantité de trafic entrant non sollicité que nftables autorise. open est conçu pour un réseau domestique et autorise le trafic local. balanced convient aux réseaux professionnels ou au partage de connexion — il surveille les ports suspects sans gêner l'utilisation normale. lockdown est conçu pour le Wi-Fi public et bloque tout le trafic entrant en mode furtif. Aucun niveau ne bloque jamais le trafic que vous initiez vous-même (navigation, connexions SSH sortantes en tant que client, etc.).
Q23. Les éditions Client pour Mac et Linux peuvent-elles détecter les accès non autorisés et les intrusions ?
En partie, oui ; une partie n'existe que dans la Server Edition.

Ce qui fonctionne sur le client
Le trafic entrant est refusé par défaut (le niveau de protection suit le type de réseau). S'y ajoutent la détection et le blocage des scans de ports, la détection des ports en écoute inconnus, l'audit des journaux de sécurité, les leurres anti-ransomware (canari), les identifiants leurres (honeytokens), la surveillance de l'altération des fichiers critiques (FIM) et la surveillance des entrées de démarrage automatique (persistance). Les notifications sont des notifications de bureau et sont conservées dans l'historique. Sur le Mac, la plupart de ces fonctions relèvent de Pro et s'activent automatiquement quand on active Pro.

Force brute SSH
Le blocage immédiat ne fonctionne que si la connexion à distance (sshd) est activée (pf sur le Mac, nftables sous Linux). Sur une machine où sshd ne tourne pas, rien n'est lu et rien n'est modifié.

Une piste issue du FIM
La notification d'altération d'un fichier critique porte une piste vers une connexion SSH. Sous Linux, elle est rattachée à la connexion SSH à laquelle appartient le processus modificateur. Le Mac ne peut pas le faire, car macOS ne dit pas quel processus a écrit un fichier : il se contente de lister les connexions SSH commencées autour de la modification. C'est un indice de simultanéité, pas la preuve que cette connexion a fait le changement.

Ce qui n'existe que dans la Server Edition
La détection par eBPF (quand un capteur comme Falco est installé) existe sur le client Linux et pas sur le Mac. La détection de reverse shell propre à RoamSwitch n'existe que dans la Server Edition.

🖧 Présentation générale et tarifs

Q1. Qu'est-ce que RoamSwitch Server Edition ?
Une suite de sécurité et de défense autonome entièrement headless (zéro dépendance GUI), conçue pour les VPS cloud, les datacenters on-premise et les hôtes de conteneurs. Elle est fournie sous forme de paquet et de binaire distincts, roamswitch-server, séparé de l'édition Client (roamswitch). Elle assure l'inbound Default Drop, la prévention du verrouillage SSH, la détection d'intrusion eBPF, le FIM des chemins critiques (surveillance des altérations), le blocage Egress/C2 et les notifications d'urgence, le tout dans un seul démon systemd léger.
Q2. Quelle est la différence entre l'édition Client (desktop) et l'édition Server ?
L'édition Client se concentre sur le roaming : elle détecte les changements de Wi-Fi (via l'adresse MAC de la passerelle) et bascule de façon autonome entre trois profils de pare-feu. L'édition Server, elle, ne suppose aucun déplacement réseau et adopte par défaut un Default Drop entrant permanent, avec protection du chemin d'administration SSH, prévention de l'exposition des ports de conteneurs, et détection d'intrusion au niveau noyau via eBPF (Falco ou Tetragon) — des menaces propres à un serveur en fonctionnement continu. Il n'y a ni GUI ni icône de zone de notification ; l'exploitation se fait via la CLI (la commande roamswitch), les fichiers de configuration et MCP.
Q3. Combien coûte l'édition Server ?
Comme l'édition Client, la Community Edition est gratuite, inclut toutes les fonctions et ne nécessite aucune activation. Pour les organisations qui souhaitent gérer un parc de serveurs de façon centralisée, un niveau payant RoamSwitch Business (gestion de flotte, distribution de politiques signées, support SLA) est prévu mais pas encore disponible. La défense de l'endpoint elle-même est incluse dans l'édition gratuite.
Q4. Le Zero Telemetry (aucune information sur vous ou votre environnement n'est envoyée) est-il également maintenu sur l'édition Server ?
Oui. Le contenu du trafic, l'historique des connexions, les résultats de diagnostic et autres ne sont jamais envoyés où que ce soit, même par défaut. Par défaut, les seules communications sortantes sont les mises à jour via le gestionnaire de paquets de votre système (apt/dnf/zypper) et une réception anonyme de données signées (les données CVE du noyau, les règles web et, sur les serveurs Ubuntu, les données CVE des paquets Ubuntu utilisées par la vérification CVE des paquets du système ; un HTTPS GET vers lafine.net ; le manifeste signé est vérifié chaque jour et les données CVE elles-mêmes environ tous les 30 jours ; il ne contient aucune information sur l'hôte et on peut le désactiver avec roamswitch server config set cve_kernel_map_updates_enabled false). Les notifications, le transfert d'événements, la vérification des signatures npm, etc. ne communiquent que si l'opérateur les a explicitement activés. Le démon ne contient aucune bibliothèque de communication externe, ce qui est vérifié à la compilation par un script d'audit (audit_no_network.sh). La liste complète des exceptions est publiée dans la section Zero Telemetry du livre blanc de sécurité de l'édition Server.

⚙️ Installation et configuration initiale

Q5. Quelles distributions Linux sont prises en charge ?
Ubuntu 22.04/24.04, Debian 12+, Fedora, RHEL, Rocky Linux, AlmaLinux, openSUSE et Arch Linux sont pris en charge (tous nécessitent systemd + nftables). Les architectures x86_64 et aarch64 (y compris AWS Graviton) sont toutes deux prises en charge.
Q6. Comment l'installer ?
Installation depuis les mêmes dépôts officiels que l'édition Client, en ne changeant que le nom du paquet : sudo apt install roamswitch-server (Ubuntu/Debian), sudo dnf install roamswitch-server (famille Fedora/RHEL), sudo zypper install roamswitch-server (openSUSE). Ce paquet est en conflit mutuel (Conflicts) avec le paquet de l'édition Client (roamswitch) : les deux ne peuvent donc pas être installés simultanément sur le même hôte.
Q7. Que dois-je faire en premier après l'installation ?
Lancez l'assistant de configuration interactif avec sudo roamswitch server setup. Il vous guide successivement à travers le port d'administration SSH, les IP sources de maintenance, les canaux de notification d'urgence (Telegram/LINE/Webhook) et l'action à effectuer lors d'un événement eBPF critique (isolate/freeze/alert_only), puis envoie une notification de test et redémarre le service.
Q8. Que dois-je faire après avoir modifié directement le fichier de configuration pour que les changements prennent effet ?
Après avoir édité /etc/roamswitch/server.conf, exécutez sudo roamswitch server restart. L'unité roamswitch-server.service ne prend pas en charge le rechargement de sa configuration via systemctl reload — seul un restart complet fonctionne.
Q9. Qu'est-ce que guard.yaml ? Est-ce obligatoire ?
C'est une configuration optionnelle. Créer /etc/roamswitch/guard.yaml permet de définir, pour chaque niveau de gravité Falco/Tetragon (warning/error/critical/emergency), une action de confinement distincte (notification seule / isolement du processus / isolement complet de l'hôte) ainsi qu'une minuterie de sécurité propre. En l'absence de ce fichier, une politique équivalente est automatiquement synthétisée à partir de action_on_critical dans server.conf, de sorte que les déploiements existants ne sont pas affectés. Un modèle est fourni dans /etc/roamswitch/guard.yaml.example.

🔥 Pare-feu et prévention du verrouillage SSH

Q10. Que signifie l'« inbound Default Drop » ?
Dès l'installation, toute connexion entrante est refusée, à l'exception des ports explicitement autorisés dans allowed_ports (par défaut 80, 443). Cela évite qu'un port d'administration ou de débogage ne soit exposé accidentellement sur internet.
Q11. Une erreur de configuration risque-t-elle de me verrouiller hors de ma connexion SSH ?
Plusieurs niveaux de protection sont en place : (1) les sessions de connexion ESTABLISHED/RELATED existantes sont toujours préservées ; (2) ssh_ports (par défaut 22) est toujours autorisé sans condition ; (3) même lors d'un isolement d'urgence de l'hôte (Air-Gap), preserve_ssh_on_isolation=true (valeur par défaut) maintient active la session SSH de l'administrateur ; (4) une syntaxe de configuration invalide ou un échec de chargement de nftables déclenche un retour automatique au dernier jeu de règles fonctionnel. L'édition serveur jusqu'à la 1.10.4 présentait un défaut. Les règles d'isolement abandonnaient les réponses SSH, de sorte que le SSH de l'opérateur ne fonctionnait pas pendant l'isolement. Il est corrigé dans la 1.10.5.
Q12. Les ports des conteneurs Docker/Podman sont-ils également protégés ?
Oui. Par défaut, l'option -p de Docker crée ses propres règles iptables, ce qui peut contourner le pare-feu standard de l'hôte et exposer directement un port de conteneur sur internet. Avec protect_docker_ports=true (valeur par défaut), RoamSwitch insère une règle d'inspection en tête de la chaîne DOCKER-USER, afin que le trafic destiné aux conteneurs soit également soumis à la politique allowed_ports / whitelist_ips.
Q13. Que faire si je me verrouille accidentellement moi-même hors du système ?
Connectez-vous via la console web de votre fournisseur cloud (VNC/console série) et exécutez sudo roamswitch emergency-restore pour restaurer le pare-feu à sa dernière configuration fonctionnelle connue et lever tout isolement d'urgence, ou exécutez sudo systemctl stop roamswitch-server pour arrêter complètement le service.

⚡ Détection des menaces et réponse autonome

Q14. Qu'est-ce que l'eBPF Runtime Guard ? Quelle est la différence entre Falco et Tetragon ?
Cette fonction s'appuie sur des capteurs eBPF fonctionnant en espace noyau pour détecter en temps réel les reverse shells, les élévations de privilèges et les évasions de conteneur. Le capteur par défaut est Falco (JSONL via un socket UNIX domain), mais définir sensor.type: tetragon dans guard.yaml permet de basculer vers Cilium Tetragon (gRPC natif, via le même socket UNIX). Aucun des deux n'ouvre de nouveau port en écoute.
Q15. Que se passe-t-il concrètement lorsqu'une menace critique est détectée ?
Selon action_on_critical (ou la politique définie dans guard.yaml), l'une des actions suivantes se déclenche automatiquement : isolate (isolement réseau du processus incriminé), freeze (gel du processus par SIGSTOP et isolement réseau), ou alert_only (notification seule). Définir kill_process: true envoie également un SIGKILL en plus de l'isolement. Les démons fondamentaux — init, runtimes de conteneurs, gestionnaires de paquets, et d'autres — sont toujours exclus du gel/de l'arrêt forcé grâce à une liste de processus protégés.
Q16. Qu'est-ce que la minuterie de sécurité (safety timer) ?
C'est le délai de grâce après le déclenchement d'un isolement d'urgence de l'hôte (Air-Gap), pendant lequel l'administrateur doit confirmer via sudo roamswitch server ack (safety_timer_secs dans guard.yaml, 300 secondes par défaut). Si aucune confirmation n'arrive à temps, RoamSwitch restaure automatiquement l'accès réseau afin qu'un faux positif ne laisse pas le serveur coupé du réseau indéfiniment.
Q17. Comment fonctionne concrètement le FIM des chemins critiques (surveillance des altérations de fichiers) ?
Cette fonction surveille les empreintes SHA-256 de plus de 150 binaires critiques, configurations d'authentification et unités systemd. Les fichiers sont surveillés individuellement via les événements de fin d'écriture fanotify (FAN_CLASS_NOTIF), ce qui permet de détecter une altération à l'instant même où elle survient, sans attendre le prochain scan périodique (qui reste en place comme filet de sécurité). Lors d'une mise à jour légitime d'un paquet du système, la référence est resynchronisée automatiquement via le hook DPkg::Post-Invoke sous Debian/Ubuntu ou l'unité systemd.path sous Fedora/RHEL/openSUSE, évitant ainsi les fausses alertes.
Q18. Que sont les canaris anti-ransomware ?
Il s'agit de fichiers leurres placés à la racine des sites web (/var/www, /srv, etc.) dont l'intégrité est vérifiée périodiquement. Si un leurre est altéré ou chiffré, RoamSwitch identifie le processus à l'origine de l'accès, le gèle, l'isole, et envoie une notification d'urgence à l'administrateur.
Q19. Que sont le blocage Egress et le DNS sinkhole ?
Le blocage Egress (egress_ip_blocklist_enabled, activé par défaut, le seed fourni ne contient que les trois serveurs d'attaque publiés par JPCERT/CC, rien d'autre n'est bloqué tant qu'aucun flux n'est chargé) bloque via nftables les connexions sortantes vers des IP connues comme malveillantes. Le DNS sinkhole (dns_sinkhole_enabled, désactivé par défaut pour ne pas casser un DNS interne ou une configuration split-horizon) force la résolution via un résolveur DNS filtrant (Quad9/Cloudflare/AdGuard/CleanBrowsing) afin de bloquer également la résolution de domaines malveillants.

📢 Notifications, exploitation et diagnostic

Q20. Quels canaux sont pris en charge pour les alertes d'urgence ?
Telegram Bot, l'API LINE Messaging, ainsi que des Webhooks génériques (Slack / Discord / Microsoft Teams / votre propre plateforme de supervision). Les alertes sont envoyées instantanément lors d'incidents majeurs — exposition non autorisée de port, altération détectée par le FIM, détection de menace eBPF ou isolement d'urgence. Exécutez roamswitch server test-notify pour vérifier votre configuration.
Q21. Ma notification de test Telegram affiche « chat not found » — que faire ?
Dans la plupart des cas, il manque le préfixe -100 requis pour l'identifiant de chat d'un supergroupe (par ex. -1001234567890). Vérifiez la valeur correcte dans le champ "chat":{"id":...} de la réponse renvoyée par curl -s "https://api.telegram.org/bot<token>/getUpdates".
Q22. Que vérifie l'« audit de sécurité en 34 points » ?
Exécutez roamswitch status --server. Cet audit couvre 34 points alignés sur le CIS Benchmark — état du pare-feu, mitigation du Frag Gap (désactivation des espaces de noms utilisateur non privilégiés), protection mémoire Yama LSM, permissions des fichiers critiques, exposition Docker, et plus encore — et produit un score de sécurité de 0 à 100 ainsi qu'une note (S à C).
Q23. Une IA pourrait-elle modifier mes paramètres de pare-feu à mon insu via le serveur MCP ?
Aucun. Le roamswitch-mcp fourni est conçu pour être strictement en lecture seule (uniquement des outils de récupération d'état et d'audit). Même si les journaux d'une application web contenaient une injection de prompt malveillante, un agent IA ne pourrait pas ouvrir le pare-feu ou lever un isolement via ce canal. Toute modification de politique ou libération d'un processus gelé exige impérativement l'exécution explicite d'une commande depuis un TTY local (un terminal SSH).

🏢 Licence et perspectives

Q24. Qu'ajoute l'offre payante RoamSwitch Business ?
Ce sont des fonctions prévues, non disponibles aujourd'hui. Sont envisagés : la gestion de flotte (enrôler plusieurs serveurs avec un jeton d'organisation signé Ed25519 et agréger niveau de protection, score de santé et état des politiques), la distribution de politiques signées (réseaux de confiance et valeurs imposées de chaque garde en JSON signé), un dépôt APT/RPM privé signé avec une clé GPG propre à l'organisation, et un support SLA contractuel. Aucun serveur de gestion ni fonction de gestion de flotte n'existe aujourd'hui. La défense de l'endpoint elle-même est incluse dans l'édition gratuite et ne sera pas réduite dans Business.
Q25. Une prise en charge des plateformes d'orchestration de conteneurs comme Kubernetes est-elle prévue ?
Actuellement, cette fonction cible les hôtes Docker/Podman autonomes. La distribution et l'audit de politiques à l'échelle d'un cluster Kubernetes complet sont à l'étude comme extension possible des futures fonctions de gestion de flotte Business. Envoyez vos demandes spécifiques à notre support.
Q26. RoamSwitch Server peut-il détecter en temps réel les accès non autorisés et les intrusions ?
Oui, mais dans une certaine limite. Voici ce qu'il détecte et où il s'arrête.

Ce qu'il détecte, puis arrête ou signale
- Force brute SSH : il lit le journal de sshd à l'instant où une ligne est écrite et bloque une source dont les échecs atteignent le seuil (par défaut 6 en 600 secondes), en environ 0,2 seconde d'après les mesures. Il rejette les nouvelles connexions et coupe en même temps les connexions SSH que cette source avait déjà ouvertes. Une session authentifiée et une source exemptée ne sont jamais coupées.
- Activité après une intrusion : la garde d'exécution eBPF (Falco / Tetragon) détecte les reverse shells, les élévations de privilèges et les évasions de conteneur, et réagit automatiquement, de l'isolement du processus jusqu'à l'Air-Gap de tout l'hôte. RoamSwitch cherche aussi lui-même, toutes les 2 secondes, les reverse shells vers des adresses extérieures (environ 2,4 secondes après la connexion, d'après les mesures). Le temps entre la détection et la réponse est enregistré ; mesuré, il était de 42 à 64 ms.
- Altération de fichiers : le FIM détecte aussitôt la modification d'un fichier critique, et la notification indique qui l'a faite (compte, exécutable, commande) et par quelle connexion SSH (IP source, heure, méthode d'authentification). Quand cela n'a pas pu être vérifié, elle le dit.
- Aussi : le contact avec le canari anti-ransomware et les identifiants leurres, la détection et le blocage des scans de ports, la détection du tunneling DNS, le blocage du trafic sortant vers des IP malveillantes connues et la détection des connexions vers l'adresse de métadonnées du cloud (notification seulement).

À propos des notifications
Elles ne sortent du serveur que si l'opérateur a configuré une destination (Telegram, LINE, webhook ou transfert d'événements). C'est désactivé par défaut, et l'historique est toujours enregistré sur le serveur même.

Limites
- La précision et la rapidité de l'isolement eBPF dépendent des règles de Falco ou de Tetragon. De fait, les 29 règles standard de Falco 0.45.0 n'en comptent aucune qui détecte un reverse shell sur l'hôte. RoamSwitch compense avec un heartbeat qui vérifie que le chemin d'alerte est vivant et avec sa propre détection de reverse shell, sans pour autant combler toutes les lacunes des règles.
- Le FIM montre le fait d'une modification, ainsi que le processus et la connexion qui l'ont produite. Il ne montre pas la porte d'entrée elle-même (par exemple la vulnérabilité exploitée).
- Le blocage SSH compte par source ; il est donc peu efficace contre une force brute distribuée qui essaie une seule fois depuis de nombreuses IP. Quand fail2ban ou CrowdSec (avec la protection sshd activée) tourne, RoamSwitch lui laisse le blocage et se contente de détecter et de notifier.
- Comme vraie parade, combinez-le avec la désactivation de l'authentification par mot de passe (clés seulement) et la restriction des sources autorisées (liste d'autorisation).
Aucune question correspondante n'a été trouvée. Essayez un autre mot-clé.