编辑:重新格式化为问答。 如果任何人都可以从Community Wiki中将其更改为一个典型的问题,那么这可能也更合适。
我如何才能通过Active DirectoryvalidationOpenBSD?
前言
在使用PAM的系统上使用Kerberos对Active Directory进行身份validation非常简单,但是OpenBSD不会使其变得更加困难。 从tcpdump看来,PAM系统只是在进行预authentication,而OpenBSD的bsd_auth系统正在使用整个Kerberosauthentication过程。
无论如何,这花了我一些时间来弄清楚,所以希望一些简明的指示将节省您的时间。
在我们开始之前,请注意几点:
说明
这些步骤假定您正在尝试通过域EXAMPLE.COM来[email protected]。 域控制器是pdc.EXAMPLE.COM。
创build一个名为myhost的Active Directory用户帐户(这不是错字,这些说明不能用于计算机帐户)。 禁用密码过期,不要让用户更改自己的密码。 将密码设置为任何你喜欢的 – 它会很快改变。
在新的OU下创buildUser帐户可能是一个好主意,将其从Domain Users组中删除并将其添加到专用组中。 这完全是品味和安全布局的问题。
在pdc.EXAMPLE.COM上,下载并安装Windows Server支持工具(具体来说,您将需要ktpass.exe)
在pdc.EXAMPLE.COM上,运行:
ktpass -out c:\ temp \ myhost.keytab -princ host / [email protected] -mapuser myhost -pType KRB5
_
NT_PRINCIPAL + rndpass
这将myhost用户的密码更新为随机(+ rndpass),将Kerberos主体“host/[email protected]”映射到Active Directory中的用户“myhost”,然后将主体和私钥信息转储到-out keytab文件。
将c:\ temp \ myhost.keytab安全地复制到myhost,并从pdc.EXAMPLE.COM中删除该文件
在myhost上,将AD密钥表添加到您的主密钥表中:
ktutil复制/path/to/myhost.keytab /etc/kerberosV/krb5.keytab
configuration/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 [email protected]
[email protected]'s Password:
# klist
Credentials cache: FILE:/tmp/krb5cc_0
Principal: [email protected]
Issued Expires Principal
Jun 4 21:41:05 Jun 5 07:40:28 krbtgt/[email protected]
修改/etc/login.conf以使用Kerberos身份validation。 您的确切login.confconfiguration将根据您如何使用您的系统而有所不同,但是从安装vanilla到使用Kerberos,只需在默认login类下编辑并注释以下行即可:
:tc=auth-defaults:\
并在上面添加:
:auth=krb5-or-pwd:\
这将首先检查Kerberos,除非用户是root用户。 如果Kerberos失败,它将使用本地密码。
在这台主机上添加你想authentication的用户。 除非您希望他们能够同时使用Active Directory和本地密码(不推荐),否则请将密码留空。
您可以删除现有用户的密码“chpass <user>
”,并用星号(*)replace“Encrypted password:”值
testingSSH和Sudo。 两者都应完美地与您的Active Directory凭据一起工作。
这就是它的全部。
链接
几个有用的网站:
http://technet.microsoft.com/en-us/library/bb742433.aspx
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.express.doc/info/exp/ae/tsec_kerb_create_spn.html
自那时以来,对上述指令的更新已经发生了一些变化。
在OpenBSD 5.6中,由于担心代码质量,没有人愿意花时间对Heimdal进行审计,所以决定将Heimdal从基本发行版中删除。 在5.7中,它是作为一个包提供的(对于5.6,你需要从源代码构build或弄清楚如何在源代码中重新启用它)。 因此,在遵循上述指示之前,需要完成以下附加步骤:
-3。 从您最喜欢的镜像安装heimdal
和login_krb5
软件包。
-2。 将/usr/local/libexec/auth/login_krb5*
到/usr/libexec/auth
。
-1。 如果您打算大量使用heimdal工具,请将/usr/local/heimdal/bin
到您的系统path中。 否则,在使用这些工具时,一定要参考这些工具的完整path。
此外,现在将krb5.conf
和krb5.keytab
文件放入/etc/heimdal
。