Surveiller ce forum | Commencer une nouvelle discussion Commencer une nouvelle discussion
RE: Filtrage d'utilisateurs d'un AD [ Répondre ]
Par : Fabien L. on 2019-11-06 13:29
[forum:489264]
Bonjour,

Pour information, ma procédure ne fonctionne pus en version 3.3.3 de Alcasar.

Je testerai en version 3.4 quand j'aurai passé la mise à jour.

Bonne journée.

A bientôt.

RE: Filtrage d'utilisateurs d'un AD [ Répondre ]
Par : Olivier Humbert on 2017-10-19 11:03
[forum:487018]
J'ai eu le même problème..case avec ldap AD

Moi ce que j'ai fait c'est que j'ai interdit le groupe ldap (connexion autorise 0) en revanche cela implique de mettre tous tes utilisateurs dans des groupes alcasar.
exemple j'ai un groupe eleves (alcasar) avec tous mes utilisateurs eleves dedans et là alcasar respecte la case donc mon utilisateur écrit toto (dans le grp eleves d'alcasar) peux se connecter avec toto mais Toto ou TOTO est considéré comme ldap donc interdit.
L’inconvénient : bien mettre a jour tes groupes alcasar a chaque fois que tu ajoute un utilisateur dans ton AD sinon il ne pourra pas se connecter.

RE: Filtrage d'utilisateurs d'un AD [ Répondre ]
Par : Fabien L. on 2017-10-16 17:42
[forum:487013]
Bonjour à tous,

Un petit point sur la solution qui semble être fonctionnelle dans mon environnement.

Pour re-situer le cadre :
- 1 AD dans le même réseau que Alcasar (uniquement pour l'authentification AD via Alcasar par la page intercept, pas de double authentification avec l'ouverture de session ordinateur, les ordinateurs ne sont pas dans le domaine)
- Une poignée d'utilisateurs "génériques" dans l'AD à interdire dans Alcasar (ex : toto)

Ma configuration :
- L'AD est déclaré dans la partie LDAP de Alcasar
- Un groupe "ldap" a été déclaré dans Alcasar (pas de restriction sur ce groupe)
- Un groupe "interdit" a été déclaré dans Alcasar
- Dans ce groupe "interdit" j'ai configuré le nombre de sessions simultanées à 0 pour désactiver les utilisateurs inscrits dans ce groupe (ex : toto)
- Les utilisateurs du groupe "interdit" sont des utilisateurs de l'AD à désactiver dans Alcasar (donc toto pour ex.)

Résultat :
- toto est bien interdit dans Alcasar
- si je modifie un attribut dans le groupe "ldap" de Alcasar (ex : durée max d'une session), cet attribut est bien affecté à tous les utilisateurs de l'AD excepté toto qui est dans le groupe "interdit"
- donc à partir du moment ou un utilisateur existe dans l'AD et qu'il est créé dans Alcasar (BDD locale), les attributs appliqués sur cet utilisateur sont récupérés à partir du groupe auquel il appartient dans Alcasar, si l'utilisateur de l'AD n'existe pas dans la BDD locale d'Alcasar alors les attributs du groupe "ldap" sont utilisés (si celui-ci existe dans Alcasar)

Complément d'information :
- L'AD n'étant pas sensible à la casse (Alcasar oui), j'ai modifié la page intercept.php pour passer un strtolower() aux identifiants saisis sur cette même page afin que tous soient forcés à être envoyés automatiquement en minuscule (cette modification permet de saisir uniquement en minuscule dans la BDD locale d'Alcasar les utilisateurs de l'AD à interdire, pour éviter par ex pour toto de devoir créer toto/Toto/TOto/TOT/TOTO/et toutes ses variantes, cf ce même fl de discussion).

Version d'Alcasar utilisée : 3.1.4

Merci à tous pour cet échange.

Bonne journée.

RE: Filtrage d'utilisateurs d'un AD [ Répondre ]
Par : Richard REY (Rexy) on 2017-10-11 21:43
[forum:487007]
Bonsoir à tous,

Voila qui fat pas mal phosphorer.
Dans un premier temps, il me faut vous avouer un bug que je vous laisse me confirmer, car je n’ai pas toujours un A.D. sous la main pour tester :
- le groupe "ldap" que l’on crée sur ALCASAR permet en effet d’affecter des attributs de 'type ALCASAR" (débit max, temps de session, session simultanée, etc) aux utilisateurs qu’un annuaire externe peut authentifier. Cela fonctionne bien sauf que les autres utilisateurs (ceux qui ne sont déclarés que sur ALCASAR), et s’ils n’appartiennent à aucun groupe, héritent des attributs de ce groupe 'ldap' (alors qu’ils ne devraient pas).
Cela est dû au fait qu’en déclarant ce groupe ldap, on déclare un "groupe par défaut" pour tout utilisateur n’appartenant à aucun groupe particulier.
J'espère que j'ai été assez clair.
Ce n'est pas trop grave, mais dans l'absolu, il faudrait qu'on clarifie cela. Par exemple en créant ce groupe (qu'on renommerait "default" lors de l'installation) et en expliquant bien les choses. qu'en pensez-vous?
Concernant le Pb de la "non gestion" de la casse pas A.D., on peut étudier le fait de transformer les noms de login en minuscule au moment de interrogation de l'annuaire.

RE: Filtrage d'utilisateurs d'un AD [ Répondre ]
Par : Olivier C on 2017-10-11 19:41
[forum:487006]
Je ne suis pas sûr qu'alcasar soit capable d'aller dans les sous-UO.
A mon avis, il s'arrête tout simplement à l'UO "utilisateurs".
Ce matin, je n'ai pas essayé de faire une arborescence.
C'est peut-être une limite du portail avec le ldap.

Qu'en pensent les concepteurs ? Rexy ? 3abtux ?

RE: Filtrage d'utilisateurs d'un AD [ Répondre ]
Par : Julien Roux on 2017-10-11 17:50
[forum:487005]
(visiblement mon message n'est pas parvenu, je recommence, je dis ça au cas ou il apparaisse finalement)
Donc : Mon AD :
UO utilisateurs Contenant
UO prof contenant les profs et le goupe G_prof
UO eleve contenant les élèves et le groupe G_eleve
Côté Alcasar :
dans les paramètre ldap/AD j'ai mis un dn correspondant à un "chemin" qui va jusqu'à l'UO utilisateurs
dans groupe je crée un groupe nommé G_prof en espérant que le fait de lui donner le même nom que celui de mon AD me permette de filtrer les utilisateurs de l'UO prof. L'idée étant de faire pareil avec les élèves et de disposer de 2 règles différentes pour ces deux types d'utilisateurs différents. Et ça marche pas. Du coup j'ai crée le groupe "ldap" côté Alcasar et là tout mon AD est logé à la même enseigne. Ais-je fait une bêtise ?
Cordialement.

RE: Filtrage d'utilisateurs d'un AD [ Répondre ]
Par : Olivier C on 2017-10-11 16:59
[forum:487004]
Je me suis peut être mal exprimé dans mes posts.
- Si vous créez un groupe nommé "ldap", alcasar ne regarde plus le reste des groupes dans sa base. Seuls les paramètres fixés dans ce groupe seront appliqués à tous les utilisateurs de l'AD, même s'ils sont déclarés dans la base d'alcasar avec d'autres paramètres.
- Si vous ne créez pas ce groupe "ldap", vous pouvez alors créer des utilisateurs et des groupes en adéquation avec votre AD, alcasar regardera dans sa base pour appliquer les paramétrages. Le seul problème que j'ai noté dans ce cas, c'est les majuscules/minuscules. Il faut dans ce cas ajouter un strtolower dans la page intercept.php

Si vous avez un autre problème, pouvez-vous détailler un peu plus ?

RE: Filtrage d'utilisateurs d'un AD [ Répondre ]
Par : Julien Roux on 2017-10-11 16:43
[forum:487003]
Bonjour,
Peut-on créer différents groupes qui feraient référence à des groupes de l'AD plutôt qu'un groupe nommé "ldap" ? J'ai essayer mais sans succès.
Cordialement.

RE: Filtrage d'utilisateurs d'un AD [ Répondre ]
Par : Olivier C on 2017-10-11 09:32
[forum:487000]
J'ai fait encore d'autres tests :
- Si la machine de consultation est dans le domaine AD elle aussi, il y a bien une double authentification (ouverture de session zindows + ouverture session alcasar)
- Si l'utilisateur est dans l'AD + dans un groupe différent de 'ldap' dans alcasar, cela fonctionne aussi.

==> Pour la double authentification, c'est dommage, à voir si l'on peut améliorer
==> Pour les groupes, cela permet de gérer plusieurs params de durée de connexion ou d'horaires ou de filtrage, si cela t'es utile, sans être obligé de les appliquer pour chaque utilisateur que tu mets en traitement particulier dans ton cas.


RE: Filtrage d'utilisateurs d'un AD [ Répondre ]
Par : Olivier C on 2017-10-11 08:55
[forum:486999]
Bonjour Fabien,
Je viens de faire des tests dans tous les sens sur une 2.9.1.
-Si l'usager n'est que dans l'AD, alcasar trace mais ne gère rien (durée de connexion, filtrage...)
- Si l'usager est dans l'AD et dans alcasar mais qu'aucun groupe ldap n'existe dans alcasar, le portail trace et gère les params (durée de connexion, filtrage...)
- Si l'usager est dans l'AD et qu'un groupe ldap existe dans alcasar (même si cet usager n'est pas dans ce groupe ni même declaré dans alcasar), alors alcasar trace et gère les params (durée de connexion, filtrage...) pour tous les usagers de l'AD de l'OU qu'alcasar regarde, et il n'y a pas de problèmes avec majuscules/minuscules
-Si l'usager n'est pas dans l'AD mais déclaré dans alcasar, c'est le mode de fonctionnement normal du portail qui s'applique.

Il apparait donc qu'alcasar regarde bien d'abord l'AD puis sa base pour l'authentification. Puis, si l'utilisateur est authentifié, alcasar regarde s'il faut lui appliquer des params (durée de connexion, filtrage...) via le groupe ldap ou directement sur l'usager.

Il y a effectivement un problème avec les majuscules et minuscules dans le cas ou quelques utilisateurs sont déclarés à la fois dans l'AD et dans alcasar.
J'ai appliqué la modif que tu signales dans le post d'hier au soir en ajoutant un strtolower dans intercept.php et en créant des utilisateurs avec des noms en minuscule dans alcasar. Dans la 2.9.1, la ligne à modifier n'est pas au même endroit, mais bon..
==> Cela corrige effectivement ton problème. Mais dans ce cas, il ne faut veiller à ne pas créer de groupe "ldap" dans alcasar.

==> Je me suis aperçu que si l'utilisateur AD qu'alcasar utilise pour se connecter s'appelle par exemple "alc.ldap", il n'arrive pas à se connecter. Certainement à cause du caractère point dans le nom.


RE: Filtrage d'utilisateurs d'un AD [ Répondre ]
Par : Fabien L. on 2017-10-11 08:30
[forum:486998]
@Olivier : si j'ai bien compris, quand Alcasar est couplé à un AD externe, la base de données locale est regardée,il peut y avoir authentification à la fois via la bdd locale Alcasar et / ou la bdd AD externe. Dans mon cas je sais que quand j'utilise un compte AD externe la bdd locale est regardée aussi étant donné que le compte recoit les restrictions données dans Alcasar en créant le compte au même nom dans la bdd locale d'Alcasar. Par contre effectivement sur Alcasar je n'ai pas créé d'utilisateurs qui n'existent pas dans l'AD, donc dans tous les cas les users qui peuvent s'authentifier sur Alcasar sont ceux de l'AD (exceptés ceux du même nom que l'AD, créés dans Alcasar pour être restreints). J'aurai d'autres users mais ils seront créés via la passerelle SMS, là c'est un autre sujet.

Merci encore pour la réactivité.

RE: Filtrage d'utilisateurs d'un AD [ Répondre ]
Par : Olivier C on 2017-10-10 18:55
[forum:486997]
@Fabien:
Avant que je fasse mes tests demain, y a t-il une double authentification (AD + alcasar) quand on couple alcasar avec un LDAP AD externe ?
Si c'est le cas, la page intercept.php est appelée et donc oui, essaye de mettre le strtolower dedans.
Sinon, j'essayerai de trouver demain.

RE: Filtrage d'utilisateurs d'un AD [ Répondre ]
Par : Olivier C on 2017-10-10 18:43
[forum:486996]
@Franck : Je ne trouve pas dans l'historique du forum, ni avec gogle. Quel fichier faut-il modifier stp ?

@Fabien, j'essaye demain sur des machines virtuelles car je n'ai jamais essayé et je ne pense pas que modifier intercept.php soit la solution.
La vérité doit être ailleurs, agent Mulder !
Maintenant, je peux me tromper...

RE: Filtrage d'utilisateurs d'un AD [ Répondre ]
Par : Fabien L. on 2017-10-10 18:03
[forum:486995]
Bonjour,

J'ai trouvé quelques infos, dans le fichier intercept.php, modifier une ligne pour passer l'identifiant de connexion en minuscule, lignes 372 et 373 :

if ((isset($_POST['UserName'])) && (preg_match('/^([0-9A-F]{2}-){5}[0-9A-F]{2}$/', $_POST['UserName']) !== 1))
$username = htmlspecialchars($_POST['UserName']); else $username = '';

Je remplace htmlspecialchars($_POST['UserName']) par htmlspecialchars(strtolower($_POST['UserName'])) ?

Merci d'avance.

Cordialement.

RE: Filtrage d'utilisateurs d'un AD [ Répondre ]
Par : Franck BOUIJOUX on 2017-10-10 16:34
[forum:486994]
Bonjour
ça a été déjà abordé dans le forum ...
Il faut retrouver où.
Il y a avait un strlower directement sur le portail pour forcer les login à minuscules quelques soit la casse.

...

RE: Filtrage d'utilisateurs d'un AD [ Répondre ]
Par : Olivier C on 2017-10-10 06:37
[forum:486993]
Bonjour Rexy,

Pour l'AD, malheureusement non...
En revanche, quel fichier d'alcasar pourrait-il modifier au moment où celui-ci compare si un utilisateur existe dans sa base ?
Nous pourrions y ajouter un strlower, strtolower ou équivalent.

RE: Filtrage d'utilisateurs d'un AD [ Répondre ]
Par : Richard REY (Rexy) on 2017-10-09 23:00
[forum:486991]
Bonsoir,
En effet, voilà un beau challenge qu'on n'avait pas encore étudié...

N'étant pas un spécialiste de l'AD, n'y a-t-il pas un moyen de le rendre sensible à la casse?

RE: Filtrage d'utilisateurs d'un AD [ Répondre ]
Par : Fabien L. on 2017-10-09 14:52
[forum:486989]
Bonjour,

J'ai testé les groupes/utilisateurs :
- création un groupe nommé "inactifs" sur lequel j'ai donné une date d'expiration au 01/09/2017
- création d'un utilisateur "toto" du même nom que l'utilisateur "toto" déjà intégré dans l'AD et que je souhaite désactiver dans Alcasar
- j'ai placé "toto" dans le groupe "inactifs"
- son compte est bien désactivé c'est parfait

Problème :
- une connexion LDAP ne prends pas en compte la casse "toto" = "Toto" lors d'une authentification dans Alcasar
- une connexion basée sur un utilisateur de la base locale d'Alcasar prends en compte la casse : "toto" est différent de "Toto"
- si un utilisateur se connecte avec "toto" alors le compte est bien inactif (grâce à la configuration plus haut), si l'utilisateur se connecte avec "Toto" le compte n'existe pas dans la base de données locale Alcasar mais existe dans l'AD donc l'utilisateur se connecte (pas de prise en compte de la casse)
- conclusion : je dois créer autant de "toto" dans la base de données Alcasar qu'il y a de variantes possibles, ex : "toto", "Toto", "TOto", "TOTo", etc. Avec un utilisateur à 4 caractères pourquoi pas, mais avec un utilisateur qui commence à avoir plus de 8 caractères ceci devient vite une usine à gaz.

Vous auriez une idée pour contourner cette problématique ?

J'avais pensé compléter un champ pour mes utilisateurs de l'AD à désactiver dans Alcasar, ex : pour l'utilisateur "toto" lui inclure un champ "department=InactifDansAlcasar" mais comme je n'arrive pas à faire fonctionner le filtre de recherches de Alcasar dans le LDAP je suis là aussi coincé.

Merci d'avance.

Cordialement.

RE: Filtrage d'utilisateurs d'un AD [ Répondre ]
Par : Olivier C on 2017-10-06 18:29
[forum:486983]
dans ce cas, vous pouvez essayer de créer vos quelques utilisateurs dans l'ad et alcasar, et vous les filtrez un par un. Non?
en attendant mieux....

RE: Filtrage d'utilisateurs d'un AD [ Répondre ]
Par : Fabien L. on 2017-10-06 15:43
[forum:486982]
Bonjour Olivier,

Oui j'ai lu toute la doc avant de passer mon message, il n'y a pas de détails sur les expressions de filtres, donc je me suis rapporté à ce que je connaissais déjà concernant les requêtes ldap. J'ai bien vu la partie création du groupe ldap il en est fait mention sur des posts aussi sur ce forum, mais je n'ai pas encore testé, étant donné que sur environ 1400 utilisateurs je n'en ai que très peu à bloquer je pensais passer par ce filtre.

Je ne peux pas déplacer les utilisateurs de l'AD dans une UO particulière, l'organisation de l'AD est très précise, la totalité des utilisateurs connus dans l'AD doivent potentiellement pouvoir utiliser Alcasar, mais en raison des GPO et de la structure assez complexe de l'AD je n'ai pas de possibilité de tout déplacer sans une grosse réflexion de restructuration. Dans cet AD, j'ai quelques utilisateurs "génériques" à bloquer dans Alcasar, mais ceux-ci ne peuvent pas non plus être changés d'UO.

Merci pour votre réponse et merci d'avance pour vos futurs tests de filtre.

Bonne journée.

RE: Filtrage d'utilisateurs d'un AD [ Répondre ]
Par : Olivier C on 2017-10-06 14:21
[forum:486981]
Bonjour,

Avez-vous bien lu la doc d'exploitation, page 28 ?
Si vous ne voulez que quelques utilisateurs, placez-les dans une UO particulière et indiquez-la à alcasar (exemple ou=My_lan,dc=ad2012,dc=localdomain). Il ne cherchera les utilisateurs que dans celle-ci.
Si vous souhaitez mettre des attributs particuliers pour n utilisateurs, créez un groupe "ldap" dans alcasar.
Si vous souhaitez mettre des attributs particuliers pour 1 utilisateur, créez cet utilisateur dans l'AD et dans alcasar avec le même nom et placez les attributs sur cet utilisateur dans alcasar.
Si vous voulez absolument que tous les utilisateurs soient dans la même UO, je ne connais pas le format des expressions à entrer dans le champ de filtre de recherche.

Si j'ai le temps, j'essayerai vos expressions de filtres lundi matin au boulot.

Filtrage d'utilisateurs d'un AD [ Répondre ]
Par : Fabien L. on 2017-10-06 11:37
[forum:486980]
Bonjour,

Mon 1er post, donc déjà un grand remerciement pour ce projet qui évolue dans le bon sens.

J'ai une problématique que je n'arrive pas à résoudre concernant le filtrage d'utilisateur récupérés dans un AD. J'ai configuré le LDAP / AD :
- AD : 192.168.31.21 (ajout de la réservation par adresse MAC de ce serveur dans Alcasar)
- DN : OU=AD,DC=mondomaine,DC=local
- Identifiant LDAP : sAMAccountName
- Utilisateur LDAP : LdapBind (utilisateur qui a les droits de lecture dans l'AD)

La connexion à l'AD passe, l'authentification passe aussi dans la fenêtre d'interception sur un poste client (je précise que les seuls utilisateurs de Alcasar sont ceux de l'AD, pas de création d'utilisateur dans Alcasar).

Je souhaite filtrer certains utilisateurs de mon AD, ex : toto et bidule.
J'ai jouté toujours dans la partie LDAP dans "Filtre de recherche d'utilisateurs LDAP: " : (!(sAMAccountName=toto)), j'ai aussi essayé avec !(sAMAccountName=toto), j'ai enregistré, relancé le service Radius, même redémarré le serveur, à chaque fois toto arrive toujours à se connecter sur le poste client (redémarrage du PC client aussi).

J'avais essayé au départ (|(!(sAMAccountName=toto))(!(sAMAccountName=bidule))), pas mieux.

J'ai aussi essayé de filtrer le LDAP en n'autorisant que toto, avec soit sAMAccountName=toto, puis cn=toto, tous les utilisateurs de l'AD arrivent encore à se connecter.

Je commence à être à court d'idées, avez-vous un tuyau pour moi svp ?

Merci d'avance.

Cordialement.

FEDER Powered By FusionForge Collaborative Development Environment Charte d'utilisation / Nous contacter / Mentions légales Haut de page