如何使ldap评估明文密码与DES存储密码

问题描述 投票:1回答:1

我在CentoS 6.9上使用openldap slapd 2.4.40和postgresql9.2.23作为back-sql

LDAP uiduserPassword的用户和密码通过DES编码存储在postgresql中。

原始明文是JacicFk5

DES编码/加密文本是存储在DB中的IfjFxsltK/MPE

我可以通过存储的密码看到用户信息是ldapseach的结果。

ldapsearch -x  -b "dc=example,dc=com" -D uid="HDZZZ0R0N,ou=people,dc=example,dc=com" -w IfjFxsltK/MPE '(&(uid= HDZZZ0R0N)(objectClass=*))'          
# extended LDIF
#
# LDAPv3
# base <dc=example,dc=com> with scope subtree
# filter: (&(uid= HDZZZ0R0N)(objectClass=*))
# requesting: ALL
#

# user01, people, example.com
dn: uid= HDZZZ0R0N,ou=people,dc=example,dc=com
objectClass: inetOrgPerson
cn:: W+aOkl3lia/nlKPnianjg6Hjg7Pjg4bjg4rjg7PjgrnvvIgzNu+8iVNURw==
sn:: W+aOkl3lia/nlKPnianjg6Hjg7Pjg4bjg4rjg7PjgrnvvIgzNu+8iVNURw==
uid: HDZZZ0R0N
userPassword:: SWZqRnhzbHRLL01QRQ==

但是,我不能通过原始的明文密码来做ldapsearch

ldapsearch -x -b "dc=example,dc=com" -D uid="HDZZZ0R0N,ou=people,dc=example,dc=com" -w JacicFk5 '(&(uid= HDZZZ0R0N)(objectClass=*))'
ldap_bind: Invalid credentials (49)

有没有人告诉我如何让ldapsearch通过DES编码通过明文和存储的密码来解决给定的密码?

我想知道如何从ldapsearch命令行制作纯文本qazxsw poi以哈希qazxsw poi并使其与DB中的JacicFk5匹配为IfjFxsltK/MPE

IfjFxsltK/MPEuserPassowrd是否有合适的指令?

我检查过以下内容。

ldap.conf

它返回slapd.conf

echo "SWZqRnhzbHRLL01QRQ==" |perl -MMIME::Base64 -ne 'print decode_base64($_) . "\n"'

它返回IfjFxsltK/MPE

还有一个信息。我的ldapseach可以通过ownclod解决存储在AD服务器中的用户的密码文本。

hash active-directory openldap des crypt
1个回答
1
投票

您想要/需要的是LDAP简单身份验证。请注意,以明文存储密码是不安全的!

首先,您需要测试您支持/允许的auth机制。

一个例子:

perl -e 'print("userPassword: {crypt}".crypt("JacicFk5","If")."\n");'

现在您想通过qazxsw poi更改配置。您可以使用配置准备LDIF文件(LDIF代表LDAP数据可互换格式)。

准备配置文件,你可以命名为userPassword: {crypt}IfjFxsltK/MPE

tukanos@localhost:~# ldapsearch -H ldap:// -x -LLL -s base -b "" supportedSASLMechanisms
dn:
supportedSASLMechanisms: DIGEST-MD5
supportedSASLMechanisms: CRAM-MD5
supportedSASLMechanisms: NTLM

这些属性意味着什么:

ldapmodify

引用olcSaslSecProps.ldif

安全力量因素

服务器使用安全强度因子(SSF)来指示保护的相对强度。 SSF为零(0)表示没有保护措施。 SSF为一(1)表示完整性保护到位。大于1的SSF(> 1)大致与有效加密密钥长度相关。例如,DES为56,3DES为112,AES为128,192或256。

许多管理控制依赖于与LDAP会话上的TLS和SASL保护相关联的SSF。

当没有适当的保护措施时,安全控制措施禁止操作。例如:

dn: cn=config
replace: olcSaslSecProps
olcSaslSecProps: noanonymous,minssf=0,passcred

要求所有操作的完整性保护和加密保护(3DES等效),用于更新操作(例如添加,删除,修改等)。有关详细信息,请参阅slapd.conf(5)。

现在应用LDIF文件:

noanonymous ... no anonymous connection allowed
minssf=0 ... that defines your effective encryption strength (0 ... no encryption)
passcred ... that would allow password to work as for credentials

现在重启OpenLDAP security considerations守护进程:

    security ssf=1 update_ssf=112

如果您现在检查您的配置,您应该获得ldapmodify -Y EXTERNAL -H ldapi:// -f ./olcSaslSecProps.ldif slapd

systemctl restart slapd

现在您的搜索应该使用纯文本密码:

LOGIN
© www.soinside.com 2019 - 2024. All rights reserved.