使用“ldap-haskell”进行LDAP身份验证:是否可以使其安全



我正在构建一个需要身份验证的HaskellWeb应用程序。 我的组织运行LDAP服务器,我不想重新发明轮子。 但是,当我检查ldap-haskell包中LDAP.Init.ldapSimpleBind源代码时,我发现它调用 C 例程ldap_simple_bind_s 。 据我所知,此API调用将以明文形式将我的用户密码发送到LDAP服务器。 不可接受。

  • 我是否正确理解ldap-haskell在做什么?

  • 如果是这样,是否有一种安全的方法让我从用 Haskell 编写的应用程序向 LDAP 服务器验证我的用户?

密码必须通过安全连接以明文形式发送到支持密码策略检查的 LDAP 服务器。否则将导致服务器无法管理密码历史记录和密码质量检查。如果服务器不支持密码策略和历史记录检查,则不应将该服务器用于非平凡的任务关键型应用程序。使用 SSL,否则,使用 StartTLS 扩展操作将不安全的连接提升为 TLS。

您可以使用端口 636(安全 LDAP)而不是端口 389 连接到 LDAP 服务器吗? 在这种情况下,您至少将具有SSL保护。

最新更新