У меня есть служба, которая использует каталог LDAP (анонимная привязка) для получения пользователей и их паролей для выполнения аутентификации. Проблема в том, что я понял, что могу войти в систему с пользователем, даже если поставлю символы после его пароля.
В качестве примера позвольте ввести пароль user1 быть пароль. Я имею в виду, что могу воспользоваться услугой, если наберу user1 и пароль но я также могу войти, если наберу user1 и passwdwdwd. Если первые символы являются настоящим паролем, я могу ввести его, хотя после него я набираю другие символы.
С другой стороны, если я наберу символы перед настоящим паролем, я не смогу использовать службу.
Мы установили OpenLDAP 2.4.26 в SUSE Linux Enterprise Server 11 SP2.
Конфигурация slapd следующая:
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
Есть идеи о том, в чем может быть проблема?
большое спасибо
С Уважением,
Я обнаружил проблему. Мой пароль (и пароль других пользователей) был сохранен с помощью склеп который, согласно его документация:
Взяв младшие 7 бит каждого из первых восьми символов ключа, получается 56-битный ключ..
Поскольку наши пароли имеют длину 8 символов склеп возвращает тот же хеш, даже если я наберу больше символов после правильного пароля.
Большое спасибо.
С уважением