linkdd / fwallsh

Command line interface to configure your Linux router/server.
5 stars 1 forks source link

Support de la communication inter-processus #1

Open linkdd opened 12 years ago

linkdd commented 12 years ago

L'invite de commande et les modules étant séparés, il faut un démon qui leur permettent d’interagir entre eux.

Ils interagirons par le biais d'un socket UNIX, et un protocole doit donc être mis en place, afin de décrire les comportements suivants :

Chaque commande est géré par des ACL bien précises qui ne permettent pas à un utilisateur (ou module) d'exécuter toutes les commandes (parfois critiques).

linkdd commented 12 years ago

Le socket Unix sera encapsulé dans un tunnel SSL, avec la librairie OpenSSL.

Le démon possède un jeu de clé (privée / publique ) ainsi qu'une liste blanche de clé publique. Chaque module possède également un jeu de clé privée/publique.

Lors de la connexion sur le socket, le module/shell doit envoyer sa clé publique au serveur, qui validera ou non la clé (selon la liste blanche).

Si la clé est validée, le module est authentifié, sinon le module doit quitter avec un code d'erreur (errno ?).

Il s'agit d'un système d'authentification asymétrique, cela signifie :

OpenSSL peut servir pour la génération des clés.

Ce système imposera à l'administrateur installant fwallsh de générer un jeu de clé pour le démon et pour chaque module qu'il désire utiliser.