Skip to main content

ad2openldap 是一个轻量级的 Active Directory 到 Openldap 复制器,有助于替换 IAM 解决方案,例如 Centrify

项目描述

为什么选择 ad2openldap ?

ad2openldap 是一个轻量级的复制器,用于将 Microsoft Active Directory 中的用户、组和网络组信息复制到 OpenLDAP 服务器中,用作 Unix IDMAP 解决方案。最初的版本是 Fred Hutch 于 2010 年开发的,目的是克服与 Active Directory 的缓慢且不可靠的 Linux LDAP 连接所带来的挫败感,并将表现不佳的 HPC 脚本(“叉子炸弹”)与关键的 AD 基础设施隔离开来。

2018 年及以后的 ad2openldap

2017 年,我们观察到较新的解决方案在复杂性(SSSD、Centrify)方面有所增加,但在性能和可靠性(SSSD)方面无法与 ad2openldap 匹敌。随着我们将更多服务迁移到云,我们将继续受益于提供低延迟 ldap 服务的 LDAP 缓存/副本,并且 ad2openldap 仍然是本地以及 AWS 和 Google 云中超过 2000 个服务器/计算节点上的关键基础设施。我们决定将该工具移植到 Python3,通过 pip3 添加一个简单的安装程序并在较新的操作系统上对其进行测试。我们希望它对其他人和我们一样有用。

安装

Ubuntu

在 Ubuntu 上,系统将提示您输入新的 LDAP 管理员密码。请记住这个密码。

sudo apt install -y python3-pip slapd
sudo pip3 install ad2openldap

RHEL/CentOS 6(2018 年未经测试)

sudo yum -y install epel-release
sudo yum -y install python34 python34-setuptools python34-devel gcc slapd
sudo easy_install-3.4 pip
sudo pip3 install ad2openldap

RHEL/CentOS 7(2018 年未经测试)

sudo yum -y install python??
sudo pip3 install ad2openldap

配置

/etc/ad2openldap/ad2openldap.conf 需要以下最低设置:

# openldap adimistrator password (you set this during installation)
bind_dn_password: ChangeThisLocalAdminPassword12345
# AD service account (userPrincipalName aka UPN)
ad_account: ldap@example.com
# password for AD service account
ad_account_password: ChangeThisPassword
# AD LDAP URL of one of your domain controllers
ad_url: ldap://dc.example.com
# The base DN to use from Active Directory, under which objects are  retrieved.
ad_base_dn: dc=example,dc=com

执行设置脚本并在提示时输入项目

ad2openlap3 setup

然后在运行 ca 的文件 /etc/cron.d/ad2openldap 中创建一个 cronjob。每 15 分钟

SHELL=/bin/bash
MAILTO=alertemail@institute.org
*/15 * * * *   root /usr/local/bin/ad2openldap3 deltasync
   --dont-blame-ad2openldap -v >>/var/log/ad2openldap/ad2openldap.log 2>&1 ;
   /usr/local/bin/ad2openldap3 healthcheck -N username

强烈建议将 slapd 的默认打开文件限制至少提高到 8192

echo “ulimit -n 8192” >> /etc/default/slapd (or /etc/defaults/slapd depending on distribution)

故障排除

使用 –verbose 标志记录到 STDOUT/STDERR。

AD 转储和差异默认位于 /tmp 中:

ad_export.ldif - current dump
ad_export.ldif.0 - last dump
ad_export_delta.diff - computed differences between these files

可能的故障模式有:

LDAP 服务器故障 - 需要重新启动,如果损坏或不完整,可能会强制完全更新

防火墙块仍然未正确激活 - 查看更新脚本以了解删除语法(鉴于当前进程,此故障不太可能发生)

不良或冲突的 AD 实体 - 强制完整更新应该可以解决此问题

如果无法使用命令行参数“–fullsync”进行增量更新或绕过增量更新,则会发生完整更新。

完整更新:

  • 从 AD 转储组、用户和 NIS 组实体

  • 通过防火墙锁定对 LDAP 服务器的远程访问

  • 关闭 LDAP 服务器

  • 使用 LDIF 模板写入一个新的空白数据库

  • 直接将 AD 转储导入数据库

  • 重新启动 LDAP 服务器

  • 删除 LDAP 服务器上的防火墙块

下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

ad2openldap-1.0.2.tar.gz (34.0 kB 查看哈希

已上传 source