Aller au contenu

Correspondance Attributs Depuis Ldap Server Netasq Et Ldap Client Synology


Fyme

Messages recommandés

Bonjour à tous,


Souvent j'arrive à trouver la solution en fouinant à droite à gauche, mais là je dois avoué que je suis un peu sec.


Je compte sur vous afin de, peut-être trouver une solution.



Donc pour résumer, d'un côté un Netasq ( version 9.1.2.3 ) sur lequel est activé le ldap interne, de l'autre un synology sous DSM5.0-4482 ( dernière version ) et le client ldap intégré.


La connexion depuis le synology est effective en ssl ( en l'occurence ), Base DN : o=ldap,dc=fr avec comme authentification cn=NetasqAdmin,o=ldap,dc=fr et le mdp associé ( NetasqAdmin : NETASQ firewall internal LDAP's administrator ), par contre pas de user qui apparaissent et pas de groupes.




Sur le synology les champs suivants sont possibles :



Profil

filtre/attribut_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Mappage de la source

^filter
passwd_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ objectClass=NetasqPerson
shadow
group _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _objectClass=top

^group
cn
gidNumber
memberUid

^passwd
uidNumber
uid
gidNumber

^shadow
uid
userpassPassword




C'est en ajoutant objectClass=NetasqPerson que je vois un user apparaître un userldap tronqué ( je ne peux y accéder et l'ouvrir ) et en ajoutant objectClass=top que je vois apparaitre des users dans l'onglet groupldap .



Mon soucis est que je ne vois pas à quoi peuvent correspondre les autres champs et où aller chercher les informations.



Dernière information, lorsque j'utilise, sous windows, Apache Directory Studio, avec les mêmes paramètres de connexion, j'ai bien les users et les bons groupe qui apparaissent, j'ai même créé un user depuis Apache Directory Studio qui apparait sur le Netasq.


Je vous remercie par avance pour votre retour.

Lien vers le commentaire
Partager sur d’autres sites

Pour infos, ce que j'ai récupéré dans la documentation synology :


Avant de personnaliser les mappages d'attributs LDAP, vous avez besoin de quelques connaissances de base. Synology DSM et l'éditeur du Profil adhèrent tous les deux à la norme RFC 2307. Par exemple, vous pouvez spécifier filter > passwd en tant que userFilter, auquel cas le Synology NAS interprétera les enregistrements à l'aide de objectClass=userFilter sur votre serveur LDAP comme des comptes LDAP. Si vous spécifiez passwd > uid comme username, le Synology NAS interprétera username sur votre serveur LDAP comme un nom de compte. Si le mappage est laissé vide, les règles RFC 2307 s'appliqueront.

Synology NAS requiert un nombre entier fixe pour faire office d'identifiant de compte LDAP (uidNumber) ou d'identifiant de groupe (gidNumber). Cependant, certains servers LDAP n'utilisent pas les nombres entiers pour représenter ces attributs. Par conséquent, un mot-clé HASH() est fourni pour convertir ces attributs en nombres entiers. Par exemple, votre serveur LDAP peut utiliser l'attribut userid avec une valeur hexadécimale en tant qu'identifiant unique pour un compte LDAP. Dans ce cas, vous pouvez définir passwd > uidNumber sur HASH(userid), et le Synology NAS le convertira alors en un nombre entier.

Ce qui suit est un résumé des attributs personnalisables :

filtre
groupes : objectClass requis pour un groupe.
passwd : objectClass requis pour un utilisateur.
shadow : objectClass requis pour les mots de passe utilisateur.
groupe
cn : nom du groupe.
gidNumber : le numéro GID de ce groupe.
memberUid : membres de ce groupe.
passwd
uidNumber : numéro UID de cet utilisateur.
uid : nom d’utilisateur.
gidNumber : le numéro GID primaire de cet utilisateur.
shadow
uid : nom d’utilisateur.
userPassword : mot de passe utilisateur



Je ne sais où récupérer ses valeurs soit dans Apache Directory studio, soit sur le netasq .

Si quelqu'un a un début de piste !!!

Lien vers le commentaire
Partager sur d’autres sites

Je ne connais pas Netasq mais a priori il n'a rien de standard, pour quels applications l'utilises-tu ?

Merci pour ta réponse.

Netasq est un firewall français, j'utilise les users pour l'authentification ipsec avec certificat et aussi parce qu'il permet l'enrôlement.

C'est un système sous Freebsd qui est compatible directory openlap.

De plus avec Apache Directory Studio qui est un client ldap fonctionnant sous windows, j'ai bien accès nativement aux users et au groupe, le problème est que je sais pas où trouver les paramètres qui sont demandés sur le synology.

Lien vers le commentaire
Partager sur d’autres sites

Les pares feux Netasq tournent sous BSD.

Le serveur LDAP embarqué est très certainement OpenLDAP (à vérifier via SSH sur le Netasq).

As-tu consulté la documentation Netasq concernant LDAP ? Je ne l'ai pas sous la main, mais je crois me souvenir qu'il y avait une documentation dédiée à la configuration de LDAP.

Sinon tu peux directement demander au support Netasq qui est très compétent.

Pour info j'utilise des U70 en 9.1 dont les clients LDAP sont reliés à un AD, je n'ai jamais utilisé le serveur LDAP intégré au Netasq.

Lien vers le commentaire
Partager sur d’autres sites

Les pares feux Netasq tournent sous BSD.

Le serveur LDAP embarqué est très certainement OpenLDAP (à vérifier via SSH sur le Netasq).

As-tu consulté la documentation Netasq concernant LDAP ? Je ne l'ai pas sous la main, mais je crois me souvenir qu'il y avait une documentation dédiée à la configuration de LDAP.

Sinon tu peux directement demander au support Netasq qui est très compétent.

Pour info j'utilise des U70 en 9.1 dont les clients LDAP sont reliés à un AD, je n'ai jamais utilisé le serveur LDAP intégré au Netasq.

Oui j'ai consulté la documentation Netasq, mais pas d'infos probantes, sinon j'avais même essayé d'utiliser Directory server du synology et le client ldap du netasq, là j'ai réussi à obtenir les users et les groupes du synology sur le netasq (c'est pour cet raison que je me dit qu'il y a une possibilité), le petit problème est que je ne pouvais pas créer de users sur le netasq et les correspondances avec les certificats ne fonctionnaient pas, d'où mon essai dans l'autre sens.

Lien vers le commentaire
Partager sur d’autres sites

Dans un premier temps tu ne devrais pas utiliser de chiffrement

De mon cote j'ai un serveur OpenLDAP sous FreeBSD et mon DS412+ l'utilise correctement.

Mes utilisateurs reconnus par le Syno sont definis comme suit :

dn: uid=fravadona,ou=people,dc=domain,dc=fr
objectClass: inetOrgPerson
objectClass: posixAccount
cn: Frava Dona
gidNumber: 500
homeDirectory: /home/fravadona
sn: Dona
uid: fravadona
uidNumber: 666
givenName: Frava
loginShell: /bin/bash
userPassword:: fff666fff666fff666fff666fff=
Lien vers le commentaire
Partager sur d’autres sites

C'est en ajoutant objectClass=NetasqPerson que je vois un user apparaître un userldap tronqué ( je ne peux y accéder et l'ouvrir ) et en ajoutant objectClass=top que je vois apparaitre des users dans l'onglet groupldap .

C'est cette definition "NetasqPerson" qui me faisait dire que le serveur LDAP Netasq n'etait pas standard. L'objectClass pour un utilisateur selon la RFC2307 est "posixAccount".

Vu que tu utilises ApacheDirectoryStudio, peux-tu exporter en LDIF un de tes utilisateurs et poster le contenu du fichier comme je l'ai fait ? Ca devrait permettre de trouver les correspondances.

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Merci Fravadona de t'intéresser à mon cas, et avec toutes mes excuses pour mon retour tardif, j'étais en vacances cette semaine.

J'ai extrait le fichie LDIF d'ApacheDirectoryStudio, voici ce qu'il donne :

version: 1

dn: cn=test test,ou=users,o=ldap,dc=fymail.fr
objectClass: NetasqPerson
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: top
cn: test test
sn: test
givenName: test
mail: test@orange.fr
uid: essai
userPassword:: e1NIQX1xVXFQNWN5eG02WWNUQWh6MDVIcGg1Z3Z1OU09
createTimestamp: 20140511090008Z
creatorsName: cn=NetasqAdmin,o=ldap,dc=fymail.fr
entryCSN: 20140511090028.244338Z#000000#000#000000
entryDN: cn=test test,ou=users,o=ldap,dc=fymail.fr
entryUUID:: NjU2Yjc3NzItNmQzNi0xMDMzLThlZTgtNjE2ZGQyZDA3ZjYx
hasSubordinates: FALSE
modifiersName: cn=NetasqAdmin,o=ldap,dc=fymail.fr
modifyTimestamp: 20140511090028Z
structuralObjectClass: inetOrgPerson
subschemaSubentry: cn=Subschema

Concernant le chiffrement, pourquoi ne pas l'utiliser dans un premier temps, puisque la connexion est effective, y-a-t-il une raison particulière ?

Merci pour vos retours.

Lien vers le commentaire
Partager sur d’autres sites

Oula, c'est clair que ca ne peut pas fonctionner tel quel. Tu vas avoir des soucis pour l'appartenances aux groupes

* filter
passwd                      objectClass=inetOrgPerson
shadow                      objectClass=inetOrgPerson
group                       objectClass=(il faudrait que tu exportes la definition d un groupe NetASQ pour le determiner)

* passwd
uidNumber                   HASH(uid)
uid                         uid
gidNumber                   la t as un souci vu que NetASQ n a pas d information de groupe... Tu peux peut-etre utiliser HASH(uid) comme palliatif

* shadow
uid                         uid
userPassword                userPassword

* group
cn                          Il faudrait que tu exportes la definition d un groupe NetASQ pour le determiner
gidNumber                   HASH(cn)
memberUid                   Il faudrait que tu exportes la definition d un groupe NetASQ pour le determiner

Lien vers le commentaire
Partager sur d’autres sites

Oula, c'est clair que ca ne peut pas fonctionner tel quel. Tu vas avoir des soucis pour l'appartenances aux groupes

* filter
passwd                      objectClass=inetOrgPerson
shadow                      objectClass=inetOrgPerson
group                       objectClass=(il faudrait que tu exportes la definition d un groupe NetASQ pour le determiner)

* passwd
uidNumber                   HASH(uid)
uid                         uid
gidNumber                   la t as un souci vu que NetASQ n a pas d information de groupe... Tu peux peut-etre utiliser HASH(uid) comme palliatif

* shadow
uid                         uid
userPassword                userPassword

* group
cn                          Il faudrait que tu exportes la definition d un groupe NetASQ pour le determiner
gidNumber                   HASH(cn)
memberUid                   Il faudrait que tu exportes la definition d un groupe NetASQ pour le determiner

Génial Fravadona, les users sont montés en mettant tes paramètres :

* filter

passwd objectClass=inetOrgPerson

shadow objectClass=inetOrgPerson

group objectClass=groupOfNames

* passwd

uidNumber HASH(uid)

uid uid

gidNumber HASH(uid)

* shadow

uid uid

userPassword userPassword

* group

cn

gidNumber HASH(cn)

memberUid

Quant à l'export, la définition du groupe, la voici :

version: 1

dn: cn=Grp_admin,ou=groups,o=ldap,dc=fymail.fr

objectClass: groupOfNames

objectClass: top

cn: Grp_admin

member: cn=test test,ou=users,o=ldap,dc=fymail.fr

createTimestamp: 20140512172437Z

creatorsName: cn=NetasqAdmin,o=ldap,dc=fymail.fr

entryCSN: 20140512173105.741016Z#000000#000#000000

entryDN: cn=Grp_admin,ou=groups,o=ldap,dc=fymail.fr

entryUUID:: MDk3NGFjZjItNmU0Ni0xMDMzLThlZTktNjE2ZGQyZDA3ZjYx

hasSubordinates: FALSE

modifiersName: cn=NetasqAdmin,o=ldap,dc=fymail.fr

modifyTimestamp: 20140512173105Z

structuralObjectClass: groupOfNames

subschemaSubentry: cn=Subschema

Mais en mettant objectClass=groupOfNames dans filter group, j'ai bien le groupe correspondant qui monte.

Pour infos, ce que me donnait ApacheDirectory : http://www.cjoint.com/?DEmusi9fJRB

Un grand merci à toi Fravadona, je pense que j'aurais pu chercher longtemps !!!

Dans uidNumber, gidNumber, userPassword ... Je cherchais à mettre les infos que je trouvais dans le fichier ldif alors qu'en fait ça ressemble plutôt à une " variable " .

Dans tous les cas c'est bon quand ça fonctionne, surtout après avoir passé pas mal de temps à chercher de mon côté, mais le ldap ne s'invente pas ( enfin pas pour moi ).

Si tu as des infos à ajouter, n'hésites pas et encore merci .

Lien vers le commentaire
Partager sur d’autres sites

Ok c'est cool si ca fonctionne.

Par contre tu n'as aucune gestion d'appartenance aux groupes (chaque utilisateur appartient a son propre groupe "unique" HASH(uid) ), mais vu comment NetASQ definit les groupes c'est juste impossible qu'ils soient correctement geres par le NAS : Le NAS a besoin que les utilisateurs dans un groupe soient references avec leur nom d'utilisateur (uid) et non avec leur DN (cn=tes test,ou=users,o=ldap,dc=fymail.fr)

Lien vers le commentaire
Partager sur d’autres sites

Ok c'est cool si ca fonctionne.

Par contre tu n'as aucune gestion d'appartenance aux groupes (chaque utilisateur appartient a son propre groupe "unique" HASH(uid) ), mais vu comment NetASQ definit les groupes c'est juste impossible qu'ils soient correctement geres par le NAS : Le NAS a besoin que les utilisateurs dans un groupe soient references avec leur nom d'utilisateur (uid) et non avec leur DN (cn=tes test,ou=users,o=ldap,dc=fymail.fr)

Tu parles bien, du gidNumber dans passwd qui actuellement corresponds à HASH(uid).

Si oui quelle serait la possibilité ?

Lien vers le commentaire
Partager sur d’autres sites

En fait tu ne peux rien y faire, le NAS ne pourra jamais correctement les groupes tel que NetASQ les definis. La seule maniere de regler ce probleme serait d'ajouter des attributs aux entrees sur le serveur LDAP.

Merci beaucoup Fravadona de t'être intéressé à mon problème .

Je suis très tenté d'aller jusqu'au bout sachant que j'ai l'accès au Netasq en ligne de commande mais je dois avoué que je ne sais pas quel fichier modifier ( ldap, core.shema, cosineshema, inetorgperson.schema, netasq.schema ) mais pour autant je comprendrai que tu sois allé jusqu'au bout et que cette demande dépasse un peu le cadre de ce forum.

Dans tous les cas, merci à toi. :D

Lien vers le commentaire
Partager sur d’autres sites

Normalement tu ne devrais pas a avoir a toucher aux fichiers de conf sur le NetASQ.

Avec Apache Directory Studio tu dois essayer d'ajouter l'attribut memberUid avec comme valeur essai (qui corresponf au login de ton utilisateur precedent) a un de tes groupes. Si Apache Directory ne te propose pas ce type d'attribut alors ca tu dois ajouter la classe posixGroup comme objectClass supplementazire a ce groupe. Si ca ne fonctionne toujours pas alors oui il faut aller editer les fichiers de conf pour charger le schema RFC

Lien vers le commentaire
Partager sur d’autres sites

Normalement tu ne devrais pas a avoir a toucher aux fichiers de conf sur le NetASQ.

Avec Apache Directory Studio tu dois essayer d'ajouter l'attribut memberUid avec comme valeur essai (qui corresponf au login de ton utilisateur precedent) a un de tes groupes. Si Apache Directory ne te propose pas ce type d'attribut alors ca tu dois ajouter la classe posixGroup comme objectClass supplementazire a ce groupe. Si ca ne fonctionne toujours pas alors oui il faut aller editer les fichiers de conf pour charger le schema RFC

Merci pour ta réponse Fravadona, je n'ai pu ajouter l'attribut memberUid ni posixGroup, ils ne me sont pas proposés dans Apache.

Dans un premier temps je n'avais pas compris pourquoi tu voulais me faire modifier ces attributs vu que les users et les groupes apparaissaient, mais en y regardant d'un peu plus près, effectivement les permissions du groupe ne sont pas transposées aux users.

A moins que tu es d'autres idées je crois que je vais en rester là

Je te remercie encore pour tes conseils et ta patience .

Lien vers le commentaire
Partager sur d’autres sites

Peux-tu poster le contenu du fichier slapd.conf qu'il y a sur le NetASQ ?

Le voici :

ucdata-path /usr/Firewall/lib/liblunicode

include /usr/Firewall/System/schema/core.schema

include /usr/Firewall/System/schema/cosine.schema

include /usr/Firewall/System/schema/inetorgperson.schema

include /usr/Firewall/System/schema/netasq.schema

TLSCertificateFile "/usr/Firewall/ConfigFiles/Certificates/android_ca/netasqsrv.cert.pem"

TLSCertificateKeyFile "/usr/Firewall/ConfigFiles/Certificates/android_ca/netasqsrv.pkey.pem"

threads 4

pidfile /var/run/slapd.pid

argsfile /var/run/slapd.args

password-hash {SHA}

loglevel 0

access to dn="cn=fwca,ou=cas,o=ldap,dc=fymail.fr"

by dn="cn=NetasqAdmin,o=ldap,dc=fymail.fr" write

by * read

access to attrs=userPassword

by self write

by dn="cn=NetasqAdmin,o=ldap,dc=fymail.fr" write

by anonymous auth

by * none

access to attrs=caCertificate;binary

by dn="cn=NetasqAdmin,o=ldap,dc=fymail.fr" write

by * read

access to attrs=certificateRevocationList;binary

by dn="cn=NetasqAdmin,o=ldap,dc=fymail.fr" write

by * read

access to attrs=authorityRevocationList;binary

by dn="cn=NetasqAdmin,o=ldap,dc=fymail.fr" write

by * read

access to attrs=userCertificate;binary

by dn="cn=NetasqAdmin,o=ldap,dc=fymail.fr" write

by * read

access to attrs=userPKCS12

by self read

by dn="cn=NetasqAdmin,o=ldap,dc=fymail.fr" write

by * none

access to *

by self write

by dn="cn=NetasqAdmin,o=ldap,dc=fymail.fr" write

by users read

by anonymous auth

by * none

access to * by * none

database bdb

sizelimit 350

cachesize 100

suffix "o=ldap,dc=fymail.fr"

directory /usr/Firewall/Data/Ldapbase

checkpoint 128 5

index objectclass,uid eq

shm_key 145230

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.