Aller au contenu

Relais protégés

Un relais est parfois installé sur une machine qui appartient à quelqu’un d’autre : un partenaire ou un client dont l’hôte peut contenir des données personnelles. Sur une telle machine, exécutez le relais en mode protégé. En mode protégé, un administrateur d’Opfield ne peut pas accéder à l’hôte par l’intermédiaire du relais, et seul le propriétaire de la machine peut désactiver le mode protégé.

Pool de relais dans Settings → Relay avec un relais marqué ProtectedPool de relais dans Settings → Relay avec un relais marqué Protected

Ce qu’un administrateur d’Opfield ne peut pas faire

Section intitulée « Ce qu’un administrateur d’Opfield ne peut pas faire »
  • Pas de console. Le relais refuse le shell interactif, les commandes ponctuelles (y compris celles de l’assistant d’IA et de MCP) et la saisie dans la console.
  • Pas de fichiers. Le relais refuse toute opération sur les fichiers de l’hôte : parcourir, lire, écrire, téléverser, déplacer et supprimer.
  • Pas de diagnostics de l’hôte. Les rapports de santé ne contiennent que des valeurs agrégées de CPU, de mémoire, de swap, de charge, de temps de fonctionnement, de descripteurs de fichiers et d’espace disque libre. Ils ne contiennent ni points de montage, ni E/S disque, ni interfaces réseau, ni adresses IP, ni modèle de CPU, ni version du noyau, et le relais ne recherche pas son adresse IP publique.
  • Aucune autre commande. Le relais n’exécute que son propre travail et refuse tout ce qu’Opfield lui envoie d’autre, y compris les commandes qu’ajouteront les versions ultérieures d’Opfield, avec une erreur indiquant que le relais est protégé.
  • faire transiter du trafic par le relais ;
  • le vider et le remettre en service ;
  • renouveler son certificat ;
  • lire les journaux propres au relais et les compteurs de routes ;
  • le mettre à jour.

Les mises à jour n’installent que des versions officielles signées avec la clé de version intégrée au relais, comme sur chaque nœud. Un relais protégé n’accepte aucune mise à jour vers une version antérieure à celle qu’il exécute, car une version plus ancienne pourrait être antérieure au mode protégé ; une mise à jour du Relay Pool qui le tente signale le refus et remet le relais en service. Un relais protégé refuse aussi de servir les services intégrés de l’hôte Opfield, comme le registre interne ; seul le relais local situé à côté d’Opfield les sert.

Le mode protégé appartient au propriétaire de la machine

Section intitulée « Le mode protégé appartient au propriétaire de la machine »

Le paramètre se trouve uniquement dans le fichier de configuration local du relais, /etc/opfield-relay/config.yaml (/etc/gateway-relay-supervisor/config.yaml sur un relais installé avant 2.12.1 et qui n’est pas encore passé aux noms Opfield), lisible par root et, pour une installation sans root, par l’utilisateur d’exécution du relais. Opfield ne dispose d’aucune commande qui le modifie, et un relais protégé refuse toute commande susceptible d’écrire dans ce fichier.

Dans la boîte de dialogue de configuration du relais, cochez Protected relay. Cela ajoute --protected à la commande d’installation générée. Exécuter à nouveau l’installateur conserve le mode protégé ; l’installateur ne le désactive jamais.

L’activer ou le désactiver sur un relais existant

Section intitulée « L’activer ou le désactiver sur un relais existant »

En tant que root sur l’hôte du relais :

Fenêtre de terminal
relay-supervisor protected status
relay-supervisor protected on # or: relay-supervisor protected off
systemctl restart opfield-relay-supervisor # OpenRC: rc-service opfield-relay-supervisor restart

relay-supervisor protected on|off écrit le paramètre dans le fichier de configuration en conservant tout le reste, et affiche la commande de redémarrage pour cette machine : un relais qui n’a pas redémarré depuis son passage aux noms Opfield s’exécute encore sous le nom gateway-relay-supervisor. La modification manuelle du fichier fonctionne de la même manière :

protected:
enabled: true
allow_database_witness: false

La modification s’applique au redémarrage du superviseur du relais, et le relais la signale à sa reconnexion.

allow_database_witness (par défaut false) permet à Opfield d’exécuter des témoins de bases de données et de stockage sur le relais protégé. Sans ce paramètre, Opfield n’y place pas de témoin, et Settings → Relay affiche « Protected relay: needs local opt-in » même lorsqu’un administrateur a autorisé les témoins sur ce relais. Ce paramètre est sans effet tant que le mode protégé est désactivé.

  • Un badge Protected sur le relais dans Nodes, sur sa page de nœud et dans Settings → Relay (protected: true dans GET /api/system/relay).
  • Aucun onglet Console ni Files sur sa page de nœud, et aucune commande de console ou de fichiers pour lui dans la palette de commandes.
  • L’API, l’assistant d’IA et MCP refusent les requêtes de console et de fichiers de l’hôte le concernant avec 409 NODE_PROTECTED.

Le mode protégé nécessite un relais 2.12 ou ultérieur. Il ne change pas la façon dont le relais transporte le trafic ; voir Relay et Relay Pool.