编辑:将其重新格式化为问答。如果有人可以将其从Community Wiki更改为一个典型的问题,那也许也更合适。
如何针对Active Directory验证OpenBSD?
编辑:将其重新格式化为问答。如果有人可以将其从Community Wiki更改为一个典型的问题,那也许也更合适。
如何针对Active Directory验证OpenBSD?
Answers:
前言
在使用PAM的系统上,使用Kerberos对Active Directory进行身份验证非常简单,但是OpenBSD却不这样做,因此更加困难。从tcpdump看来,PAM系统似乎只是在进行预身份验证,而OpenBSD的bsd_auth系统正在使用整个Kerberos身份验证过程。
无论如何,这花了我一段时间,所以希望一些简洁的说明可以节省您的时间。
在开始之前,请注意以下几点:
使用说明
这些步骤假定您要尝试对域EXAMPLE.COM认证myuser@myhost.fqdn。域控制器是pdc.EXAMPLE.COM。
创建一个名为myhost的Active Directory用户帐户(这不是输入错误,这些说明不适用于计算机帐户)。禁用密码有效期,并且不要让用户更改自己的密码。将密码设置为任意密码-很快就会更改。
最好在新的OU下创建用户帐户,将其从“域用户”组中删除,然后将其添加到专用组中。这完全取决于您的口味和您的安全布局。
在pdc.EXAMPLE.COM上,下载并安装Windows Server支持工具(特别是,您需要ktpass.exe)
在pdc.EXAMPLE.COM上,运行:
ktpass -out c:\ temp \ myhost.keytab -princ host/myhost.fqdn@EXAMPLE.COM -mapuser myhost -pType KRB5
_
NT_PRINCIPAL + rndpass
这会将myhost用户的密码更新为随机密码(+ rndpass),将Kerberos主体“ host/myhost.fqdn@EXAMPLE.COM”映射到Active Directory中的用户“ myhost”,然后将主体和私钥信息转储到输出密钥表文件。
将c:\ temp \ myhost.keytab安全复制到myhost并从pdc.EXAMPLE.COM删除文件
在myhost上,将AD键表添加到主键表中:
ktutil复制/path/to/myhost.keytab /etc/kerberosV/krb5.keytab
配置/etc/krb5.conf。以下是您所需的最低要求。有很多可用的选项,请查看联机帮助页以获取更多详细信息。这只是将最大可接受的时钟偏差设置为5分钟,使EXAMPLE.COM成为默认领域,并告诉Kerberos如何在DNS和Kerberos领域之间进行转换。
[libdefaults]
clockskew = 300
default_realm = EXAMPLE.COM[领域]
EXAMPLE.COM = {
default_domain = EXAMPLE.COM
}[domain_realm]
.EXAMPLE.COM = EXAMPLE.COM
验证您可以获得票证:
# kinit Administrator@EXAMPLE.COM
Administrator@EXAMPLE.COM's Password:
# klist
Credentials cache: FILE:/tmp/krb5cc_0
Principal: Administrator@EXAMPLE.COM
Issued Expires Principal
Jun 4 21:41:05 Jun 5 07:40:28 krbtgt/EXAMPLE.COM@EXAMPLE.COM
修改/etc/login.conf以使用Kerberos身份验证。具体的login.conf配置会根据您使用系统的方式而有所不同,但是要从普通安装转到使用Kerberos,只需在默认登录类下编辑并注释以下行:
:tc=auth-defaults:\
并在其上面添加:
:auth=krb5-or-pwd:\
除非用户是root用户,否则它将首先检查Kerberos。如果Kerberos失败,它将使用本地密码。
添加您要在此主机上进行身份验证的用户。除非您希望密码能够同时使用Active Directory和本地密码(不推荐),否则将密码留为空白。
您可以空白现有用户的密码“ chpass <user>
”,并用星号(*)替换“加密的密码:”值
测试SSH和Sudo。两者都应与您的Active Directory凭据完美配合。
这里的所有都是它的。
链接
几个有用的网站:
login_krb5-or-pwd
到/usr/libexec/auth
-此外,配置文件和keytab也已存在,/etc/heimdal
并且与/etc/kerberosV
以前的OpenBSD版本不同。
此后,对以上说明进行了更新,因为其中一些内容已发生更改。
在OpenBSD 5.6中,由于担心代码质量并且没有人愿意花时间对其进行审核,因此决定从基本发行版中删除Heimdal。在5.7中,它作为软件包提供(对于5.6,您需要从源代码构建或弄清楚如何在源代码中重新启用它)。因此,在按照上述说明进行操作之前,需要完成以下附加步骤:
-3。从您最喜欢的镜像安装heimdal
和login_krb5
软件包。
-2。复制/usr/local/libexec/auth/login_krb5*
到/usr/libexec/auth
。
-1。如果打算大量使用heimdal工具,请添加/usr/local/heimdal/bin
到系统路径。否则,请确保在使用工具时以完整路径引用这些工具。
另外,krb5.conf
和krb5.keytab
文件/etc/heimdal
现在进入。