Skip to content

Configuration plugin Remote

Présentation

Le plugin Remote permet a vos opérateurs de prendre la main a distance : il ouvre, surveille et referme des tunnels chiffrés pour prise de contrôle à distance et transfert de fichiers ciblés.

Fonction Description
Tunneling Création de tunnels TCP chiffrés de bout en bout pilotés par messages (création, fermeture).
Gestion de clés Publication automatique de la clé SSH-ED25519 publique vers la plateforme, rotation à chaud.
Historique Journal CSV local des sessions (UID, IP, durée).

Détails de configuration

/etc/alemca/configs/example.yaml
remote:
  enabled: true                    # Désactive entièrement le plugin si false (défaut a true, optionnel)
  server_id: "fr04"                # Datacenter cible sur la plateforme (pour routage interne) (défaut a fr04, optionnel)
  health_check: 600                # Intervalle en secondes entre deux messages 'alive' (défaut a 600, optionnel)
  max_session: 10                  # Nombre max de tunnels simultanés (défaut a 10, optionnel)
  key_path: "/etc/alemca/system/key.pem"  # Clé privée ED25519 (défaut a /etc/alemca/system/key.pem, optionnel)
  history_path: "/etc/alemca/system/history.csv"  # Log local append-only (défaut a /etc/alemca/system/history.csv, optionnel)

Explication des sections

  • enabled : Coupe ou active complètement le plugin Remote.
  • server_id : Abréviation du nœud de sortie plateforme ; utilisez-la pour regrouper logiquement vos sites (ex. fr04, us-west). Pour le moment uniquement fr04 est supporté.
  • health_check : Périodicité (en s) des messages alive.
  • max_session : Limite maximale de tunnels simultanés. Si la limite est atteinte, le plugin attendra la fermeture d’un tunnel avant d’en ouvrir un nouveau.
  • key_path : Emplacement de la clé privée utilisée pour signer et chiffrer les tunnels. Le plugin génère la clé publique et la pousse côté plateforme.
  • history_path : Fichier CSV local qui enregistre : horodatage de début, identifiant de session, IP distante, durée, code de fermeture.

Cycle de vie d’une session

  1. Demande : la console publie un message sur <topic>.session avec la clé de session.
  2. Établissement : l’agent crée un tunnel.Tunnel, signe sa clé publique, et répond via la queue dédiée.
  3. Transfert : tout flux (SSH, RDP, SOCKS, etc.) circule dans le tunnel chiffré (ED25519 + curve25519).
  4. Fermeture : la console ou l’agent publie un message sur <topic>.close.
  5. Garbage Collector : au-delà de 30 min d’inactivité ou de perte de connexion, la session est détruite côté agent (ainsi que côté plateforme).