Koozali.org: home of the SME Server

Modifier le type de cryptage des utilisateurs dans la base LDAP

Offline Geo55

  • **
  • 21
  • +0/-0
Suite à une migration d'un vieux serveur SME7 pour un nouveau SME9,  j'ai constaté une différence dans le type de cryptage du mot de passe des utilisateurs entre SME7 (version LDAP 0.9.8.4) et SME9 (version LDAP 2.4.39), soit une utilisation de {MD5} avec SME7 et utilisation de {CRYPT} avec SME9. Peut-on utiliser {MD5} par défaut avec SME9/LDAP ?

En vous remerciant par avance.


Offline Geo55

  • **
  • 21
  • +0/-0
Re: Modifier le type de cryptage des utilisateurs dans la base LDAP
« Reply #1 on: April 28, 2015, 03:40:13 PM »
En avançant un peu, on peut constater dans le fichier "slapd.conf" le type de cryptage utilisé :

Code: [Select]
# Use md5crypt
password-hash {CRYPT}
password-crypt-salt-format "$1$%.8s"

J'aimerais remplacer "password-hash {CRYPT}" par "password-hash {MD5}" mais je ne pense pas qu'il faut le faire directement dans le fichier "slapd.conf"...

Quel serait la bonne méthode ?

Offline Daniel B.

  • *
  • 1,700
  • +0/-0
    • Firewall Services, la sécurité des réseaux
Re: Modifier le type de cryptage des utilisateurs dans la base LDAP
« Reply #2 on: April 28, 2015, 04:07:37 PM »
La première chose qui me viendrait à l'esprit c'est: pourquoi faire ? ;-)
le schéma actuel est cryptmd5, qui est bien plus efficace que du MD5 seul (le mot de passe est salé). Dans tous les cas, non, ce n'est pas possible actuellement, à moins d'activer l'auth LDAP (qui est expérimentale et souffre encore de quelques problèmes).
En fait, actuellement, toutes les info de l'annuaire LDAP sont récupérées sur les bases classiques (/etc/passwd, /etc/shadow, /etc/groups et /etc/samba/smbpasswd). Le mot de passe utilise donc le même schéma que /etc/shadow (qui est du cryptmd5)
C'est la fin du monde !!! :lol:

Offline Geo55

  • **
  • 21
  • +0/-0
Re: Modifier le type de cryptage des utilisateurs dans la base LDAP
« Reply #3 on: April 28, 2015, 04:20:37 PM »
Merci pour cette première réponse...

Je suis entièrement d'accord sur le principe.

Mais j'ai un petit inconvénient qui est l'existence de plusieurs vieux outils distants qui interrogent LDAP mais avec un cryptage {MD5} et qui communique très bien avec SME7 (puisque le cryptage ldap de SME7 est {MD5}). Le passage avec SME9 entraîne effectivement une amélioration de la sécurité avec la salaison du hash {MD5} mais qui ne convient pas à ces vieux outils.

Je comprend tout à fait le retour en arrière côté sécurité mais pour un court voire moyen terme, il m'est plus facile (rapide) que SME9 s'adapte aux vieux outils; juste le temps de faire évoluer ces vieux outils pour qu'ils s'adaptent à SME9.

Offline Daniel B.

  • *
  • 1,700
  • +0/-0
    • Firewall Services, la sécurité des réseaux
Re: Modifier le type de cryptage des utilisateurs dans la base LDAP
« Reply #4 on: April 28, 2015, 04:25:53 PM »
SME7 ne stockait pas les mots de passe utilisateurs dans l'annuaire LDAP, il doit donc s'agir d'autre chose

Je ne sais pas vraiment de quel outil il est question, mais si ça fait une différence, il y a un sérieux pb de sécurité: normalement, une appli ne devrait jamais accéder en lecture à l'attribut userPassword, elle doit vérifier le mot de passe du compte via un bind sur l'annuaire en utilisant le DN du compte, l'annuaire récupère ce mot de passe (en clair, au dessus d'une connexion SSL ou TLS) et se débrouille pour vérifier ça (et donc seul l'annuaire doit gérer le schéma des mots de passe)
C'est la fin du monde !!! :lol:

Offline Geo55

  • **
  • 21
  • +0/-0
Re: Modifier le type de cryptage des utilisateurs dans la base LDAP
« Reply #5 on: April 28, 2015, 04:33:49 PM »
Effectivement, toujours d'accord  :-(

Il s'agit d'applications en PHP qui récupèrent un login utilisateur et mot de passe. Le mot de passe est haché via {MD5} et il est ensuite utilisé dans une requête envoyée à LDAP/SME pour vérifier la validité du couple 'login/password'. J'ai d'autres applications en langage compilé (C++) qui font de même... D'où ma demande...

Offline Daniel B.

  • *
  • 1,700
  • +0/-0
    • Firewall Services, la sécurité des réseaux
Re: Modifier le type de cryptage des utilisateurs dans la base LDAP
« Reply #6 on: April 28, 2015, 04:37:33 PM »
Modifier le schéma des mots de passe nécessite:

- de hacker le script /service/ldap/ldif-fix (c'est lui qui copie le passe de /etc/shadow vers LDAP) pour ajuster le schéma
- de modifier la config de pam pour utiliser un hachage MD5 simple (je ne sais pas exactement où ça se configure, ni même si c'est possible)
- de ré-innitialiser les mots de passe de tous les comptes (quelques soit le schéma utilisé, il s'agit d'algo à sens unique, il n'est donc pas possible de convertir d'un schéma à un autre sans faire un reset)

bref, me semble bien plus de taf que de modifier les appli PHP pour faire du bind propre
C'est la fin du monde !!! :lol:

Offline Geo55

  • **
  • 21
  • +0/-0
Re: Modifier le type de cryptage des utilisateurs dans la base LDAP
« Reply #7 on: April 29, 2015, 09:44:57 AM »
Merci Daniel.
Je me ravise donc et me range à tes précieux conseils.
Je pensais l'ampleur de la tâche moins fastidieuse...   :-?

Merci encore,
Et une excellente continuation.