Hash 如何在openLDAP中启用密码哈希(SSHA)

Hash 如何在openLDAP中启用密码哈希(SSHA),hash,passwords,salt,openldap,ssha,Hash,Passwords,Salt,Openldap,Ssha,就我的一生而言,我似乎在任何地方都找不到这个链接,如果有人能给我一个链接,我将非常感激 我们正在尝试在openLDAP中启用SSHA哈希。默认情况下,它以明文形式存储密码,我认为这是犯罪行为,但嘿,我是一个广告人,所以我知道什么。但是如果你愿意的话,你会认为他们会让你很容易找到开启散列所需的信息。您会选择吗?OpenLDAP支持多种存储方案供管理员选择。必须将用于创建帐户的工具配置为进行哈希运算。服务器将以客户端请求的格式存储密码。如果哈希正确完成,ldapsearch将显示哈希密码,如下所示:

就我的一生而言,我似乎在任何地方都找不到这个链接,如果有人能给我一个链接,我将非常感激


我们正在尝试在openLDAP中启用SSHA哈希。默认情况下,它以明文形式存储密码,我认为这是犯罪行为,但嘿,我是一个广告人,所以我知道什么。但是如果你愿意的话,你会认为他们会让你很容易找到开启散列所需的信息。您会选择吗?

OpenLDAP支持多种存储方案供管理员选择。必须将用于创建帐户的工具配置为进行哈希运算。服务器将以客户端请求的格式存储密码。如果哈希正确完成,ldapsearch将显示哈希密码,如下所示:

userPassword: {SSHA}d0Q0626PSH9VUld7yWpR0k6BlpQmtczb
有关详细信息,请参阅


说到管理工具,我个人建议,LDAP规范需要明文密码以实现互操作性。上面给出的关于安全性的链接将为您提供服务器可以执行的默认哈希类型的选项,但请考虑其含义。

< P>您可以使用“密码哈希”来更改哈希算法,默认的是哈希算法(不明确的文本)。

请注意,只有当客户端发送的密码是纯文本时,slapd才会使用上述方法,如果客户端发送的是散列密码,则它将按原样存储

例如:对于pam_ldap,使用pam_密码exop(或clear)

如果密码是散列的,并且我知道这是openLDAP兜售的一个特性,那么如何在服务器上运行密码强度测试

如果发送散列密码,slapd无法执行强度测试,因此客户端必须以明文形式发送密码(ppolicy可以选择接受/拒绝散列密码)

注:

  • 确保您的客户端使用ssl/tls(因此不会以明文形式发送passwd)
  • userpassword属性包含特殊字符({}),因此必须使用base64-d来标识所使用的哈希算法
  • 例如:通常属性以以下格式返回(表示结果是base64编码的)


    当您试图在添加/修改LDAP操作中存储
    userPassword
    属性时,
    userPassword
    值存储为纯文本。但是您可以使用OpenLDAP中的
    ppolicy
    overlay模块中的
    ppolicy\u hash\u cleartext
    选项覆盖此行为。启用后,当客户端发送纯文本密码时,默认情况下它存储为
    SSHA
    。您可以从

    中找到有关在OpenLADP中启用哈希密码的更多详细信息。这是一个老问题,但仍然相关。不再推荐使用SSHA(即SHA-1),因为它相对容易暴力强迫

    更安全的散列算法是SHA-512。使用OpenSSL 1.1可以在客户端生成更强的哈希,如下所示:

    userPassword: {SSHA}d0Q0626PSH9VUld7yWpR0k6BlpQmtczb
    
    \u生成密码\u散列(){
    本地明文;明文=“$1”
    
    命令printf“{CRYPT}%s”$(openssl passwd-6-stdin真的吗?那么你是说唯一的密码散列方法就是让客户端或者换句话说,由外部来源来做。这似乎不太理想,而且有点危险。在广告世界中,它是集中完成和集中管理的。这让我很难相信。等等,密码强度测试是如何运行的如果密码是散列的,我知道这是openLDAP兜售的一个功能?LDAP只是一个目录。强制执行密码策略取决于身份验证层而不是存储层。实际上,UNIX世界就是这样工作的,有一个工具只做一件事,而且做得很好。要强制执行密码策略,需要配置你的用户用来更改密码的工具,无论是web界面还是命令行实用程序。我知道这很难相信没有“中心”“做一切的事情,但这是模块化的想法。如果你想要一个完整的解决方案,所有的配置都是盒子外的,在它上面有一个管理界面,考虑使用FRIEPA。它有LDAP(Red Hat的版本,而不是OpenLDAP)。,Kerberos等,所有这些都预先配置为相互协作,并且在所有东西之上都有一个整洁的web界面。但是有一个警告:您需要在Fedora或RedHat ELThanks之上运行它。每个人,我们都能正常工作。我们的openLDAP现在正在处理哈希(ssha)输入密码和针对该散列密码的身份验证。似乎较少使用或配置一次,只需“正常工作”LDAP的功能在参考资料和领域专业知识方面非常稀少。我在几个小时的谷歌搜索后只能找到一个链接,幸运的是这是我唯一需要的链接。感谢Najmuddin为我提供了部分链接。奖励归他。感谢Naj。你的建议成为了我们解决方案的一部分。我对测试强度的评论实际上是有疑问的其他人建议哈希应该在发送到LDAP进行身份验证之前进行。上面的陈述让我对评论产生了怀疑。再次感谢…win归你,我的朋友。关于发送纯文本的要求,你是正确的。我想这就是为什么openLDAP要求在ne可以将其配置为开始散列密码。我的问题是,为什么它允许用户在散列关闭的情况下向其发送纯文本密码。从安全角度看,从一开始就打开散列并要求用户将其关闭不是更好吗?有点像BSD模型,默认情况下所有内容都关闭,需要学习者关闭dan这里值得注意的是:在身份验证数据库(LDAP、AD或其他)中存储散列密码并不像看上去那样是安全万灵药。SASL极大地提高了网络安全性,但要求原始密码可用于链接的两端。因此,折衷的办法是提高数据存储(哈希)ag的安全性
    {CRYPT}$6$SGIWzAbjh.3WoQQJ$vEFlcRBQpd2fJ8dxcbojr83pjQcXcJ.InRMzNRryTQ//fMYJoCRFWAPn22EvJyDikG.MNuUqRYqQtI97Clj2F0