标签: ldap

apache auth:LDAP 和 htpasswd 的组合

我们使用带有 mod_svn 的 Apache 来为 subversion 存储库提供服务。Apache 连接到 LDAP 服务器,因此所有用户都可以使用他们的域密码。为了让构建机器能够结账,我想要一个额外的用户,但我无法通过 LDAP 添加。

我可以创建一个用户/密码必须匹配 LDAP 服务器或 htpasswd 文件的设置吗?

svn ldap authentication apache-2.2

13
推荐指数
1
解决办法
1万
查看次数

OpenLDAP、Samba 和密码老化

我正在配置一个系统,其中所有 IT 资源都可以通过单个用户密码对获得,无论是访问服务器上的 shell、登录到 Samba 域、WiFi、OpenVPN、Mantis 等(访问受管理的特定服务)按组成员身份或用户对象字段)。因为我们的网络中有个人数据,所以我们需要根据欧盟数据保护指令(或者更确切地说是波兰语版本)实施密码老化。

问题是 LDAP 中的 Samba 和 POSIX 帐户使用不同的密码散列和老化信息。虽然同步密码本身很容易(ldap password sync = Yesin smb.conf),但将密码老化添加到混合中会破坏事情:Samba 不更新 shadowLastChange。与obey pam restrictions = Yes创建一个系统,其中 Windows 用户不能更改旧密码,但如果我不使用它,则不会自动创建主目录。另一种方法是使用 LDAP 扩展操作来更改密码,但smbk5pwd模块也不对其进行设置。更糟糕的是,OpenLDAP 维护者不会更新它/接受补丁,因为该字段被认为已弃用。

所以,我的问题是,最好的解决方案是什么?它们的优缺点是什么?

  1. 使用 LDAPppolicy和内部 LDAP 密码老化?

    1. 它与 NSS、PAM 模块、samba 和其他系统的配合情况如何?
    2. NSS 和 PAM 模块是否需要以特殊方式配置才能使用 ppolicy 而不是 shadow?
    3. GOsa²是否适用于 ppolicy?
    4. 是否有其他管理工具可以与ppolicy启用的 LDAP 一起使用?
  2. 编写一个更新 LDAP 字段的更改密码脚本。(留下用户自己在不更改密码的情况下更新字段的可能性)

domain ldap authentication samba pam

13
推荐指数
1
解决办法
3574
查看次数

使用全局编录时,AD 上的 LDAP 查询能否提供单个帐户的 netbios 域名?

我正在使用 ADSI Edit 查看 AD 中单个用户帐户的 LDAP 属性。我看到了诸如 userPrincipalName 之类的属性,但我没有看到完全限定域名 (FQDN) 或 netbios 域名的属性。

我们将设置全局目录 (GC) 以提供对多个域的 LDAP 访问,并通过应用程序中的配置将 LDAP 属性映射到应用程序中的用户配置文件属性。对于典型的 AD,所有用户的 FQDN 和 netbios 域名都是相同的,但是由于涉及 GC,我们需要这些附加信息。我们真的只需要netbios域名(FQDN不够好)。

也许可以通过 LDAP 查询从 AD 中的更顶级对象请求此信息?

active-directory ldap domain-controller

13
推荐指数
2
解决办法
3万
查看次数

您如何针对 Active Directory 跟踪/调试 LDAP 连接?

我被宠坏了,并且一直在使用 eDirectory 完成我的大部分 LDAP 工作,它有一个名为 DSTrace 的实用程序,它很可爱,特别是对于 LDAP,将向您显示所有绑定尝试、源 IP、传入的搜索、摘要返回的匹配对象。

在调试 LDAP 应用程序(如SAP GRC)时,我可以通过观察应用程序所做的事情轻松找出应用程序做错了什么。

我知道安全事件日志会有一些这样的信息(至少绑定尝试)但必须有更好的方法吗?有没有这样的功能?

我看到一个问题调试 AD很接近,但只建议登录事件。我每天都需要更多的东西来管理 LDAP 应用程序。

active-directory ldap trace

13
推荐指数
1
解决办法
9万
查看次数

SSH 仅在故意失败的密码后才有效

所以,我遇到了一个相当奇怪的问题。我有一个服务器,当我尝试通过 SSH 连接时,如果我在第一次尝试时输入正确的密码,它会立即关闭连接。但是,如果我在第一次尝试时故意输入错误的密码,然后在第二次或第三次提示时输入正确的密码,它会成功登录我的计算机。同样,当我尝试使用公钥身份验证时,我会立即关闭连接。但是,如果我为密钥文件输入了错误的密码,然后在恢复为密码身份验证后又输入了另一个错误的密码,只要我在第二次或第三次提示时提供正确的密码,我就可以成功登录。

该机器运行 Red Hat Enterprise Linux Server 6.2 版(圣地亚哥),并使用 LDAP 和 PAM 进行身份验证。关于从哪里开始调试这个的任何想法?让我知道我需要提供哪些配置文件,我会很乐意这样做。

这是一些调试信息。以下代码块按顺序表示这 3 种情况:1) 首次尝试时更正私钥密码,2) 跳过私钥,首次尝试时更正常规密码,3) 跳过私钥,故意输入错误密码,然后进入好的...这是唯一让我真正连接的场景。

OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to [removed for privacy].
debug1: Connection established.
debug3: Incorrect RSA1 identifier
debug3: Could not load "/home/trevor/.ssh/id_rsa" as a RSA1 public key
debug1: identity file /home/trevor/.ssh/id_rsa type 1
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: …
Run Code Online (Sandbox Code Playgroud)

openldap ssh ldap authentication pam

13
推荐指数
1
解决办法
1978
查看次数

AD 对象的 DistinguishedName 中的“DEL:”是什么意思?

抱歉——我并不是真正的 Windows 系统管理员,只是试图通过 Java 中的一些 LDAP 交互进行猛烈抨击。

我在distinguishedName中找到了大量带有“DEL:”的对象。这些是等待垃圾收集的孤立项目吗?我如何删除它们?我真的无法通过 ADUC 找到它们,但我可以通过 Java LDAP 找到它们。

windows-server-2008 active-directory ldap domain-controller

13
推荐指数
1
解决办法
205
查看次数

针对 Active Directory 进行身份验证时要使用哪个字段?

Active Directory 用户对象包括许多可被视为标识符的字段。下面列出了其中一些及其在 ADUC 中的标签及其属性名称:

  • 全名 - cn
  • ? - 姓名
  • 用户 sAMAccountName 登录 - sAMAccountName
  • 用户 UPN 登录:userPrincipalName
  • ? - 专有名称

我试图让我们的开发人员在编写针对 AD 进行身份验证的自定义代码时仅使用其中一种进行标准化 - 问题是我不确定哪个是“正确”的,或者不同的是否在不同的情况下是正确的情况。我什至不确定是否应该使用上述任何字段!

有没有其他人选择了一致使用的,是什么影响了你的决定?有什么文件可以澄清这个问题吗?

active-directory ldap authentication

13
推荐指数
1
解决办法
4万
查看次数

Apache mod_auth_kerb 和 LDAP 用户组

我一直在考虑mod_auth_kerb在我们的内部 Web 服务器上部署以启用 SSO。我能看到的一个明显问题是,它是一种要么全有要么全无的方法,要么您的所有域用户都可以访问某个站点,要么不能。

是否有可能结合起来mod_auth_kerb的东西,如mod_authnz_ldap在特定的组中LDAP检查组成员?我猜这个KrbAuthoritative选项会与此有关吗?

此外,据我所知,该模块将用户名设置为username@REALM经过身份验证,但当然在目录中,用户仅存储为用户名。此外,我们运行的一些内部站点(例如 trac)已经有一个链接到每个用户名的用户配置文件。有没有办法解决这个问题,也许是通过在身份验证后以某种方式剥离领域位?

ldap kerberos single-sign-on apache-2.2

12
推荐指数
2
解决办法
2万
查看次数

如何将现有的一组 Subversion 存储库切换为使用 ActiveDirectory?(svnserve/windows)

我在 Windows Server 2003 机器上有一组私有的 Subversion 存储库,开发人员可以通过 svn:// 协议通过 SVNServe 访问这些存储库。目前,我们一直在使用每个存储库的authzpasswd文件来控制访问,但是随着存储库和开发人员数量的增加,我正在考虑改用 ActiveDirectory 中的凭据。我们在一家所有的 Microsoft 商店中运行,并在我们所有的 Web 服务器上使用 IIS 而不是 Apache,所以如果可能的话,我更愿意继续使用 SVNServe。

除了可能之外,我还关心如何迁移我们的存储库,以便现有用户的历史记录映射到正确的 ActiveDirectory 帐户。还请记住,我不是网络管理员,而且我对 ActiveDirectory 并不十分熟悉,因此如有必要,我可能需要通过其他人来获取在 ActiveDirectory 中所做的更改。

我有哪些选择?

更新 1:从SVN 文档看来,通过使用 SASL,我应该能够让 SVNServe 使用 ActiveDirectory 进行身份验证。澄清一下,我正在寻找的答案是如何配置 SVNServe(如果可能)以使用 ActiveDirectory 进行身份验证,然后如何修改现有存储库以将现有 svn 用户重新映射到他们的 ActiveDirectory 域登录帐户。

更新 2:似乎 SVNServe 中的 SASL 支持在插件模型下工作,文档仅作为示例显示。查看Cyrus SASL 库,它似乎支持多种身份验证“机制”,但我不确定哪一种用于 ActiveDirectory 支持,也无法找到有关此类问题的任何文档。

更新 3:好的,看起来为了与 ActiveDirectory 通信,我希望使用saslauthd而不是sasldb作为auxprop_plugin属性。不幸的是,根据一些帖子(可能已经过时和不准确),saslauthd似乎不是在 Windows 上构建的,这样的努力被认为是一项正在进行工作。 …

windows active-directory svn ldap svnserve

12
推荐指数
2
解决办法
3377
查看次数

使用基于请求字符串的 LDAP 动态验证 Apache?

是否可以将请求 URI 的一部分用作 mod_authnz_ldapRequire ldap-group指令的输入?

我正在尝试动态检查对一堆不同项目目录的访问,所有目录都在http://testserver.com/projects/下,这样访问的用户/projects/abc将被检查cn=abc,ou=groups,dc=test. 理想情况下,我希望在不为每个项目创建单独的 Location 指令的情况下执行此操作,因为很可能有数百个。

我想出了这个,它说明了一般概念,但它不起作用(project_name 不检索实际变量内容):

<Location /projects>
    SetEnvIf Request_URI "/projects/([-a-z0-9A-Z_]+)/" project_name=$1

    AuthType Basic
    AuthBasicProvider ldap
    AuthName "Restricted Resource - SVN (LDAP)"
    AuthLDAPURL "ldap://127.0.0.1:389/dc=test?uid"
    AuthLDAPGroupAttributeIsDN off
    AuthLDAPGroupAttribute memberUid
    Require ldap-group cn=%{project_name},ou=groups,dc=test
</Location>
Run Code Online (Sandbox Code Playgroud)

帮助?

ldap environment-variables mod-auth-ldap apache-2.2

12
推荐指数
1
解决办法
673
查看次数