Freeradius-Ldap sur Ubuntu 18

Publié le par BORY DIALLO

Freeradius est un serveur d'authentification RADIUS gratuit. C'est le plus utilisé dans le monde.

À se rappeler qu'un annuaire LDAP est aussi une base de données, mais non relationnelle. Et tout ce qui est base de données a pour vocation de stocker des informations.

 

Comme son nom l'indique, le but de ce TP est de coupler Freeradius à Ldap.

 

Prérequis :

# apt install freeradius freeradius-utils freeradius-ldap ldap-utils slapd -y

 

Étape 1 : Configuration de Ldap
  • Configuration du serveur

# cd /usr/share/doc/freeradius/schemas/ldap/openldap

# gzip -d freeradius.schema.gz

# cp freeradius-clients.schema /etc/ldap/schema/

# cp freeradius.schema /etc/ldap/schema/

 

# cp /usr/share/slapd/slapd.conf /etc/ldap/

# cd /etc/ldap

# mv /etc/ldap/slapd.d/ /etc/ldap/slapd.d.old

# nano /etc/ldap/slapd.conf

 

Inclure les schémas radius

Toujours dans le fichier, on donne les valeurs suivantes aux paramètres suivants :

moduleload      back_hdb

backend         hdb

database        hdb

suffix          "dc=dakar,dc=sn"

rootdn          "cn=bory,dc=dakar,dc=sn"

rootpw  test123         // À ajouter !

# These access lines apply to database #1 only
access to attrs=userPassword,shadowLastChange
        by dn="cn=bory,dc=
dakar,dc=sn" write
        by anonymous auth
        by self write
        by * none

 

# The admin dn has full write access, everyone else
# can read everything.
access to *
        by dn="cn=bory,dc=
dakar,dc=sn" write
        by * read

 

 

  • Configuration du client

Cela se passe dans le fichier /etc/ldap/ldap.conf

BASE    dc=dakar,dc=sn
URI     ldap://127.0.0.1

  • Redémarrer le service

# service slapd restart

  • On vérifie s'il écoute sur son port standard 

 

  •  On crée la racine de l'annuaire et une unité organisationnelle 

# nano racine.ldif

dn: dc=dakar,dc=sn
objectclass: organization
objectclass: dcObject
dc: dakar
o: dakar

dn: ou=users,dc=dakar,dc=sn
objectclass: organizationalUnit
ou: users
 

On alimente l'annuaire

Nous venons de créer la racine et une unité organisationnelle qui s'appelle users

 

  • Insérons un utilisateurs dans notre annuaire

# nano users.ldif

dn: uid=john,ou=users,dc=dakar,dc=sn
objectclass: inetOrgPerson
objectclass: posixAccount
uid: john
uidNumber: 3000
gidNumber: 3000
gn: Cena
homeDirectory: /home/john
loginShell: /bin/bash
sn: john
cn: John Cena 
userPassword: passer
mail: john@dakar.sn 

 

dn: cn=john,dc=dakar,dc=sn
objectclass: posixGroup
cn: john
gidNumber: 3000
memberUid: john

 

On alimente l'annuaire

 

2 - Configuration de Freeradius
  • On donne les paramètres de connexion de l'annuaire à freeradius :

Dans le fichier /etc/freeradius/3.0/mods-available/ldap , on donne les valeurs suivantes aux paramètres suivants :

server = 'localhost'
port = 389
identity = 'cn=bory,dc=dakar,dc=sn'
password = test123
base_dn = 'dc=dakar,dc=sn'

 

  • On fait le mapping entre les attributs radius et ldap en ajoutant la ligne suivante control:Cleartext-Password      += 'userPassword' dans la rubrique update  comme suit :

        #  attribute ref.
        update {
                control:Password-With-Header    += 'userPassword'
                control:Cleartext-Password      += 'userPassword'
#               control:NT-Password             := 'ntPassword'

 

  • Dans le fichier /etc/freeradius/3.0/sites-available/default , on enlève le - devant  LDAP dans la section authorize 
  • On de-commente les lignes suivantes dans la section authenticate 

 

  • On crée un lien symbolique

ln -s /etc/freeradius/3.0/mods-available/ldap /etc/freeradius/3.0/mods-enabled/ldap

 

  • On redémarre freeradius

# service freeradius restart

 

3 - Test de fonctionnement

Essayons de nous connecter à Freeradius  avec le compte de John stocké dans l'annuaire Ldap :

Connexion établie avec succès !

Publié dans Services

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article

baba 28/01/2021 17:22

salut joli tuto sinon j'aimerai bien savoir si le radtest john@dakar.sn va marcher? je veux savoir aussi si les mots de passe sur le ldap sont chiffrés en ssha1 ou ssha512 s'il pourra se connecter à un point d'acces avec radius configuré?

BORY DIALLO 02/02/2021 17:52

Ici les mots de passe sont cryptés par le chiffrement MD5. Oui, si on couple Ldap à un serveur d'authentification comme Freeradius en paramétrant un point d'accès supportant Radius, ça pourrait marcher