我在CentoS 6.9上使用openldap slapd 2.4.40和postgresql9.2.23作为back-sql
LDAP uid
和userPassword
的用户和密码通过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/MPE
或userPassowrd
是否有合适的指令?
我检查过以下内容。
ldap.conf
它返回slapd.conf
echo "SWZqRnhzbHRLL01QRQ==" |perl -MMIME::Base64 -ne 'print decode_base64($_) . "\n"'
它返回IfjFxsltK/MPE
还有一个信息。我的ldapseach可以通过ownclod解决存储在AD服务器中的用户的密码文本。
您想要/需要的是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