Open linkdd opened 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.
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).