Autenticação LDAP bem-sucedida com caracteres adicionais

2

Eu tenho um serviço que usa um diretório LDAP (ligação anônima) para obter os usuários e suas senhas para realizar a autenticação. O problema é que percebi que posso fazer o login com um usuário, mesmo que eu coloque caracteres após a senha.

Como exemplo, deixe a senha user1 ser passwd . Quero dizer que eu posso usar o serviço se eu digitar user1 e passwd , mas eu também posso digitar se eu digitar user1 e passwdwdwd . Contanto que os primeiros caracteres sejam a senha real, eu posso entrar, embora eu digite outros caracteres depois dela.

Por outro lado, se eu digitar caracteres antes da senha real, não posso usar o serviço.

Instalamos o OpenLDAP 2.4.26 no SUSE Linux Enterprise Server 11 SP2

A configuração do slapd é esta:

include         /etc/openldap/schema/core.schema
include         /etc/openldap/schema/cosine.schema
include         /etc/openldap/schema/inetorgperson.schema
include         /etc/openldap/schema/rfc2307bis.schema
include         /etc/openldap/schema/yast.schema
pidfile         /var/run/slapd/slapd.pid
argsfile        /var/run/slapd/slapd.args

access to dn.base=""
        by * read

access to dn.base="cn=Subschema"
        by * read

access to attrs=userPassword,userPKCS12
        by self write
        by * auth

access to attrs=shadowLastChange
        by self write
        by * read

access to *
        by * read

loglevel 0
database bdb
suffix xxxxxxx
rootdn xxxxxxx
rootpw xxxxxxx
directory /ldap
checkpoint 1024 5
cachesize 10000
index objectClass,uidNumber,gidNumber eq
index member,mail eq,pres
index cn,displayname,uid,sn,givenname sub,eq,pres

Alguma idéia sobre o que poderia ser o problema?

Muito obrigado

Atenciosamente,

    
por user328339 22.12.2015 / 11:00

1 resposta

1

Eu descobri o problema. Minha senha (e de outros usuários) foi armazenada usando crypt que, de acordo com sua documentação :

Tomando os 7 bits mais baixos de cada um dos oito primeiros caracteres da chave, é obtida uma chave de 56 bits .

Como nossas senhas têm 8 caracteres, crypt retorna o mesmo hash, mesmo se eu digitar mais caracteres após a senha correta.

Muito obrigado.

Atenciosamente

    
por 29.12.2015 / 17:42

Tags