Apache 中的 Kerberos 用户身份验证

发布于 2024-07-04 08:30:04 字数 116 浏览 9 评论 0原文

任何人都可以推荐一些非常好的资源来了解如何使用 Kerberos 对 Apache 进行用户身份验证。

有关 Kerberos 的背景阅读也很有用,

谢谢

Peter

can anybody recommend some really good resources for how to get Apache authenticating users with Kerberos.

Background reading on Kerberos would also be useful

Thanks

Peter

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

迷途知返 2024-07-11 08:30:04

mod_auth_kerb 是一个好的开始:http://modauthkerb.sourceforge.net/。 如果您需要 Active Directory 支持,请查看此处:http://support.microsoft.com/?id= 555092

mod_auth_kerb is a good start: http://modauthkerb.sourceforge.net/. If you need Active Directory support, look here: http://support.microsoft.com/?id=555092.

得不到的就毁灭 2024-07-11 08:30:04

我发现 mod_auth_spnego 也很好,因为它可以在 Windows 上使用 SSPI,而不需要 MIT Kerberos。 mod_spnego

I found mod_auth_spnego also quite okay, as it can use SSPI on windows instead of requiring MIT Kerberos. mod_spnego

是你 2024-07-11 08:30:04

以下是使用 Active Directory 作为 KDC 的示例:
http://oslabs.mikro-net.com/krb_apache.html

Here's an example using Active Directory as the KDC:
http://oslabs.mikro-net.com/krb_apache.html

忘东忘西忘不掉你 2024-07-11 08:30:04

我喜欢这篇关于配置 apache 使用 Kerberos 的文章:

http://www.roguelynn .com/words/apache-kerberos-for-django/

(如果您不感兴趣,您可以跳过有关 django 的部分)

编辑:

完整答案

配置 apache 来使用非常容易Kerberos 身份验证。

我假设您已在计算机上正确配置了 Kerberos。

1) 您的网络服务器必须有密钥表 [1]。

最重要的是,您的网络服务器必须能够读取密钥表!

2) 你必须有适当的 httpd 模块进行身份验证 -- mod_auth_kerb:

LoadModule auth_kerb_module modules/mod_auth_kerb.so

3) 然后你必须告诉 apache 有关 Kerberos 的信息:

<Location /> 
    AuthName "Kerberos Authentication -- this will be showed to users via BasicAuth"
    AuthType Kerberos
    KrbMethodNegotiate On
    KrbMethodK5Passwd Off
    # this is the principal from your keytab (you may lose the FQDN part)
    KrbServiceName HTTP/$FQDN
    KrbAuthRealms KERBEROS_DOMAIN
    Krb5KeyTab /path/to/http.keytab
    Require valid-user

    Order Deny,Allow
    Deny from all
</Location>

然后 apache 将通过 REMOTE_USER 将用户传递给你的应用程序> HTTP 标头。

就是这样。

我还建议您在安装过程中打开 apache 中的调试日志记录。 确保您有正确的时间并且 httpd 可以读取 keytab,仅此而已。

[1] http://kb.iu.edu/data/aumh.html

[ 2]主要资源:http://www.roguelynn.com/words/apache -kerberos-for-django/

I liked this article about configuring apache to use Kerberos:

http://www.roguelynn.com/words/apache-kerberos-for-django/

(you may skip parts about django if you are not interested)

EDIT:

Fullblown answer

It is pretty easy to configure apache to use Kerberos authentication.

I am assuming you have correctly configured Kerberos on your machine.

1) Your webserver has to have keytab [1].

Bottom line, your webserver has to be able to read the keytab!

2) You have to have proper httpd module for authentication -- mod_auth_kerb:

LoadModule auth_kerb_module modules/mod_auth_kerb.so

3) Then you have to tell apache about Kerberos:

<Location /> 
    AuthName "Kerberos Authentication -- this will be showed to users via BasicAuth"
    AuthType Kerberos
    KrbMethodNegotiate On
    KrbMethodK5Passwd Off
    # this is the principal from your keytab (you may lose the FQDN part)
    KrbServiceName HTTP/$FQDN
    KrbAuthRealms KERBEROS_DOMAIN
    Krb5KeyTab /path/to/http.keytab
    Require valid-user

    Order Deny,Allow
    Deny from all
</Location>

Then apache will pass the user to your app via REMOTE_USER HTTP header.

And that's it.

I also advice you to turn on debugging logging in apache during setup. Be sure that you have correct time and httpd can read keytab, that's all.

[1] http://kb.iu.edu/data/aumh.html

[2] Main resource: http://www.roguelynn.com/words/apache-kerberos-for-django/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文