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

Hash 如何让ldap评估明文密码与DES存储密码,hash,active-directory,openldap,des,crypt,Hash,Active Directory,Openldap,Des,Crypt,我在CentoS 6.9上使用openldap slapd 2.4.40和postgresql9.2.23作为后台sql LDAPuid和userPassword的用户和密码通过DES编码存储在postgresql中 原始明文为jacifk5 DES编码/加密文本为IfjFxsltK/MPE,存储在数据库中 我可以通过存储的密码查看LDAPSECH结果中的用户信息 ldapsearch -x -b "dc=example,dc=com" -D uid="HDZZZ0R0N,ou=people,

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

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

原始明文为
jacifk5

DES编码/加密文本为
IfjFxsltK/MPE
,存储在数据库中

我可以通过存储的密码查看LDAPSECH结果中的用户信息

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通过明文解析给定密码,通过DES编码解析存储密码

我想知道的是如何将ldapseach命令行中的明文
JacicFk5
转换为hash
IfjFxsltK/MPE
,并使其与DB中的
IfjFxsltK/MPE
匹配为
userPassowrd

是否有适用于
ldap.conf
slapd.conf
的指令

我检查了以下内容

echo "SWZqRnhzbHRLL01QRQ==" |perl -MMIME::Base64 -ne 'print decode_base64($_) . "\n"'
它返回
IfjFxsltK/MPE

perl -e 'print("userPassword: {crypt}".crypt("JacicFk5","If")."\n");'
它返回
userPassword:{crypt}IfjFxsltK/MPE

perl -e 'print("userPassword: {crypt}".crypt("JacicFk5","If")."\n");'
还有一个信息。
my ldapseach可以通过ownclod为AD server中存储的用户解析密码文本。

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

首先,您需要测试您支持/允许的身份验证机制

例如:

tukanos@localhost:~# ldapsearch -H ldap:// -x -LLL -s base -b "" supportedSASLMechanisms
dn:
supportedSASLMechanisms: DIGEST-MD5
supportedSASLMechanisms: CRAM-MD5
supportedSASLMechanisms: NTLM
现在,您需要通过
ldapmodify
更改配置。您准备了一个带有配置的LDIF文件(LDIF代表LDAP数据交换格式)

准备配置文件,您可以将其命名为olcSaslSecProps.ldif:

dn: cn=config
replace: olcSaslSecProps
olcSaslSecProps: noanonymous,minssf=0,passcred
属性的含义:

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
引用

安全强度系数

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

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

安全控制不允许在需要适当保护时进行操作 没有到位。例如:

    security ssf=1 update_ssf=112
所有操作和加密都需要完整性保护 用于更新操作(例如添加、删除、, 修改等)。有关详细信息,请参见slapd.conf(5)

现在应用LDIF文件:

ldapmodify -Y EXTERNAL -H ldapi:// -f ./olcSaslSecProps.ldif
现在要重新启动
slapd
守护进程:

systemctl restart slapd
如果您现在检查您的配置,您将获得
登录
普通

ldapsearch -H ldap:// -x -LLL -s base -b "" supportedSASLMechanisms
dn:
supportedSASLMechanisms: PLAIN
supportedSASLMechanisms: LOGIN
现在,您的搜索应使用普通测试密码:

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

谢谢。我试过了。但是,
ldapsearch-H ldap://-x-LLL-s base-b”支持的saslmechanisms
在应用LDIF前后都不会返回身份验证机制。而且我仍然无法使用原始密码登录。@user1345414除了
389
,您是否更改了默认端口?你能试试ldapsearch-hlocalhost-p389-x-b“dc=example,dc=com”-s base-LLL-supportedsaslem机制吗?我试过了。slapd只返回
dn:dc=example,dc=com
我还尝试了
ldapsearch-LLL-Y EXTERNAL-H ldapi://-b cn=config dn
和slapd返回
SASL/EXTERNAL authentication started ldap\u SASL\u interactive\u bind\s:authentication method not supported(7)附加信息:SASL(-4):无可用机制:安全标志与必需的不匹配
@user1345414 Hmm您可以共享配置文件吗
slapcat-F/etc/ldap/slapd.d-b cn=config-l config.ldif
(请替换任何敏感信息)您的命令返回
5b990171 str2entry:entry-1没有dn slapcat:bad配置目录。但是我有cn=config.ldif文件
dn:cn=config对象类:olcGlobal cn:config olcArgsFile:/var/run/openldap/slapd.args olcPidFile:/var/run/openldap/slapd.pid结构对象类:olcGlobal entryUUID:655d9802-393b-1038-89bd-8f0c8273e5e5e3创建者名称:cn=config createTimestamp:20180821030943Z olcPasswordHash:{CRYPT}olcSizeLimit:5000 olcPasswordCryptSaltFormat:“%s”olcsaslsecrops:noanonymous,minssf=0,passcred
我想将LDAP中存储的所有密码转换为明文。我总是用另一种方式来做。由于我的回答对您没有帮助,我将删除它。根据slapd2.4.40的配置文件
ppolicy
未启用,除非swich已打开<代码>-启用ppolicy密码策略覆盖否|是| mod[否]
我的是CentOS的软件包。我不能更改。我自己创建了相同版本的slapd,启用了ppolicy。没有任何更改。我现在准备自定义slapd源。有人告诉我哪个源文件最适合添加DES加密,以使creartext密码与存储的密码匹配吗?@tukan,您的信息很重要。你不能删除。