[玩转系统] 如何在 IPA 和 Active Directory 之间建立信任
作者:精品下载站 日期:2024-12-14 12:29:21 浏览:16 分类:玩电脑
如何在 IPA 和 Active Directory 之间建立信任
目录服务是指提供有关网络资源(例如用户、计算机、打印机、应用程序和其他网络设备)信息的集中数据库的软件应用程序或服务。目录服务有多种示例,包括 Microsoft Active Directory、Novell eDirectory、LDAP、Apple Open Directory、IBM Tivoli Directory Server、IPA 等
Active Directory(AD) 是一种目录服务,用于管理和存储有关网络环境中资源的信息。它是 Microsoft Windows 服务器操作系统的一个组件,组织使用它来集中管理用户、计算机和其他资源。它提供了一个层次结构来组织资源,例如用户、组、计算机和其他网络设备,并允许管理员根据用户的角色或组成员身份分配资源的权限和访问权限。
IPA(身份策略和审核)是一种目录服务,为 Unix 和 Linux 系统提供集中式身份验证、授权和访问控制。它是一个基于 FreeIPA 项目的开源解决方案,结合了多种开源技术,包括 389 Directory Server、MIT Kerberos 和 Dogtag 证书系统。除了提供目录服务之外,IPA 还包括其他功能,例如基于主机的访问控制的集中管理、策略实施和审核。
IPA和AD可以集成在一起工作。这涉及通过在两个目录服务之间建立关系来在 IPA 和 Active Directory 之间创建信任,从而允许它们共享用户和组信息,以及跨两个系统对用户进行身份验证。
此过程通常涉及配置两个目录服务之间的跨领域信任。跨领域信任是一种允许一个域或领域中的用户访问另一个域或领域中的资源的机制。在这种情况下,IPA 和 Active Directory 域将建立跨领域信任关系,这将允许两个域中的用户访问另一个域中的资源。
在 IPA(身份、策略和审核)和 Active Directory (AD) 之间建立信任的好处包括:
- 集中管理:建立信任后,可以集中管理IPA和AD域中的用户和资源,从而减少管理开销并简化访问管理。
- 无缝身份验证:信任使一个域中的用户无需输入单独的登录凭据即可访问另一域中的资源。这种无缝身份验证改善了用户体验,并且无需在每个域中维护单独的用户帐户。
- 提高安全性:IPA 和 AD 之间的信任可以通过允许集中管理访问策略和用户权限来提高安全性。这可确保仅向授权用户授予对资源的访问权限,并防止未经授权的访问。
- 灵活迁移:如果组织从 AD 迁移到 IPA,则可以建立信任以实现无缝过渡,最大限度地减少对用户的干扰并减少停机时间。
- 互操作性:IPA 和 AD 之间的信任允许两个域之间的服务和应用程序的互操作性,使用户能够无缝访问两个域上的服务和资源。
在 IPA 和 Active Directory 之间建立信任
总体而言,在IPA和AD之间建立信任可以提高效率、安全性和用户体验,并有助于跨多个域的资源和用户的管理。
对于此测试,我的环境设置如下:
国际音标:
IPA server IP address IPA server hostname IPA domain IPA NetBIOS IPA Kerberos realm 192.168.205.12 ipa.master.computingforgeeks.com master.computingforgeeks.com MASTER MASTER.COMPUTINGFORGEEKS.COM广告:
AD DC IP address AD DC hostname AD domain AD NetBIOS AD admins group SID 192.168.205.20 windows ad.computingforgeks.com GEEKS ad_admins_sid (e.g. S-1-5-21-16904141-148189700-2149043814-512)1.安装并配置IPA服务器
本指南建议使用 FreeIPA 3.3.3 或更高版本。在开始之前,请设置您的系统的主机名:
sudo hostnamectl set-hostname ipa.master.computingforgeeks.com
您还需要在 IPA 服务器上禁用 Samba 的 IPv6 堆栈。这可以通过创建/修改以下文件来完成:
$ sudo vim /etc/sysctl.d/ipv6.conf
# Disable IPv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.<interface0>.disable_ipv6 = 1
将接口替换为您的专用接口。这将使 IPv6 堆栈保持正常运行,但不会将 IPv6 地址分配给任何网络设备。
您可以使用以下命令在基于 Rhel 的系统上安装 IPA 服务器包:
sudo yum install -y "*ipa-server" "*ipa-server-trust-ad" ipa-server-dns bind bind-dyndb-ldap
安装 IPA 服务器时,请确保安装了 ipa-server-trust-ad 模块。
现在使用以下命令设置 IPA 服务器:
sudo ipa-server-install --domain master.computingforgeeks.com --realm MASTER.COMPUTINGFORGEEKS.COM \
--reverse-zone=205.168.192.in-addr.arpa. \
--no-forwarders \
--no-ntp \
--setup-dns \
--ds-password StrongDMPassw0rd \
--admin-password StrongDMPassw0rd \
--unattended
现在以管理员用户身份登录。首先,获取门票
kinit admin
使用以下命令确保管理员用户在您的系统上可用:
$ id admin
uid=1634400000(admin) gid=1634400000(admins) groups=1634400000(admins)
$ getent passwd admin
admin:*:1634400000:1634400000:Administrator:/home/admin:/bin/bash
您还可以按照以下指南了解设置 IPA 的详细演示。
- 在 Rocky Linux 9/AlmaLinux 9 上安装 FreeIPA 服务器
- 在 Rocky Linux 8 上安装和配置 FreeIPA 服务器
- 如何在 CentOS 7/RHEL 7 上安装 FreeIPA 服务器
- 在 Ubuntu 上安装和配置 FreeIPA 服务器
2.安装和配置AD DS
您需要 Windows Server 2008 R2 或更高版本,并且配置了 Active Directory DC 并在 DC 上本地安装了 DNS。这可以使用以下指南来实现:
- 在 Windows Server 2022 中安装 Active Directory 域服务
- 在 Windows Server 2019 中安装 Active Directory 域服务
3. 准备跨林信任的AD和IPA
当规划通过IPA客户端访问AD用户时,需要配置跨林信任的IPA服务器。但在此之前,您需要确保:
- 日期/时间同步
您需要让 IPA 和 AD 具有时区设置和日期/时间匹配。
在 IPA 上,使用以下命令设置您的时区:
sudo timedatectl set-timezone Africa/Nairobi
示例输出:
同样在 AD 上,确保已配置类似的时区。
- 防火墙配置
如果您允许以下端口通过防火墙将会有所帮助:
##TCP ports:
80, 88, 443, 389, 636, 464, 53, 135, 138, 139, 445, 1024-1300
##UDP ports:
88, 464, 53, 123, 138, 139, 389, 445
可以使用以下命令允许所有这些端口:
sudo firewall-cmd --add-service={dns,http,https,ntp,freeipa-ldap,freeipa-ldaps,freeipa-trust} --permanent
sudo firewall-cmd --reload
- DNS配置
您还需要在 AD 和 IPA 之间建立通信。现在将 FreeIPA 域添加到 Windows Active Directory Server 上的区域。该命令的语法如下:
在 AD 上,在 CMD 上运行以下命令:
C:\> dnscmd 127.0.0.1 /ResetForwarders ipa_ip_address /Slave
C:\> dnscmd 127.0.0.1 /ZoneAdd ipa_domain /Secondary ipa_ip_address
例如:
dnscmd 127.0.0.1 /ResetForwarders 192.168.205.12 /Slave
dnscmd 127.0.0.1 /ZoneAdd master.computingforgeeks.com /Secondary 192.168.205.12
示例输出:
在 IPA 上,使用具有以下语法的命令:
#IPA v3.x:
ipa dnszone-add ad_domain --name-server=ad_hostname.ad_domain --admin-email='hostmaster@ad_domain' --force --forwarder=ad_ip_address --forward-policy=only --ip-address=ad_ip_address
ipa dnszone-mod [IPA domain name] --allow-transfer=[AD IP address]
##IPA v4.x:
ipa dnsforwardzone-add ad_domain --forwarder=ad_ip_address --forward-policy=only
ipa dnszone-mod [IPA domain name] --allow-transfer=[AD IP address]
例如:
sudo ipa dnsforwardzone-add ad.computingforgeeks.com --forwarder=192.168.205.20 --forward-policy=only
ipa dnszone-mod master.computingforgeeks.com --allow-transfer=192.168.205.20
示例输出:
要验证更改是否有效,请使用以下命令:
在广告上:
C:\> nslookup
> set type=srv
> _ldap._tcp.ad_domain
> _ldap._tcp.ipa_domain
> quit
示例输出:
国际音标:
dig SRV _ldap._tcp.ipa_domain
dig SRV _ldap._tcp.ad_domain
示例输出 1:
示例输出 2:
如果您无法收到 IPA 服务器的任何答复,您需要编辑 /etc/resolve.conf 文件并添加 AD IP,如下所示:
$ sudo vim /etc/resolv.conf
# Generated by NetworkManager
search master.computingforgeeks.com
nameserver 192.168.205.20
要使更改永久生效,请修改该文件:
$ sudo vim /etc/NetworkManager/NetworkManager.conf
[main]
#plugins=keyfile,ifcfg-rh
dns=none
rc-manager=unmanaged
保存文件并再次测试。
4. 建立并验证跨林信任
如果您想要将 AD 用户访问 IPA 客户端,您需要确保已在 IPA 客户端将要访问的 IPA 主设备上运行 ipa-adtrust-install 命令连接:
$ sudo ipa-adtrust-install --netbios-name=MASTER -a StrongDMPassw0rd
The log file for this installation can be found in /var/log/ipaserver-adtrust-install.log
==============================================================================
This program will setup components needed to establish trust to AD domains for
the IPA Server.
This includes:
* Configure Samba
* Add trust related objects to IPA LDAP server
To accept the default shown in brackets, press the Enter key.
WARNING: The smb.conf already exists. Running ipa-adtrust-install will break your existing samba configuration.
Do you wish to continue? [no]: yes
Do you want to enable support for trusted domains in Schema Compatibility plugin?
This will allow clients older than SSSD 1.9 and non-Linux clients to work with trusted users.
Enable trusted domains support in slapi-nis? [no]: yes
.......
在本指南中,我们将在 AD 和 IPA 服务器之间建立双向跨林信任。
有两种方法可以实现此目的:
- 使用AD管理员凭据:
ipa trust-add --two-way=true --type=ad ad_domain --admin Administrator --password
例如:
ipa trust-add --two-way=true --type=ad ad.computingforgeeks.com --admin Administrator --password
示例输出:
在命令中;
ipa trust-add 命令中的 -admin 选项必须是 Domain Admins 组的成员。
此时,IPA将在IPA侧创建双向森林信任。对于单向信任,需要省略 -two-way=true 选项。这将在 IPA 端创建单向森林信任,并从 AD 端启动信任验证。
- AD 管理员凭据不可用:
当您没有 AD 管理员凭据时,可以使用以下命令:
ipa trust-add --two-way=true --type=ad "ad_domain" --trust-secret
在这里,您需要在出现提示时输入信任共享密钥。这将在 IPA 方面创建双向森林信任。您需要在AD端手动验证信任。
5. 在 IPA 上配置 Kerberos
大多数应用程序要求 Kerberos 库验证 Kerberos 主体是否可以映射到某些 POSIX 帐户。此外,某些应用程序通过向操作系统请求 Kerberos 库返回的 POSIX 帐户的规范名称来执行其他检查。 OpenSSH 尝试比较未更改的主体名称,但 SSSD 将领域部分小写,因此当尝试通过 SSH 使用 Kerberos 票证登录时,实际用户名是 Administrator@realm,而不是 Administrator@realm。
因此,我们需要定义将 Kerberos 主体映射到系统用户名的规则。我们需要手动编辑 IPA 服务器上的 /etc/krb5.conf 以允许 Kerberos 身份验证。
为此,请将以下两行添加到将看到 AD 用户的任何计算机。
$ sudo vim /etc/krb5.conf
[realms]
IPA_DOMAIN = {
....
auth_to_local = RULE:[1:$1@$0](^.*@AD_DOMAIN$)s/@AD_DOMAIN/@ad_domain/
auth_to_local = DEFAULT
}
现在重新启动 KDC 和 SSSD 服务:
service krb5kdc restart
service sssd restart
6.允许AD域用户访问受保护的资源
现在,为了使用户能够访问受信任的资源,需要将它们映射到 IPA 组。这可以通过两种方式完成:
- 将受信任域中的用户和组添加到 IPA 中的外部组。外部组充当容器,通过安全标识符引用受信任的域用户和组。
- 将外部组映射到 IPA 中的现有 POSIX 组。该 POSIX 组将被分配一个正确的组 ID (gid),该组将用作映射到该组的所有传入受信任域用户的默认组
为受信任的域用户创建外部 POSIX 组
ipa group-add --desc='AD users external map' ad_users_external --external
为外部 ad_admins_external 群组创建 POSIX 群组:
ipa group-add --desc='AD users' ad_users
现在将 AD 用户添加到 POSIX 组
ipa group-add-member ad_users_external --external "ad.computingforgeeks.com\Domain_User"
例如:
将外部 IdM 组作为成员添加到 POSIX IdM 组。
ipa group-add-member ad_users --groups ad_users_external
现在用户应该可以在 IPA 控制台上使用,如下所示:
7. 测试跨林信任
现在我们可以通过使用 AD 中的任何用户连接到 IPA 客户端来测试跨林信任。对于此测试,我们在 AD 服务器上有一个用户 [email 。我们可以使用这个用户登录任何连接到IPA的服务器。
验证用户是否存在:
测试是否可以使用该用户登录:
判决
这标志着本关于如何在 IPA 和 Active Directory 之间建立信任的指南的结束。这种集成肯定会让您更轻松地管理整个组织的用户和资源。我希望这对您来说很重要。
相关指南:
- 将 Windows 系统加入 FreeIPA 领域,无需 Active Directory
- Kubernetes Kubectl CLI 的 Active Directory 身份验证
- 将 TrueNAS 与 LDAP/Active Directory 集成以进行用户身份验证
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[短剧] 2025年05月31日 精选+付费短剧推荐58部
[软件合集] 25年5月31日 精选软件66个
[电影] 黄沙漫天(2025) 4K.EDRMAX.杜比全景声 / 4K杜比视界/杜比全景声
[风口福利] 短视频红利新风口!炬焰创作者平台重磅激励来袭
[韩剧] 宝物岛/宝藏岛/金银岛(2025)【全16集】【朴炯植/悬疑】
[电影] 愤怒的牦牛 (2025) 国语中字 4k
[短剧合集] 2025年05月30日 精选+付费短剧推荐56部
[软件合集] 25年5月30日 精选软件26个
[软件合集] 25年5月29日 精选软件18个
[短剧合集] 2025年05月28日 精选+付费短剧推荐38部
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[美图] 2W美女个美女小姐姐,饱眼福
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag