Mrjk, 2011-02-21 04:37 UTC+0000:
Ca fait déjà pas mal de temps que j'ai cette idée en tête, et que je l'ai déjà plus ou moins mis en oeuvre, mais j'ai rencontré pas mal de difficultés. Tout d'abord, j'utilise Debian sur un RPS chez OVH. Ensuite, j'aimerai centraliser un peu tout (tout ce qui est possible enfait) sur un serveur (Open)LDAP: utilisateurs, groupes, configurations, ordinateurs, services, permissions ... un peu à la manière de Active Directory, quitte à bidouiller un peu à à écrire quelques scripts. L'idéal serait de pouvoir gérer la majorité de mon cloud à partir d'un seul endroit.
C'est fait pour, quoique je ne comprenne pas ce que signifie gérer des ordinateurs et des services.
Mais c'est là que ça devient compliqué, comment gérer LDAP. Après avoir étudié Active Directory, mais sans pour autant avoir une expérience pratique, il faut bien définir ce que l'on veut: bien organiser son arbre et ses schemas principalement. Et c'est là que je galère, car je n'ai aucune vision d'ensemble couplé au fait que tout les programmes qui peuvent utiliser une authentification LDAP n'interagissent pas forcement de la même manière. Les services que j'aimerai en place sont général: serveur web, FTP, SSH, espace perso, OpenID, Firewall, DNS, Services web divers, mail, Proxy, (Open)VPN/PPTP ...
Tout ça devrait pouvoir utiliser une identification sur LDAP, donc ça va.
En gros, je voudrais: - Avoir une gestion hiérarchique des domaines : domaine.com, puis sous domaine sub1, sub2, sub3 correspondant à des ordinateurs ou des réseau privés (derriere une freebox par exemple) - Pouvoir gérer d'autres domaines: domaine2.com par exemple
Aucun problème, LDAP est fait pour, pour le coup.
- Eviter la redondance des informations, et si ce n'est pas possible, passer par des scripts pour vérifier la cohésion des données - je pense par exemple à la gestion la plus simple des utilisateurs et groupes sous LDAP qui implique une redondance des données. Comment résoudre ça ???
Je ne vois pas où se situe cette redondance.
- Utiliser un systeme SSO: un seul login et mot de passe pour tout.
Ce n'est pas un SSO, mais un couple login/mot de passe unique, il y a une subtile différence.
- Pouvoir configurer plusieurs fois le meme service: dans ma base LDAP, je veux par exemple plusieurs config samba ou FTP en fonction de l'hote (correspondant à un sous domaine)
Ah, mettre une configuration de logiciel sous LDAP, ça ça ne va pas le faire. Ces logiciels ne sont pas faits pour, ils se configurent chacun à sa manière dans leurs fichiers de configuration. Mais de toute façon je ne vois pas ce que LDAP apporterait. Il y a bien un service très particulier dont une partie de la configuration pratique peut être directement prise du LDAP, c'est le courrier électronique. Il faut alors y penser dès le début, en choisissant un serveur de courrier qui prenne cela en charge et en se documentant dessus pour comprendre comment cela s'utilise.
- Pourvoir gérer des groupes d'utilisateurs, et en fonction de l'appartenance, autoriser l'utilisation de certains services ou non (ça je bloque)
Ça c'est de la configuration des services et du LDAP. Par exemple, configurer OpenSSH pour n'autoriser que les connexions des membres du groupe ssh-users, et pour chrooter et forcer SFTP pour les membres du groupe sftp-chrooted. Puis, dans LDAP, créer et remplir ces deux groupes POSIX.
- Garder une hierarchie simple et pratique à administrer, via LDAPAdmin, par exemple.
Au hasard: - Contexte: Service/daemon <-> PAM <-> LDAP: Est-il possible de de gérer quels services sont dispo ou non, ou alors c'est du tout ou rien? Cad si j'utilise OpenSSH et VSFTPD, puis(je bloquer le premier tout en autorisant le second, en fonction de l'appartenance d'un utilisateur à un groupe ?
Pour un utilisateur donné, tu veux dire, lui interdire l'accès SSH tout en lui permettant le FTP ? Oui, c'est possible, en passant ou non par PAM. Comme je le disais plus haut, cela consiste à configurer le logiciel en question pour appliquer des contraintes selon que l'utilisateur est membre ou non d'un groupe donné.
- Comment organiser son arbre user/group/service? J'ai pas trouvé de solution sans éviter le redondance des données - et donc de potentielles erreurs de config: 1) Cas 1: + root/user/[service]/[domain](/conf) + root/user/[domain]/[service](/conf) + root/user/[domain] - [service](/conf) (j'avais d'autres modeles, mais je sais plus ou j'ai noté ça ... :/ )
Ces espèces de chemins ne m'évoquent pas du tout du LDAP, donc je ne comprends pas ce que tu veux dire là.
Bon, ça fait 5 ou 6 mois que je n'ai plus trop bidouillé, mais bon, pour ceux qui ont déjà fait ça, comment avez vous organisé votre arbre ? Quels conseilles pouvez vous me donner pour pas trop galérer ?
Un arbre par noms de domaines, avec très classiquement des nœuds dc (dc=com, dc=example, dc=toto pour toto.example.com). Sous ces nœuds, une unité d'organisation dédiée aux utilisateurs (ou=users), et une autre dédiée aux groupes (ou=groups). Dans ces unités, des utilisateurs POSIX (au moins, mais tu seras sans doute amené à leur ajouter des classes) et des groupes POSIX. Je te conseille vivement de t'acheter un livre sur LDAP. -- Tanguy Ortolo