2009-01-24 12 views
3

Je dois implémenter un mécanisme d'authentification basé sur ACL pour un périphérique. Ce périphérique est accessible via diverses interfaces telles que les pages Web, TL1 (essentiellement via une invite de commande), etc.ACL pour un périphérique réseau

Je dois conserver la logique ACL centralisée afin que la requête de n'importe quelle interface puisse être authentifiée. La logique ACL vérifie essentiellement si l'utilisateur connecté peut effectuer l'opération qu'il essaie d'exécuter. Pour cela, je vais créer des groupes et ajouter des utilisateurs à ces groupes. Chaque groupe maintiendrait la liste des opérations autorisées sous ce groupe particulier. Quelqu'un peut-il suggérer être le meilleur moyen de mettre en œuvre ceci?

Existe-t-il un logiciel/outil existant qui me permet d'y parvenir? Un projet open source? Je suis un programmeur C/C++ et un débutant au concept ACL. Le module mentionné ci-dessus doit être développé pour Linux OS. L'interface Web sera en CGI.

Merci d'avance.

+0

Il existe des listes de contrôle d'accès spécifiques au système de fichiers disponibles sous Linux, mais vos exigences semblent aller au-delà du suivi des opérations de base des fichiers. L'authentification des sessions Web peut se faire de nombreuses façons. Peut-être que pam (man pam) peut vous aider à identifier les utilisateurs de la console et du Web. – bew

+0

Avez-vous essayé [SELinux] (http://en.wikipedia.org/wiki/Security-Enhanced_Linux), je crois que cela fournirait la granularité du contrôle de sécurité que vous recherchez – secumind

Répondre

0

Votre question est trompeuse. Ce que vous demandez, n'a dans la plupart des cas rien à voir avec les ACL des objets du système de fichiers dans Linux.

Je suppose que votre CGI est un fichier unique, écrit en C++.

Vous devrez utiliser une solution de stockage de données locale. À votre place, j'ai utilisé sqlite, ou une autre solution basée sur sql. Je pense que vos listes acl - qui ne sont pas des ACL basées sur un système de fichiers - devraient être stockées dans votre base de données locale.

P.s. De plus, je suggère d'utiliser au moins les fcgi multithread, les binaires de cgi sont vraiment très sous-optimaux.

Questions connexes