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.
Conçu pour AMQP-over-TLS, il traverse sans douleur les pare-feux sortants et réutilise vos identifiants Ident/Token existants.
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. |
Heartbeat | Message alive périodique pour supervision et bascule d’état. |
Historique | Journal CSV local des sessions (UID, IP, durée). |
Garbage Collector | Nettoyage automatique des sessions inactives ou orphelines. |
Détails de configuration
/etc/alemca/config.yaml
remote:
enabled: true # Désactive entièrement le plugin si false
server_id: "fr04" # Datacenter cible sur la plateforme (pour routage interne)
health_check: 600 # Intervalle en secondes entre deux messages 'alive'
max_session: 10 # Nombre max de tunnels simultanés
key_path: "/etc/alemca/key.pem" # Clé privée ED25519
history_path: "/etc/alemca/history.csv" # Log local append-only
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 uniquementfr04
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
- Demande : la console publie un message sur
<topic>.session
avec la clé de session. - Établissement : l’agent crée un
tunnel.Tunnel
, signe sa clé publique, et répond via la queue dédiée. - Transfert : tout flux (SSH, RDP, SOCKS, etc.) circule dans le tunnel chiffré (ED25519 + curve25519).
- Fermeture : la console ou l’agent publie un message sur
<topic>.close
. - Garbage Collector : au-delà de 30 min d’inactivité ou de perte d’ACK, la session est détruite côté agent.