您的密码在LDAP中有多安全?

时间:2009-07-03 07:20:28

标签: security ldap passwords

如果密码存储在LDAP而不是数据库或加密文件中,您的密码是否更安全?

5 个答案:

答案 0 :(得分:12)

密码在LDAP目录中存储为散列字符串。例如,OpenLDAP支持盐化SHA1 {SSHA},crypt {CRYPT}(依赖于操作系统),MD5 {MD5},盐渍MD5 {SMD5}和SHA1 {SHA}的方案。我认为Active Directory服务器存储某种LM哈希和/或NT哈希。

鉴于这一事实,将密码存储在LDAP目录中并不比在文件或SQL数据库中存储散列密码(假设相同的散列)更安全或更不安全。直接访问底层数据结构的每个人都至少可以读取散列密码值(如果数据不是基于文件系统文件系统进行额外加密)。

是否使用LDAP或其他类型的帐户存储机制的决定肯定不会基于密码存储的安全性这一事实。决定将取决于身份验证的完成方式以及您必须满足的其他要求。当您必须将不同的客户端连接到中央身份验证系统(例如专有软件,电子邮件服务器)或者必须将其集成到某些KERBEROS或SASL身份验证方案中时,LDAP就派上用场了。

答案 1 :(得分:5)

密码与用户和密码存储位置之间最薄弱的链接一样安全。基本上,这意味着它不仅需要保护密码的存储方式,还需要保护用户和存储之间的连接线。当服务器和通信是安全的时,最薄弱的环节通常是用户。 (因为用户有时拥有宠物摇滚的记忆容量。)

我的一位同事曾经丢失了他的笔记本电脑,他非常担心小偷会访问他系统上的所有秘密内容。事实证明,他在笔记本电脑上贴了一个小纸条,上面写着密码。不幸的是,他并不是这个世界上唯一一个只在他们的计算机旁边的笔记上写密码的人。

答案 2 :(得分:3)

LDAP是一种通信协议,密码的存储方式几乎取决于目录系统。有关Windows的功能,请参阅NTLM user authentication in Windows

  

LAN Manager兼容密码是   兼容密码   LAN Manager使用。这个密码是   基于原始设备   制造商(OEM)字符集。这个   密码不区分大小写,可以   最多14个字符。 OWF   此密码的版本也是已知的   作为LAN Manager OWF或ESTD   版。此密码由计算   使用DES加密来加密   用明文密码保持不变。   LAN Manager OWF密码为16   字节长。的前7个字节   明文密码用于   计算LAN的前8个字节   经理OWF密码。第二个7   明文密码的字节数是   用于计算机的第二个8字节   LAN Manager OWF密码。

     

Windows密码基于   Unicode字符集。这个密码   区分大小写,最多可达128个   长字符。 OWF版本   这个密码也称为   Windows OWF密码。这个密码是   使用RSA MD-4计算   加密演算法。这个算法   计算一个16字节的摘要   可变长度的明文字符串   密码字节。

它并不是特别安全,但是Active Directory通常在几次不良尝试后通过锁定来实现,所以这并不是那么糟糕。一般来说,供应商编写的任何代码都比推出自己的代码更好。

这还取决于您如何将密码存储在数据库中以及应用了哪些策略。存储简单密码未加密或未加密是一个可怕的想法。通常,目录系统会处理这个问题。例如,AD也可能需要密码复杂性并防止重复使用相同的密码等。将其放入攻击者可以访问的文件中是个坏主意。

答案 3 :(得分:2)

只要您不在网络上公开未加密的密码,它就像在数据库中存储散列密码一样安全。根据LDAP服务器实现,您可以使用许多不同类型的哈希。

OpenLDAP提供CRYPT,MD5,SMD5,SSHA和SHA(根据我的手册页)。

简而言之,LDAP为您提供了类似的散列功能,就像您自己散列密码并将它们存储在SQL数据库中一样。

答案 4 :(得分:0)

使用LDAP,在服务器上验证密码。设计并不是更安全。但是有很多SSO解决方案使用LDAP,所以用户群非常庞大。