标签: openldap

如何通过命令行使用 LDAP 进行身份验证?

LDAP 服务器托管在 Solaris 上。客户端是 CentOS。通过 LDAP 的 OpenLDAP/NSLCD/SSH 身份验证工作正常,但我无法使用 ldapsearch 命令来调试 LDAP 问题。

[root@tst-01 ~]# ldapsearch
SASL/EXTERNAL authentication started
ldap_sasl_interactive_bind_s: Unknown authentication method (-6)
        additional info: SASL(-4): no mechanism available:
[root@tst-01 ~]# cat /etc/openldap/ldap.conf
TLS_CACERTDIR /etc/openldap/cacerts
URI ldap://ldap1.tst.domain.tld ldap://ldap2.tst.domain.tld
BASE dc=tst,dc=domain,dc=tld
[root@tst-01 ~]# ls -al /etc/openldap/cacerts
total 12
drwxr-xr-x. 2 root root 4096 Jun  6 10:31 .
drwxr-xr-x. 3 root root 4096 Jun 10 10:12 ..
-rw-r--r--. 1 root root  895 Jun  6 10:01 cacert.pem
lrwxrwxrwx. 1 root root   10 …
Run Code Online (Sandbox Code Playgroud)

openldap redhat ldap centos

46
推荐指数
4
解决办法
20万
查看次数

您是一家开源商店……您如何进行共享日历?

我运行一个开源协作套件,我很满意,我的用户群也很满意……除了日历之外。这是一个严重的痛点,我正在争先恐后地寻找解决方案。

我有用于电子邮件的 Courier+Postfix+Maildrop,XMPP/Jabber 服务都支持 OpenLDAP(公司目录也来自 LDAP)。我唯一的症结是一个不错的日历/调度包,它具有以下(看似简单)的功能:

  1. LDAP 集成
  2. 多平台支持(Windows、Linux 和 Mac)
  3. 委派(执行助理可以管理他们执行的日历,招聘人员可以在招聘经理的日历中安排会议)
  4. “资源”管理(会议室、投影仪等)

很高兴拥有:

  • 网页界面
  • (臭名昭著的)忙/闲
  • Outlook/Palm“管道”同步到移动设备
  • 易于管理:)

想要的是一个全新的协作堆栈(ala Zimbra、OpenXchange、Hula 等)。我喜欢我的邮件设置,我喜欢我的 Jabber 设置。我只需要一个日历产品。我不希望免费(不过,那会很好),我想要一些有人实际接触过的建议(我要求很高,我知道...),而不仅仅是来自 CalDav 联盟网页的列表。;)

只有我有这个问题吗?帮助!:)

ical openldap

39
推荐指数
2
解决办法
1470
查看次数

如何以最安全和正确的方式在 Centos 6 上配置 LDAP 以进行用户身份验证?

在过去的几天里,我一直在使用很多 F-words,同时浏览 Internet 以获取有关如何设置 LDAP 服务器的良好文档。到目前为止,我没有发现任何东西,但有很多不如好,但比坏好。所以我不得不按照通常的 Linux 方式来做,阅读、测试、尖叫、阅读、测试和尖叫。

我对 LDAP 服务器的目标是:

  • 在 Centos 6 最低安装上安装 LDAP,用于服务器和客户端。
  • 按照 OpenLDAP 开发人员预期的方式安装。
  • 在启用 LDAPS、iptables、SELinux 等的情况下安全地安装 LDAP。
  • 在客户端上使用 SSSD 进行到 LDAP 服务器的“身份验证”连接。

这是我通常自己回答的那种问题,但我会很感激有关如何更好地进行安装的建议。

openldap ldap centos centos6 sssd

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

LDAP 结构:dc=example,dc=com vs o=Example

我对 LDAP 比较陌生,已经看到了两种如何设置结构的示例。

一种方法是使用基础是:dc=example,dc=com而其他示例的基础是o=Example。继续下去,您可以拥有一个如下所示的组:

    dn: cn=team,ou=Group,dc=example,dc=com
    cn:团队
    对象类:posixGroup
    成员标识:user1
    成员标识:user2

...或使用“O”样式:

    dn:cn=团队,o=示例
    对象类:posixGroup
    成员标识:user1
    成员标识:user2

我的问题是:

  1. 是否有任何最佳实践要求使用一种方法而不是另一种方法?
  2. 您使用哪种风格只是偏好问题吗?
  3. 使用一种比另一种有什么优势吗?
  4. 一种方法是旧风格,一种是新改进的版本吗?

到目前为止,我已经采用了这种dc=example,dc=com风格。社区可以就此事提供的任何建议将不胜感激。

openldap ldap

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

如何在 openldap 服务器上配置反向组成员身份维护?(成员)

我目前正在将 LDAP 身份验证集成到系统中,我想限制基于 LDAP 组的访问。做到这一点的唯一方法是通过搜索过滤器,因此我相信我唯一的选择是在我的搜索过滤器中使用“memberOf”属性。我的理解是“memberOf”属性是一个操作属性,可以由服务器为我创建任何时候为服务器上的任何“groupOfNames”条目创建新的“成员”属性。我的主要目标是能够将“成员”属性添加到现有的“groupOfNames”条目,并将匹配的“memberOf”属性添加到我提供的 DN。

到目前为止我已经成功实现了:

我对 LDAP 管理还是很陌生,但根据我在 openldap 管理员指南中的发现,反向组成员身份维护(也称为“成员覆盖”)似乎可以达到我正在寻找的效果。

我的服务器当前正在运行 openldap 2.4.15 的软件包安装(在 ubuntu 上为 slapd),它使用“cn=config”样式的运行时配置。我发现的大多数示例仍然引用了旧的“slapd.conf”静态配置方法,并且我已尽力使配置适应新的基于目录的模型。

我添加了以下条目以启用 memberof 覆盖模块:

使用 olcModuleLoad 启用模块

cn=config/cn\=module\{0\}.ldif

dn: cn=module{0}
objectClass: olcModuleList
cn: module{0}
olcModulePath: /usr/lib/ldap
olcModuleLoad: {0}back_hdb
olcModuleLoad: {1}memberof.la
structuralObjectClass: olcModuleList
entryUUID: a410ce98-3fdf-102e-82cf-59ccb6b4d60d
creatorsName: cn=config
createTimestamp: 20090927183056Z
entryCSN: 20091009174548.503911Z#000000#000#000000
modifiersName: cn=admin,cn=config
modifyTimestamp: 20091009174548Z
Run Code Online (Sandbox Code Playgroud)

为数据库启用覆盖并允许它使用它的默认设置(groupOfNames、member、memberOf 等)

cn=config/olcDatabase={1}hdb/olcOverlay\=\{0\}memberof

dn: olcOverlay={0}memberof
objectClass: olcMemberOf
objectClass: olcOverlayConfig
objectClass: olcConfig
objectClass: top
olcOverlay: {0}memberof
structuralObjectClass: olcMemberOf
entryUUID: 6d599084-490c-102e-80f6-f1a5d50be388
creatorsName: cn=admin,cn=config
createTimestamp: …
Run Code Online (Sandbox Code Playgroud)

openldap ldap

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

如何将 LDAP(数据库、架构、配置)迁移到其他机器

我使用的是 openldap 2.4.40,我需要将我现有的 ldap 数据库、配置和架构(基本上与 ldap 服务器相关的所有内容)迁移到新机器上。

问题是,我使用 cn=config 配置而不是旧的 slapd.conf 文件了。

openldap 和其他 3rd 方网站提供的文档仅有助于迁移 slapd.conf LDAP 服务器,而不是具有较新 cn=config 配置文件的 LDAP 服务器。

而且我有新的模式(属性类型和对象类),有没有办法尽可能轻松地将它们迁移到新机器上?

除了重新配置并将我的模式一个接一个地手动添加到新机器之外,我需要其他方法。

这样做的目的是最有可能关闭旧机器。

TL;DR有什么方法可以方便地将 LDAP 数据库、模式、配置从 1 个 LDAP 服务器迁移到新的 LDAP 服务器,目的是关闭旧机器

谢谢你。

*在下面发布了答案

- 胡里奥

openldap configuration ldap migration schema

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

用于 LDAP 管理的 Web 界面

我们将在我们的组织中实施 LDAP 以进行集中式身份验证。哪个是最好的简单 LDAP 管理工具?

linux openldap ldap

17
推荐指数
4
解决办法
6万
查看次数

Active Directory 与 OpenLDAP

这是为一家没有实施任何集中用户数据库的小公司(12 名开发人员)准备的——他们已经有机地成长,只是根据需要在计算机上创建帐户。

从管理的角度来看,这是一场噩梦 - 10 台计算机都具有不同的用户帐户。如果用户被添加到一台计算机,他们需要手动添加到所有其他计算机(他们需要访问)。这远非理想。随着更多计算机/用户的添加/雇用,向前发展并发展业务将意味着更多的工作。

我知道,有些类型的集中用户管理的迫切需要。但是,我在 Active Directory 和 OpenLDAP 之间争论不休。当前的两台服务器用作简单的备份和文件共享服务器,都运行 Ubuntu 8.04LTS。这些计算机混合了 Windows XP 和 Ubuntu 9.04。

我没有使用 Active Directory(或真正的 OpenLDAP,但我对 Linux 感到满意)的经验,但是如果一个解决方案比另一个解决方案更重要,那么我有理由了解这一点。

前期成本不是真正的问题,TCO 才是。如果 Windows(我假设是 SBS?)能为我节省足够的时间来弥补增加的前期成本,那么我认为我应该采用该解决方案。

根据我的需要,我应该考虑实施什么解决方案?

编辑:电子邮件是异地托管的,因此不需要 Exchange。

ubuntu small-business openldap active-directory

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

在 Ubuntu 上为 WPA2 设置 RADIUS + LDAP

我正在为大约 150 个用户设置无线网络。简而言之,我正在寻找设置 RADIUS 服务器以针对 LDAP 对 WPA2 进行身份验证的指南。在 Ubuntu 上。

  • 我有一个可用的 LDAP,但由于它不在生产环境中使用,因此它可以很容易地适应该项目可能需要的任何更改。
  • 我一直在研究 FreeRADIUS,但任何 RADIUS 服务器都可以。
  • 我们为 WiFi 提供了一个单独的物理网络,因此不必担心这方面的安全性。
  • 我们的 AP 是 HP 的低端企业产品 - 它们似乎支持您能想到的任何东西。
  • 所有 Ubuntu 服务器,宝贝!

还有一个坏消息:

  • 我现在知识比我少的人最终会接管管理,因此设置必须尽可能“琐碎”。
  • 到目前为止,我们的设置仅基于 Ubuntu 存储库中的软件,除了我们的 LDAP 管理 Web 应用程序和一些小的特殊脚本。因此,如果可以避免的话,就没有“获取包 X、解压缩、./configure”之类的东西。

更新 2009-08-18:

虽然我找到了几个有用的资源,但有一个严重的障碍:

Ignoring EAP-Type/tls because we do not have OpenSSL support.
Ignoring EAP-Type/ttls because we do not have OpenSSL support.
Ignoring EAP-Type/peap because we do not have OpenSSL support.
Run Code Online (Sandbox Code Playgroud)

基本上,FreeRADIUS 的 Ubuntu 版本不支持 SSL(错误 183840),这使得所有安全 EAP 类型都无用。无赖。 …

ubuntu openldap wpa radius

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

使用 TLS=required 配置 OpenLDAP

如今,OpenLDAP的需要与的ldapmodify CN =配置来配置,如描述在这里。但是我找不到您如何将其配置为接受 TLS 流量的方法。我刚刚确认我们的服务器接受未加密的流量(使用 ldapsearch 和 tcpdump)。

通常,我只会关闭带有 IP 表的非 SSL 端口,但显然不推荐使用 SSL 端口,所以我没有那个选项。

因此,使用 SSL 配置命令,如下所示:

dn: cn=config
changetype:modify
replace: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/bla.key
-
replace: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/bla.crt
-
replace: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/ca.pem
Run Code Online (Sandbox Code Playgroud)

是否有强制 TLS 的参数?

编辑:我尝试了 olcTLSCipherSuite,但它不起作用。调试输出:

TLS: could not set cipher list TLSv1+RSA:!NULL.
main: TLS init def ctx failed: -1
slapd destroy: freeing system resources.
slapd stopped.
connections_destroy: nothing to destroy.
Run Code Online (Sandbox Code Playgroud)

Edit2(几乎固定):我能够通过加载来修复它:

# cat force-ssl.tx 
dn: cn=config
changetype:  modify
add: olcSecurity
olcSecurity: …
Run Code Online (Sandbox Code Playgroud)

openldap ldap tls

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