Gérer l'accès à plusieurs systèmes Linux

15

Une recherche de réponses mais rien trouvé ici ...

Pour faire court: une organisation à but non lucratif a un besoin urgent de moderniser son infrastructure. La première chose est de trouver une alternative à la gestion des comptes utilisateurs sur un certain nombre d'hôtes Linux.

Nous avons 12 serveurs (physiques et virtuels) et environ 50 postes de travail. Nous avons 500 utilisateurs potentiels pour ces systèmes. La personne qui a construit et entretenu les systèmes au fil des ans a pris sa retraite. Il a écrit ses propres scripts pour tout gérer. Ça fonctionne encore. Rien à redire là-bas. Cependant, beaucoup de choses sont très manuelles et sujettes aux erreurs. Le code est en désordre et après les mises à jour, il doit souvent être modifié. Le pire, c'est qu'il y a peu ou pas de documents écrits. Il n'y a que quelques notes Lisez-moi et des notes aléatoires qui peuvent être pertinentes ou non. La maintenance est donc devenue une tâche difficile.

Actuellement, les comptes sont gérés via / etc / passwd sur chaque système. Les mises à jour sont distribuées via des scripts cron pour corriger les systèmes à mesure que des comptes sont ajoutés sur le serveur "principal". Certains utilisateurs doivent avoir accès à tous les systèmes (comme un compte administrateur système), d'autres ont besoin d'accéder à des serveurs partagés, tandis que d'autres peuvent avoir besoin d'accéder à des postes de travail ou seulement à un sous-ensemble de ceux-ci.

Existe-t-il un outil qui peut nous aider à gérer des comptes répondant aux exigences suivantes?

  • De préférence open source (c'est-à-dire gratuit car le budget est TRÈS limité)
  • grand public (c.-à-d. maintenu)
  • a de préférence une intégration LDAP ou pourrait être fait pour s'interfacer avec le service LDAP ou AD pour l'authentification des utilisateurs (sera nécessaire dans un proche avenir pour intégrer les comptes avec d'autres bureaux)
  • gestion des utilisateurs (ajout, expiration, suppression, verrouillage, etc.)
  • permet de gérer à quels systèmes (ou groupe de systèmes) chaque utilisateur a accès - tous les utilisateurs ne sont pas autorisés sur tous les systèmes
  • prise en charge des comptes d'utilisateurs pouvant avoir différents homedirs et montages disponibles selon le système auquel ils sont connectés . Par exemple
    • sysadmin connecté au serveur "principal" a main: // home / sysadmin / as homedir et a tous les montages partagés
    • sysadmin connecté aux postes de travail du personnel aurait nas: // user / s / sysadmin comme homedir (différent de ci-dessus) et un ensemble de montages potentiellement limité,
    • un client connecté aurait son homedir à un endroit différent et aucune monture partagée.
  • S'il existe une interface de gestion simple, ce serait génial.
  • Et si cet outil est multi-plateforme (Linux / MacOS / * nix), ce sera un miracle!

J'ai cherché sur le Web et n'ai donc rien trouvé de convenable. Nous sommes ouverts à toutes suggestions. Je vous remercie.

EDIT: Cette question a été incorrectement marquée comme doublon. Le lien vers la réponse ne parle que d'avoir les mêmes homedirs sur tous les systèmes, alors que nous devons avoir différents homedirs en fonction de l'utilisateur du système actuellement connecté (MULTIPLE homedirs). De plus, l'accès ne doit être accordé qu'à certaines machines et non à l'ensemble du lot. Mods, veuillez comprendre toute l'étendue du problème au lieu de simplement le marquer comme doublon pour les points ...

Swartz
la source
Les «points» ne sont pas attribués pour avoir marqué un doublon. Votre question n'était pas suffisamment claire pour que 5 personnes la considèrent en double.
user9517
Je ne savais pas. OK merci. Cependant, il a été marqué en double à la hâte. Veuillez lire les exigences du formulaire à points qui indiquent clairement ce qui est nécessaire. Ce n'est pas un doublon. Le lien fourni vers la "solution" permet un accès aveugle à tous les systèmes (nous devons limiter qui a accès et à quel système ou groupes de systèmes). L'emplacement réel du homedir dépend du système auquel vous accédez. Le même utilisateur peut avoir des homedirs ET des montages différents selon le système auquel il est connecté.
Swartz
Juste pour clarifier: dans l'exemple sysadmin mentionné ci-dessus, main et nas sont des serveurs différents? Ainsi, le même utilisateur aurait accès à différents homedirs en fonction de l'homedir auquel il se connecte?
Marco Bizzarri
@MarcoBizzarri: je ne suis pas sûr de comprendre. Le système auquel l'utilisateur est connecté détermine le homedir. SysA et SysB peuvent tous deux avoir / home / bob dans / etc / passwd, tandis que homdir pour Bob sur SysC peut être / quelque part / else / bob. Les deux emplacements contiendront des données différentes. L'utilisateur du système connecté à détermine quels autres supports sont disponibles. Cela permettrait uniquement aux systèmes de personnel d'accéder aux montages de personnel partagés. Là où les systèmes disponibles "publiquement" seront limités à d'autres supports. Ainsi, un membre du personnel doit se trouver sur un PC désigné par le personnel pour accéder aux supports du personnel. Un peu de compartimentation ...
Swartz
Ok, donc il y a deux points différents ici: le homedir est fixe, et peut être quelque part (sur le même serveur ou sur un autre) mais c'est toujours ça. Je veux dire, SysA a toujours son homedir sur serverX, quoi qu'il arrive. Après cela, il existe un répertoire partagé entre le personnel, appelons-le staff_dir, qui devrait être disponible lorsque le personnel se connecte à staff_workstation, mais pas lorsque vous vous connectez à normal_workstation; Est-ce exact?
Marco Bizzarri

Réponses:

17

FreeIPA est probablement ce que vous recherchez. C'est pour Linux ce qu'est Active Directory pour Windows. (Il peut également communiquer avec AD si vous avez un environnement hétérogène, mais ne doit pas être utilisé pour gérer directement les machines Windows. Utilisez AD pour cela.)

La documentation de Red Hat (ils l'appellent Gestion de l'identité) est très complète et facile à suivre, et devrait être principalement applicable même si vous n'utilisez pas de systèmes dérivés de Red Hat.

Michael Hampton
la source
+1 freeipa est génial.
Sirex
Je vais regarder FreeIPA. Merci pour le conseil. Question: FreeIPA prend-il en charge différents homedirs sur différents systèmes? Exemple: l'utilisateur Bob a (exporté NFS) homedir dans / shared / home / xyz lorsqu'il est connecté à SystemA et SystemB, mais lorsqu'il est sur SystemC / quel que soit / spécial est l'homedir de Bob.
Swartz
Avez-vous regardé les montages automatiques ? Cela devrait vous apporter environ 90% du chemin, les 10% restants étant des modifications mineures de votre environnement existant.
Michael Hampton
Oui, les systèmes existants utilisent le montage automatique. Ceux-ci sont configurés manuellement pour chaque type de système. Malheureusement, notre environnement actuel est trop lourd à maintenir. Surtout après les mises à jour ou lors de la création de nouvelles images système. Bien que son noyau fonctionne, il y a toujours quelque chose qui doit être modifié pour le faire fonctionner.
Swartz
Eh bien. Vous avez maintenant une bonne occasion de commencer à nettoyer les choses.
Michael Hampton
6

Je suggérerais un bon consultant local pour évaluer les détails de votre situation ...

Vraiment.

Il peut y avoir d'autres exigences ou nuances commerciales que les personnes sur ce forum peuvent ne pas reconnaître ou être suffisamment investies pour être prises en compte. Une ressource dédiée est votre meilleur pari ... Sinon, nous vous envoyons simplement des recommandations de produits pour quelque chose qui est facilement hors de portée pour un simple Q&R.


Malgré cela, mon approche serait de tirer parti de Microsoft Active Directory et de lier les systèmes Linux à l'utilisation de SSSD ou LDAP. FreeIPA est très bien dans une maison entièrement Linux, mais même si vous dites "à but non lucratif", cela n'exclut pas nécessairement Windows. Vous allez rencontrer Active Directory quelque part le long du chemin. Vous voudrez peut-être augmenter cela avec des répertoires personnels montés automatiquement, mais les détails de qui est monté quand ou où ne sont pas clairs.

Même dans les environnements de cloud privé à 99% Linux que je construis maintenant, je compte toujours sur Active Directory pour faciliter la gestion et l'authentification centralisée. Les groupes et les autorisations d'accès sont faciles, la politique de mot de passe et le vieillissement du compte sont simples. Toutes les préoccupations concernant la maintenabilité, le partage de l'esprit et la compatibilité sont couvertes par la solution Microsoft. La réplication est intégrée, elle est bien documentée et il y a un peu de pérennité inhérente à la technologie.

Il manque cependant certains détails dans votre question initiale ...

  • Quelles distributions Linux particulières sont présentes dans l'environnement? Les versions sont-elles cohérentes?
  • Avez-vous besoin du même niveau de granularité de gestion pour vos systèmes Macintosh (la plupart des organisations n'essaient pas de gérer complètement les ordinateurs Apple)?
  • Y a-t-il des utilisateurs distants?
  • Vous mentionnez "* nix" - Quels types de * nix sont présents?
ewwhite
la source
2
cela ne vaut vraiment rien que freeipa puisse faire toutes ces choses pour les machines linux (réplication, politique de mot de passe, groupes, etc.) et c'est très facile à configurer (vraiment!). Il effectue également une réplication bidirectionnelle contre Active Directory (à peu près sûr que les nouveaux utilisateurs sont unidirectionnels car AD a des champs supplémentaires), mais si vous avez des machines Windows, vous voudrez toujours AD, car il est si central dans la manière de Windows de la vie. De plus, la documentation dans freeipa fait encore un peu défaut à mon humble avis.
Sirex
Malheureusement, il n'y a pas de budget pour un consultant. Il n'y a pas de machines Windows (seulement si le personnel apporte les leurs). Tous les systèmes sont CentOS (certains 5.x d'autres sont 6.x). L'organisation est en train d'obtenir des iMac plus anciens (2007-ish), donc il serait bien d'avoir un outil qui fonctionne sur OSX et Linux. Une bonne chose: pas besoin de s'inquiéter de Windows.
Swartz
Acceptez la suggestion d'Active Directory - si les coûts de licence sont un problème, Samba4 est une alternative gratuite et utilise les mêmes outils de gestion / infrastructure qu'une AD native Windows-hosetd. Presque tout le reste peut être configuré pour s'authentifier contre AD via PAM, winbind, LDAP, etc. Pour la gestion de la configuration de l'ensemble de l'infrastructure, consultez Salt ( saltstack.com/community.html blog.smartbear.com/devops/… )
nedm
3

Le système actuel fonctionne mais est difficile à gérer. Je suppose qu'il y a aussi d'autres problèmes pour gérer ces serveurs si tout a été fait manuellement. Je prendrais une approche différente en ne remplaçant pas quelque chose qui fonctionne (gestion des utilisateurs) et en résolvant le problème d'administration des serveurs.

Je recommande d'utiliser quelque chose comme cfengine http://cfengine.com/community (édition gratuite là-bas) pour "moderniser" votre administration système, pas seulement la gestion des utilisateurs. C'est une bonne occasion de l'essayer, car votre système actuel fonctionne de manière similaire à l'utilisation de cfengine pour distribuer la configuration aux serveurs, dans votre cas le / etc / passwd. Ainsi, au lieu de les remplacer, vous migrez ces scripts vers cfengine. J'espère que l'impact serait très minime car vous utilisez toujours le même / etc / passwd.

Une fois que vous êtes à l'aise avec le cfengine, vous pouvez créer plus de recettes pour résoudre plus de problèmes comme avoir un tout nouveau système de gestion des utilisateurs et vous avez l'outil pour gérer la configuration sur les serveurs.

Pour vous aider à démarrer, j'ai trouvé ce lien http://explosive.net/opensource/cfpasswd/doc/cfengine.html qui montre comment distribuer / etc / passwd et les fichiers associés.

Même si vous vouliez remplacer le système de gestion des utilisateurs maintenant, vous avez toujours besoin d'un outil d'administration pour gérer ces serveurs. Il vaut mieux avoir un outil d'administration plus tôt que tard et reconfigurer votre gestion des utilisateurs sous un outil d'administration.

imel96
la source
0

Juste quelques petites choses à ajouter -

J'utilise Puppet dans mon déploiement - idée similaire à cfengine - http://puppetlabs.com

Cela pourrait également faire votre gestion des utilisateurs et la configuration générale / gestion du serveur.

Si vous vouliez essayer quelque chose d'aussi polyvalent que Samba, il pourrait avoir la possibilité de faire la gestion des répertoires avec une certaine configuration ainsi que la possibilité d'utiliser un backend LDAP pour la configuration. Samba 4 a beaucoup mûri et pourrait réellement fournir un environnement intégré avec Windows et Linux pour la gestion / authentification.

Samba fonctionne avec AD ou en remplacement de AD également.

Il y a aussi un produit appelé Centrify que j'ai vu il y a quelque temps. Je ne suis jamais allé trop loin avec ça, mais je pense qu'ils en ont aussi une version freeware / opensource. Si je me souviens, il avait un potentiel pour un environnement mixte, fournissant une gestion Windows et Linux, et éventuellement Mac.

J'appuie la suggestion d'un consultant. Ces déploiements peuvent devenir très compliqués à mettre en place très rapidement, mais faciles à entretenir une fois qu'ils sont documentés et configurés.

Bonne chance

JTWOOD
la source
1
J'ai examiné Puppet and Chef pour la gestion de la configuration dès le début. Puppet permet 10 nœuds gratuits, avec Chef vous en obtenez 5 gratuitement. Après ce point, Puppet Labs facture 99 $ / nœud / an. Ce serait quelques milliers pour nous. Disjoncteur. Bien que je ne me souvienne pas du prix du chef, mais c'est la même idée. Pas dans le budget. :(
Swartz