[resolu]Openldap
Dernière réponse : dans Connexions réseau et internet
Bonjour,
Je désire couplé openldap et freeradius ensemble.
En suivant plusieurs tutoriaux comme :
http://uid.free.fr/Ldap/ldap.html
http://monblog.system-linux.net/blog/2008/10/28/borne-d...
http://www.debian-administration.org/article/OpenLDAP_i...
il est marqué qu'il fallait ajouter " ojectClass: radiusProfile" or quand je rajoute ceci il me met une erreur et ne rajoute pas mon utilisateur. Cependant j'ai bien renommé openldap.schema en freeradius.schema et fait mon include dans radiusd.conf.
Je ne peux pas aussi rajouter "objectClass: dialupadmin".
Quand je fais mon radtest sur freeradius j'ai une erreur de type acces-reject (...) invalid signature (err=2) (shared secret is incorrect.)
Donc sachant que le freeradius -X ne pose pas de probléme cela vient sans doute d'une mauvaise configuration dans openldap.
Avez vous une solution ?
Merci
Cordialement
Je désire couplé openldap et freeradius ensemble.
En suivant plusieurs tutoriaux comme :
http://uid.free.fr/Ldap/ldap.html
http://monblog.system-linux.net/blog/2008/10/28/borne-d...
http://www.debian-administration.org/article/OpenLDAP_i...
il est marqué qu'il fallait ajouter " ojectClass: radiusProfile" or quand je rajoute ceci il me met une erreur et ne rajoute pas mon utilisateur. Cependant j'ai bien renommé openldap.schema en freeradius.schema et fait mon include dans radiusd.conf.
Je ne peux pas aussi rajouter "objectClass: dialupadmin".
Quand je fais mon radtest sur freeradius j'ai une erreur de type acces-reject (...) invalid signature (err=2) (shared secret is incorrect.)
Donc sachant que le freeradius -X ne pose pas de probléme cela vient sans doute d'une mauvaise configuration dans openldap.
Avez vous une solution ?
Merci
Cordialement
Autres pages sur : resolu openldap
Lassé par la pub ? Créez un compte
Finalement le schema est bien ajouté. J'arrive à ajouter mes utilisateurs avec objectclass: radiusprofile mais toujours pas avec dialupaccess. Je pense que ce n'est pas grave car dans mon fichier radiusd.conf j'ai une ligne qui est basefilter=(radiusprofile).
Mais quand je fais un radtest ... j'ai toujours la même erreur :
type acces-reject (...) invalid signature (err=2) (shared secret is incorrect.)
Une solution ?
Merci
Mais quand je fais un radtest ... j'ai toujours la même erreur :
type acces-reject (...) invalid signature (err=2) (shared secret is incorrect.)
Une solution ?
Merci
salut je ne conais pas radius, mais aparement en lisant le message d'erreur et un peut le tuto je pensse que "shared secret" est un mot de passe et il disent dans le tuto qu'il doit etre fort ce qui veut dire qu'il doit contenut des chifres, des lettre et aussi des caractere du style "@ ! ; ç" tout ca, et au moin 6 ou 8 caracteres, ceci deja regleras surement un problem.
et pour le "err = 2" essaye de voir sur la doc de radius cela doit etre surement expliquer.
apres avoir lu a peut pres tout le tuto tu ne t'y est peut etre pas pris dans le bon sens, etant donner que ton projet demande un serveur LDAP, un dhcp et un radius, perssonelement j'aurais monter un dhcp classique pour comencer, ensuite un LDAP , et ensuite j'aurais monter un radius et j'aurais modifier les chose a modifier dans le dhcp et le LDAP a ce moment la.
et pour le "err = 2" essaye de voir sur la doc de radius cela doit etre surement expliquer.
apres avoir lu a peut pres tout le tuto tu ne t'y est peut etre pas pris dans le bon sens, etant donner que ton projet demande un serveur LDAP, un dhcp et un radius, perssonelement j'aurais monter un dhcp classique pour comencer, ensuite un LDAP , et ensuite j'aurais monter un radius et j'aurais modifier les chose a modifier dans le dhcp et le LDAP a ce moment la.
L'infrastruture est un peu différente du tuto car :
J'ai une debian lenny qui fait dns, serveur web, freeradius, openldap ayant pour adresse 172.16.1.2. Elle représente le web dans ma maquette.
Cette debian est relié à un commutateur de niveau 3 ASA 5505. La debian fait partie du vlan1. Le port du vlan1 ASA a comme adrese 172.16.1.1.
Ensuite il y a le vlan 2
Sur les autres port du ASA concernant le vlan2 l'adresse sera 192.168.1.1
(Entre les différents réseau il y a du NAT )
Sur une patte du vlan2 il y a un portail captif (pfsense) ayant comme adresse 192.168.1.3 (cette patte est la partie WAN) En suite sur la partie LAN de pfsense adresse 10.0.0.1 nous avons une borne wifi. Le but c'est que nos clients wifi arrive à s'authentifier via le portail captif et puissent consulter notre serveur web sur notre debian. C'est le portail captif qui fait dhcp pour les clients qui se connecteront sur la borne.
Avec le serveur radius de microsoft tout marche bien. Le portail captif contact mon serveur 2003 et tout se fait correctement mis avec freeradius et openldap rien ne fonctionne.
Quand je fais : radtest user password 127.0.0.1 1812 motdepasse
Access-reject
Donc là maintenant je séche.
J'ai une debian lenny qui fait dns, serveur web, freeradius, openldap ayant pour adresse 172.16.1.2. Elle représente le web dans ma maquette.
Cette debian est relié à un commutateur de niveau 3 ASA 5505. La debian fait partie du vlan1. Le port du vlan1 ASA a comme adrese 172.16.1.1.
Ensuite il y a le vlan 2
Sur les autres port du ASA concernant le vlan2 l'adresse sera 192.168.1.1
(Entre les différents réseau il y a du NAT )
Sur une patte du vlan2 il y a un portail captif (pfsense) ayant comme adresse 192.168.1.3 (cette patte est la partie WAN) En suite sur la partie LAN de pfsense adresse 10.0.0.1 nous avons une borne wifi. Le but c'est que nos clients wifi arrive à s'authentifier via le portail captif et puissent consulter notre serveur web sur notre debian. C'est le portail captif qui fait dhcp pour les clients qui se connecteront sur la borne.
Avec le serveur radius de microsoft tout marche bien. Le portail captif contact mon serveur 2003 et tout se fait correctement mis avec freeradius et openldap rien ne fonctionne.
Quand je fais : radtest user password 127.0.0.1 1812 motdepasse
Access-reject
Donc là maintenant je séche.
J'ai monté un truc assez similaire (pfsense+freeradius+annuaire ldap) au taf :
Je ne te montre ici que les paramètres que tu dois adapter (le reste c'est soit par défaut, soit inutile dans ton cas, soit qui relève du bon sens)
clients.conf
users
ldap.attrmap
radiusd.conf
Je ne te montre ici que les paramètres que tu dois adapter (le reste c'est soit par défaut, soit inutile dans ton cas, soit qui relève du bon sens)
clients.conf
[...]
client 1.2.3.4 {
secret = unloginpourpfsense
shortname = unmotdepasspouralleravec
}
[...]
users
[...]
DEFAULT Auth-Type = System
Fall-Through = 1
DEFAULT Auth-Type := LDAP
Fall-Through = 1
[...]
ldap.attrmap
[...]
checkItem User-Password userPassword
[...]
radiusd.conf
[...]
modules {
[...]
ldap PRIMAIRE {
server = "ldap.example.org"
basedn = "ou=users,dc=example,dc=org"
filter = "(&(cn=%{Stripped-User-Name:-%{User-Name}}))"
base_filter = "(UN FILTRE)"
start_tls = no
dictionary_mapping = ${raddbdir}/ldap.attrmap
ldap_connections_number = 5
timeout = 4
timelimit = 3
net_timeout = 1
}
[...]
}
[...]
authenticate {
Auth-Type LDAP {
group {
PRIMAIRE
[...]
}
}
[...]
}
[...]
Bonjour,
Merci pour cette réponse et je suis aussi sous pfsense. Je vais tester avec tes fichiers de configuration mais je me permet de te mettre les miens et je ne vois pas spécialement ou j'ai fais une erreur. Par contre comment as tu créer tes utilisateurs dans openldap ?
Clients.conf
Radiusd.conf
site-enabled/default et sites-enabled/inner-tunnel
Ensuite pour openldap
Le fichier slapd.conf
J'ai bien rajouté le schéma.
rootdn = cn=admin,dc=cisco,dc=local
rootpw = monmotdepasseadmin
Maintenant pour ajouter mes utilisateurs et mes groupes j'ai utilisé phpldapadmin.
J'ai crée une OU utilisateurs
Puis aprés un groupe avec ojectclass=posixgroup qui est partenaires
Ensuite pour créer mes utilisateurs j'ai crée dans mon groupe un " userAccount"
Par défaut il a objectClass inetOrgPersonn, posixAccount, Top et je lui rajoute par la suite radiusProfile.
Voilà normalement c'est tout car je ne souhaite pas faire de tls ou eap ni rien.
Mais quand je fais mon radtest :
radtest test test 192.168.1.3 1812 motdepasseadmin
no response from server for id 137 socket 3
radtest test test 127.0.0.1 1812 testing123 (mot de passe localhost par defaut)
Access-Reject packet from host 127.0.0.1 port 1812 id=120 length=20
Avec une capture de trame on voit bien la requéte radius et le refus.
Les logs :
Auth: rlm_unix: [test]: invalid shell [/bin/false]
Auth: invalid_user: [test/test](from client localhost port 1812)
L'installation sur ma debian lenny :
apt-get install openldap freeradius freeradius-ldap phpldapadmin
Merci pour votre aide.
Cordialement.
Merci pour cette réponse et je suis aussi sous pfsense. Je vais tester avec tes fichiers de configuration mais je me permet de te mettre les miens et je ne vois pas spécialement ou j'ai fais une erreur. Par contre comment as tu créer tes utilisateurs dans openldap ?
Clients.conf
client 192.168.1.3 {
secret = monmotdepasse
shortname = wifi
nastype = other
}
Radiusd.conf
stripped_names = yes
auth = yes
auth_badpass = yes
auth_goodpass = yes
server = srvdebian.cisco.local
identity = "cn=admin,dc=cisco,dc=local"
password = monmotdepasseadmin
basedn = "dc=cisco,dc=local"
#filter = "(&(uid=%{Stripped-User-Name:-%{User-Name}})
base_filter = "(objectclass=radiusprofile)" ( J'ai bien objectClass radiusProfile pour mes utilisateurs )
password_attribute = userPassword
site-enabled/default et sites-enabled/inner-tunnel
ldap
checkval
Auth-Type LDAP {
ldap
}
Ensuite pour openldap
Le fichier slapd.conf
J'ai bien rajouté le schéma.
rootdn = cn=admin,dc=cisco,dc=local
rootpw = monmotdepasseadmin
Maintenant pour ajouter mes utilisateurs et mes groupes j'ai utilisé phpldapadmin.
J'ai crée une OU utilisateurs
Puis aprés un groupe avec ojectclass=posixgroup qui est partenaires
Ensuite pour créer mes utilisateurs j'ai crée dans mon groupe un " userAccount"
Par défaut il a objectClass inetOrgPersonn, posixAccount, Top et je lui rajoute par la suite radiusProfile.
Voilà normalement c'est tout car je ne souhaite pas faire de tls ou eap ni rien.
Mais quand je fais mon radtest :
radtest test test 192.168.1.3 1812 motdepasseadmin
no response from server for id 137 socket 3
radtest test test 127.0.0.1 1812 testing123 (mot de passe localhost par defaut)
Access-Reject packet from host 127.0.0.1 port 1812 id=120 length=20
Avec une capture de trame on voit bien la requéte radius et le refus.
Les logs :
Auth: rlm_unix: [test]: invalid shell [/bin/false]
Auth: invalid_user: [test/test](from client localhost port 1812)
L'installation sur ma debian lenny :
apt-get install openldap freeradius freeradius-ldap phpldapadmin
Merci pour votre aide.
Cordialement.
et est ce que tu as des requête ldap en parallèle au refus radius ?
pour le radtest, il faut que le compte de test existe mais également que tu utilise une séquence autorisée dans le clients.conf
dans site-enabled/default, tu demande au radius d'utiliser le module nommé "ldap", hors je ne vois pas dans ta conf la déclaration de ce module (compare avec mon radiusd.conf, ligne 4 et 22)
pour la création des utilisateurs, ça ne s'applique pas chez toi, je n'utilise pas un openldap
En passant, tu n'as pas besoin d'un schéma en particulier, ceux par défaut suffise dans ce cas précis, il te faut juste un login (cn ou uid ou ce que tu veux) et un password (userpassword ou password ou ce que tu veux), le radius se contente de faire un BIND ldap (tenter une authentification avec les infos saisies), ce qui par défaut est autorisé sans être authentifié (donc pas besoin non plus des lignes 7 et 8 de ton Radiusd.conf)
par contre il faut bien penser à utiliser les bons champs (d'où le fichier ldap.attrmap qui permet de dire quoi=quoi et la manière dont du map tes users dans la déclaration du module ldap du radius)
pour simplifier les choses, autorise le bind anonyme dans l'openldap (si ce n'est déjà fait) :
créé un user tout simple à la racine de ton arbre (login+pass), par exemple monloginldap/monpasswordldap
du coté freeradius créé 2 clients basic
clients.conf
dans le radiusd.conf, déclare correctement le module ldap
et test en surveillant les logs radius et ldap
radtest monloginldap monpasswordldap adresse.du.serveur.radius 10 passwordradius
tu dois avoir ceci en retour :
pour le radtest, il faut que le compte de test existe mais également que tu utilise une séquence autorisée dans le clients.conf
dans site-enabled/default, tu demande au radius d'utiliser le module nommé "ldap", hors je ne vois pas dans ta conf la déclaration de ce module (compare avec mon radiusd.conf, ligne 4 et 22)
pour la création des utilisateurs, ça ne s'applique pas chez toi, je n'utilise pas un openldap
En passant, tu n'as pas besoin d'un schéma en particulier, ceux par défaut suffise dans ce cas précis, il te faut juste un login (cn ou uid ou ce que tu veux) et un password (userpassword ou password ou ce que tu veux), le radius se contente de faire un BIND ldap (tenter une authentification avec les infos saisies), ce qui par défaut est autorisé sans être authentifié (donc pas besoin non plus des lignes 7 et 8 de ton Radiusd.conf)
par contre il faut bien penser à utiliser les bons champs (d'où le fichier ldap.attrmap qui permet de dire quoi=quoi et la manière dont du map tes users dans la déclaration du module ldap du radius)
pour simplifier les choses, autorise le bind anonyme dans l'openldap (si ce n'est déjà fait) :
[...]
access to attrs=userPassword
by anonymous auth
[...]
créé un user tout simple à la racine de ton arbre (login+pass), par exemple monloginldap/monpasswordldap
du coté freeradius créé 2 clients basic
clients.conf
[...]
client 127.0.0.0/8 {
secret = passwordradius
shortname = localhost
}
client 192.168.0.0/16 {
secret = passwordradius
shortname = lan
}
[...]
dans le radiusd.conf, déclare correctement le module ldap
[...]
modules {
[...]
ldap MONANNUAIRE{
server = "adresse ip du serveur ldap"
basedn = "dc=cisco,dc=local"
#remplace "cn" par le champ correspondant au login dans ton annuaire
filter = "(&(cn=%{Stripped-User-Name:-%{User-Name}}))"
start_tls = no
#si le champ du password n'est pas User-Password, utilise le fichier suivant
dictionary_mapping = ${raddbdir}/ldap.attrmap
ldap_connections_number = 5
timeout = 4
timelimit = 3
net_timeout = 1
}
[...]
}
[...]
authenticate {
Auth-Type LDAP {
group {
#ici c'est le nom que tu as donné plus haut ligne 4
MONANNUAIRE
[...]
}
}
[...]
}
[...]
et test en surveillant les logs radius et ldap
radtest monloginldap monpasswordldap adresse.du.serveur.radius 10 passwordradius
tu dois avoir ceci en retour :
Sending Access-Request of id 183 to 127.0.0.1 port 1812
User-Name = "monloginldap"
User-Password = "monpasswordldap"
NAS-IP-Address = 255.255.255.255
NAS-Port = 10
rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=183, length=20
Malgrés toutes tes infos impossible de faire fonctionner correctement freeradius avec openldap.
clients.conf
radiusd.conf
ldap.attrmap
Dans ldap il y a bien:
sites-enabled/default
Donc voilà je ne sais toujours pas ou j'ai fais une erreur.
Dans les logs de freeradius il n'y a rien de spéciale.
Quand je fais un radtest test test 192.168.1.3 1812 motdepasseduclient
Sending Access-Request of id 205 to 127.0.0.1 port 1812
User-Name = "test"
User-Password = "test"
NAS-IP-Address = 127.0.1.1
NAS-PORT = 0
radclient: no response from server for ID 205 socket 3
clients.conf
clients 127.0.0.0/8 {
secret = motdepasseduclient
shortname = localhost
}
client 192.168.1.3 {
secret = motdepasseduclient
shortname = wifi
}
radiusd.conf
Modules {
....
ldap ldap {
#
# Note that this needs to match the name in the LDAP
# server certificate, if you're using ldaps.
server = "127.0.0.1"
#identity = "cn=admin,o=My Org,c=UA"
#password = mypass
basedn = "dc=cisco,dc=local"
filter = "(uid=%{Stripped-User-Name:-%{User-Name}})"
#base_filter = "(objectclass=radiusprofile)"
ldap.attrmap
.........
checkItem $GENERIC$ radiusCheckItem
replyItem $GENERIC$ radiusReplyItem
checkItem Auth-Type radiusAuthType
checkItem Simultaneous-Use radiusSimultaneousUse
checkItem Called-Station-Id radiusCalledStationId
checkItem Calling-Station-Id radiusCallingStationId
checkItem LM-Password lmPassword
checkItem NT-Password ntPassword
checkItem LM-Password sambaLmPassword
checkItem NT-Password sambaNtPassword
checkItem SMB-Account-CTRL-TEXT acctFlags
checkItem Expiration radiusExpiration
checkItem NAS-IP-Address radiusNASIpAddress
checkItem User-Password userPassword
........
Dans ldap il y a bien:
access to attrs=userPassword,shadowLastChange
by dn="cn=admin,dc=cisco,dc=local" write
by anonymous auth
by self write
by * none
sites-enabled/default
authenticate
.....
Auth-Type LDAP {
ldap
}
Donc voilà je ne sais toujours pas ou j'ai fais une erreur.
Dans les logs de freeradius il n'y a rien de spéciale.
Quand je fais un radtest test test 192.168.1.3 1812 motdepasseduclient
Sending Access-Request of id 205 to 127.0.0.1 port 1812
User-Name = "test"
User-Password = "test"
NAS-IP-Address = 127.0.1.1
NAS-PORT = 0
radclient: no response from server for ID 205 socket 3
Lassé par la pub ? Créez un compte
- Contenus similaires :
- ForumComment configurer un réseau local
- ForumMon mail passe en spam
- ForumRéseau avec domaine
- ForumAuthentification radius linux
- ForumInstaller serveur radius linux
- ForumProblemes de serveur ftp chez club-internet
- ForumOrange mail messagerie internet
- ForumIntranet vers internet
- ForumServeur ftp adresse ip
- ForumProblème accès serveur
- Voir plus