AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-10045

SethG's questions

Martin Hope
SethG
Asked: 2009-10-09 09:40:14 +0800 CST

如何创建 SSL 证书以便我的 apache 服务器可以连接到我的 LDAP/AD 服务器?

  • 0

这与我上周提出的问题有关。问题是突然之间,我的 apache 服务器无法连接到需要身份验证的站点的 LDAP(Active Directory)服务器。经过大量挖掘,我发现 LDAP/AD 服务器的 SSL 证书在发生这种情况时已过期。我一直在尝试为 LDAP/AD 服务器创建一个新的 SSL 证书并将其安装在 apache 服务器上,但一直没有运气。在这一点上,我需要有人可以为我一步一步地完成这个过程,因为看起来我错过了使这一切正常工作的一些基本要素。

此时,即使没有 SSL,我什至无法从 apache(使用 mod_ldap)获得 LDAP 连接。

我一直在 Windows 服务器(LDAP/AD 主机)和 linux apache 服务器上使用 openldap,在双方都创建证书无济于事。我似乎无法从我在网上找到的文档中得到我需要的东西,只需要一个简单的方法来完成这一切。任何能帮助我理解这种混乱的东西都将不胜感激。

谢谢。赛斯

windows
  • 1 个回答
  • 916 Views
Martin Hope
SethG
Asked: 2009-10-03 11:45:39 +0800 CST

无法弄清楚为什么 apache LDAP 身份验证失败

  • 8

昨天突然间,我的一台 apache 服务器无法连接到我的 LDAP (AD) 服务器。我在该服务器上运行了两个站点,当用户登录到任一站点时,这两个站点都使用 LDAP 对我的 AD 服务器进行身份验证。两天前它一直运行良好。由于未知原因,截至昨天,它停止工作。错误日志只说:

auth_ldap authenticate: user foo authentication failed; URI /FrontPage [LDAP: ldap_simple_bind_s() failed][Can't contact LDAP server], referer: http://mysite.com/

我想也许我的自签名 SSL 证书已经过期,所以我为 mysite.com 创建了一个新证书,但没有为服务器主机名本身创建一个,问题仍然存在。我启用了调试级别的日志记录。它显示了与 LDAP 服务器的完整 SSL 事务,并且在我收到“无法联系 LDAP 服务器”消息之前,它似乎一直没有错误地完成。我可以从这个服务器上的命令行运行 ldapsearch,我可以登录到它,它也使用 LDAP,所以我知道服务器可以连接和查询 LDAP/AD 服务器。只有apache无法连接。

谷歌搜索没有任何结果,所以我在这里问。任何人都可以提供有关此问题的见解吗?

这是 apache 配置中的 LDAP 部分:

<Directory "/web/wiki/">
    Order allow,deny
    Allow from all
    AuthType Basic
    AuthName "Login"
    AuthBasicProvider ldap
    AuthzLDAPAuthoritative off
    #AuthBasicAuthoritative off
    AuthLDAPUrl ldaps://domain.server.ip/dc=full,dc=context,dc=server,dc=name?sAMAccountName?sub
    AuthLDAPBindDN cn=ldapbinduser,cn=Users,dc=full,dc=context,dc=server,dc=name
    AuthLDAPBindPassword password
    require valid-user
</Directory>
linux
  • 14 个回答
  • 42274 Views
Martin Hope
SethG
Asked: 2009-07-30 14:28:14 +0800 CST

linux 上针对 AD 的 LDAP 查询返回没有成员的组

  • 3

我正在使用 LDAP+kerberos 对 Windows 2003 R2 上的 Active Directory 进行身份验证。我的 krb5.conf 和 ldap.conf 似乎是正确的(根据我在网上找到的几乎所有样本)。我可以使用密码和 ssh 密钥登录主机。当我运行 getent passwd 时,我的所有 ldap 用户帐户都列出了所有重要属性。当我运行 getent 组时,列出了所有 ldap 组及其 gid,但没有组成员。如果我在任何组上运行 ldapsearch 和过滤器,则所有成员都与“成员”属性一起列出。所以数据是可以拿来的,只是没有被正确解析。看来我只是在 ldap.conf 中使用了不正确的映射,但我看不到它。我尝试了几种变体,并且都给出了相同的结果。

这是我当前的 ldap.conf:

host <ad-host1-ip> <ad-host2-ip>
base dc=my,dc=full,dc=dn
uri ldap://<ad-host1> ldap://<ad-host2>
ldap_version 3
binddn <mybinddn>
bindpw <mybindpw>
scope sub
bind_policy hard 
nss_reconnect_tries 3
nss_reconnect_sleeptime 1
nss_reconnect_maxsleeptime 8
nss_reconnect_maxconntries 3
nss_map_objectclass posixAccount User
nss_map_objectclass posixGroup Group
nss_map_attribute uid sAMAccountName
nss_map_attribute gidNumber msSFU30GidNumber
nss_map_attribute uidNumber msSFU30UidNumber
nss_map_attribute cn cn
nss_map_attribute gecos displayName
nss_map_attribute homeDirectory msSFU30HomeDirectory
nss_map_attribute loginShell msSFU30LoginShell
nss_map_attribute uniqueMember member
pam_filter objectcategory=User
pam_login_attribute sAMAccountName
pam_member_attribute member
pam_password ad

这是踢球者:此配置在具有不同发行版的不同 linux 机器上可以 100% 正常工作。它不适用于我打算切换到的发行版。我已经从源代码安装了新盒子的版本pam_ldap以nss_ldap匹配旧盒子,这解决了我在此设置中遇到的另一个问题。

其他相关信息是原来的 AD 框是 Windows 2003。它的镜像死于可怕的硬件死亡,所以我试图在镜像树中再添加两个 2003-R2 服务器并最终放弃旧的 2003 框。新的 R2 盒子似乎已经正确地加入了 DC 森林。

我需要做什么才能让小组工作?我已经用尽了我能找到的所有资源,需要一个不同的角度。任何输入表示赞赏。


状态更新,2009 年 7 月 31 日

我已经设法调整了我的配置文件以从 AD 中获取完整信息,并且性能很好而且很敏捷。我用我正在使用的发行版的当前版本替换了 back-rev'd 副本pam_ldap,nss_ldap所以它回到了标准的开箱即用安装。这是我当前的配置:

host <ad-host1-ip> <ad-host2-ip>
base dc=my,dc=full,dc=dn
uri ldap://<ad-host1> ldap://<ad-host2>
ldap_version 3
binddn <mybinddn>
bindpw <mybindpw>
scope sub
bind_policy soft 
nss_reconnect_tries 3
nss_reconnect_sleeptime 1
nss_reconnect_maxsleeptime 8
nss_reconnect_maxconntries 3
nss_connect_policy oneshot
referrals no
nss_map_objectclass posixAccount User
nss_map_objectclass posixGroup Group
nss_map_attribute uid sAMAccountName
nss_map_attribute gidNumber msSFU30GidNumber
nss_map_attribute uidNumber msSFU30UidNumber
nss_map_attribute cn cn
nss_map_attribute gecos displayName
nss_map_attribute homeDirectory msSFU30HomeDirectory
nss_map_attribute loginShell msSFU30LoginShell
nss_map_attribute uniqueMember member
pam_filter objectcategory=CN=Person,CN=Schema,CN=Configuration,DC=w2k,DC=cis,DC=ksu,DC=edu
pam_login_attribute sAMAccountName
pam_member_attribute member
pam_password ad
ssl off
tls_checkpeer no
sasl_secprops maxssf=0

现在剩下的问题是当您运行groups命令时,并未列出所有订阅的组。有些是(一两个),但不是全部。仍然尊重组成员身份,例如文件和打印机访问权限。 getent group foo仍然显示用户是组 foo 的成员。所以它似乎是一个演示错误,并且不会干扰正常操作。

即使列出了该组,某些(我还没有确定到底有多少)组搜索似乎也无法正确解析。例如,当您运行“ getent group bar”时,没有返回任何内容,但是如果您运行“ getent group|grep bar”或“ getent group|grep <bar_gid>”,您可以看到它确实列出了,并且您的组名和 gid 是正确的。

这似乎仍然是 LDAP 搜索或映射错误,但我不知道它是什么。我比本周早些时候更接近了,但我真的很想解决最后一个细节。

linux windows-server-2003 active-directory ldap groups
  • 2 个回答
  • 4417 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve