Apache – 用KerberosreplaceApache :: AuthenNTLM(mod_auth_kerb)

在Solaris上的Intranet系统中,我们目前使用perls Apache2 :: AuthenNTLM模块来与Win 2k3 doman服务器进行身份validation,因此我们可以访问浏览该站点的用户的用户ID。

转移到赢得2012 AD服务器,我们被告知这不会支持NTLM,微软现在不build议这么做。 是mod- auth-为这个软件的用例遏制一个合适的替代品吗?

我search谷歌,找不到相关的文章或教程显示mod-auth-curb被用于这种方式。 我很难入门,并可以在正确的方向使用一个点。

谢谢

您需要让您的Active Directorypipe理员创build一个服务帐户,该帐户包含您的Intranet服务器的Kerberos服务原则。 SPN或SPN应该看起来像<service>/<hostname>并且包含用户访问您的Intranet网站时使用的所有主机名和/或DNS别名,例如:

 http/solarishost.int.example.com http/solarishost http/intranet.example.com 

您的Active Directorypipe理员可以将SPN提取到keytab文件,您需要将其复制到Solaris主机并在Apache中进行configuration。 注意:http /主机名SPN也用于HTTPS。

在Solaris上,您将需要MIT Kerberos 5工具和库,下载并安装Apache模块,然后对其进行configuration。

通常情况下,您将编辑全局Kerberosconfiguration文件/etc/krb5/krb5.conf以设置mod-auth-curb也将使用的默认值,重要的一般只有REALM的名称,通常是Windows AD域名DNS域和KDC服务器 – 通常是您的ADpipe理员告诉您使用的域控制器。

Apacheconfiguration看起来像这样:

 <Location /intranet> AuthType Kerberos AuthName "intranet" KrbMethodNegotiate on KrbAuthoritative on KrbVerifyKDC on KrbAuthRealm YOUR_ACTIVEDIRECTORY_DOMAIN Krb5Keytab /etc/httpd/intranet.keytab KrbSaveCredentials off Require valid-user </Location> 

对Kerberos和Microsoft AD有一些了解可以帮助,因为对于不熟悉的开发者来说,debugging起来可能会非常棘手。 哦,并与Kerberos确保你的时钟是同步的。