Project

General

Profile

Scénario #28777

Étudier la délégation d'autentification OpenLDAP (Pass-Trough) avec SASL

Added by Joël Cuissinat 7 months ago. Updated 4 months ago.

Status:
Terminé (Sprint)
Priority:
Normal
Assigned To:
Category:
-
Start date:
10/10/2019
Due date:
10/11/2019
% Done:

100%

Story points:
6.0
Remaining (hours):
0.00 hour
Velocity based estimate:
9 days
Release:
Release relationship:
Auto

Description

Cf. https://ltb-project.org/documentation/general/sasl_delegation


Subtasks

Tâche #29092: Reproduire les étapes décrites dans le scénarioFerméJoël Cuissinat

History

#1 Updated by Gilles Grandgérard 6 months ago

  • Due date set to 09/20/2019
  • Target version set to sprint 2019 36-38 Equipe MENSR
  • Start date set to 08/20/2019

#2 Updated by Joël Cuissinat 6 months ago

  • Story points set to 6.0

#3 Updated by Joël Cuissinat 6 months ago

  • Target version changed from sprint 2019 36-38 Equipe MENSR to sprint 2019 39-41 Equipe MENSR

#4 Updated by Daniel Dehennin 5 months ago

Le paquet openldap utilisé sur Bionic utilise bien les options --enable-spasswd et --with-cyrus-sasl.

#5 Updated by Daniel Dehennin 5 months ago

Test réalisé

  • etb1.amon-2.7.1.1-instance-default
  • etb1.scribe-2.7.1.1-instance-AvecImport
  • etb1.pcprofs-10 intégré au domaine

Installation et paramétrage de saslauthd

  • Installation du paquet
    apt install sasl2-bin
    
  • Configuration de la connexion LDAP sur ADDC
    cat > /etc/saslauthd.conf <<EOF
    ldap_servers: ldaps://addc.dompedago.etb1.lan
    ldap_search_base: DC=dompedago,DC=etb1,DC=lan
    ldap_auth_method: bind
    ldap_bind_dn: CN=Administrator,CN=Users,DC=dompedago,DC=etb1,DC=lan
    ldap_password: Eole12345!
    ldap_filter: (userPrincipalName=%u)
    ldap_deref: never
    ldap_tls_cacert_file: /var/lib/lxc/addc/rootfs/var/lib/samba/private/tls/ca.pem
    EOF
    
  • Configuration du service
    sed -i -e 's,^START=.*,START=yes,' \
           -e 's,^MECHANISMS=.*,MECHANISMS="ldap",' \
           -e 's,^OPTIONS=",OPTIONS="-r ,' /etc/default/saslauthd
    
  • Démarrer le service
    systemctl start saslauthd.service
    
  • Test SASL avec le compte admin
    testsaslauthd -u admin@dompedago.etb1.lan -p eole
    0: OK "Success." 
    

Adaptation de la configuration OpenLDAP

  • Configuration SASL
    cat > /etc/ldap/sasl2/slapd.conf <<EOF
    pwcheck_method: saslauthd
    saslauthd_path: /var/run/saslauthd/mux
    EOF
    
  • L’utilisateur openldap doit faire partie du groupe sasl
    adduser openldap sasl
    
  • Configurer apparmor pour l’accès slapd au socket saslauthd
    cat > /etc/apparmor.d/local/usr.sbin.slapd <<EOF
    /{,var/}run/saslauthd/mux rw,
    EOF
    
  • Redémarrer le service slapd
    systemctl restart slapd.service
    

Vérifier le fonctionnement

  • Créer un LDIF pour modifier le mot de passe de l’utilisateur admin
    cat > admin.ldif <<EOF
    dn: uid=admin,ou=local,ou=personnels,ou=utilisateurs,ou=00000001,ou=ac-test,ou=education,o=gouv,c=fr
    changetype: modify
    replace: userPassword
    userPassword: {SASL}admin@dompedago.etb1.lan
    -
    EOF
    
  • Appliquer la modification
    ldapmodify -Dcn=admin,o=gouv,c=fr -w $(awk -F'=' '/^masterPw/ {print $2}' /etc/smbldap-tools/smbldap_bind.conf | tr -d '"') -f admin.ldif
    

Vérifier que nous pouvons faire une recherche authentifié sur l’annuaire :

ldapsearch -LLL -x -D uid=admin,ou=local,ou=personnels,ou=utilisateurs,ou=00000001,ou=ac-test,ou=education,o=gouv,c=fr -w eole '(uid=admin)' userPassword | awk '/^userPassword/ {print $2}' | base64 -d; echo

ce qui doit renvoyer :

{SASL}admin@dompedago.etb1.lan

Nous pouvons mainenant modifier le mot de passe de l’utilisateur admin depuis un poste windows intégré au domaine et refaire la requête précédente en modifier le mot de passe (-w eole).

#6 Updated by Joël Cuissinat 5 months ago

  • Status changed from Nouveau to En cours
  • Assigned To set to Daniel Dehennin

#7 Updated by Joël Cuissinat 4 months ago

  • Status changed from En cours to Terminé (Sprint)

Also available in: Atom PDF