标签: mod-auth-kerb

尽管没有“需要有效用户”,如何告诉 mod_auth_kerb 完成它的工作

我在 Apache 上使用mod_auth_kerb实现了 SSO 身份验证。我的配置是这样的:

<Location /login/ >
    AuthType Kerberos
    AuthName "Kerberos Login"
    KrbMethodNegotiate on
    KrbAuthoritative on
    KrbVerifyKDC on
    KrbAuthRealm D.ETHZ.CH
    Krb5Keytab /etc/HTTP.keytab
    KrbSaveCredentials on
    RequestHeader set KERBEROS_USER %{REMOTE_USER}s
</Location>
Run Code Online (Sandbox Code Playgroud)

我的问题是,没有require valid-user, mod_auth_kerb 甚至不会尝试对用户进行身份验证并KERBEROS_USER最终成为(null). 如果我添加require valid-user,如果浏览器支持,用户会自动进行身份验证,但如果浏览器不支持 Kerberos Negotiate,则会显示一个丑陋的模式登录表单(ala HTTP Basic Auth)。

我想要实现的是,如果用户访问/login/,mod_auth_kerb 会尝试通过 Kerberos Negotiate 对用户进行身份验证。如果失败,将向用户显示一个普通的 HTML 登录表单。

是否可以以这种方式配置 Apache/mod_auth_kerb?

kerberos mod-auth-kerb apache-2.2

11
推荐指数
1
解决办法
5856
查看次数

Kerberos SSO 的 Apache 错误请求“请求标头字段的大小超出服务器限制”

我正在通过运行在 Apache(SLES 11.1 上的 Apache2)上的网站为 Active Directory 用户设置 SSO,并且在使用 Firefox 进行测试时,一切正常。但是当我尝试在 Internet Explorer 8 (Windows 7) 中打开网站时,我得到的只是

“错误的请求

您的浏览器发送了此服务器无法理解的请求。

请求头字段的大小超过服务器限制。

授权:协商【超长字符串】”

我的 vhost.cfg 看起来像这样:

<VirtualHost hostname:443>
  LimitRequestFieldSize 32760
  LimitRequestLine 32760
  LogLevel debug

  <Directory "/data/pwtool/sec-data/adbauth">
    AuthName "Please login with your AD-credentials (Windows Account)"
    AuthType Kerberos
    KrbMethodNegotiate on
    KrbAuthRealms REALM.TLD
    KrbServiceName HTTP/hostname
    Krb5Keytab /data/pwtool/conf/http_hostname.krb5.keytab
    KrbMethodK5Passwd on
    KrbLocalUserMapping on
    Order allow,deny
    Allow from all
  </Directory>

  <Directory "/data/pwtool/sec-data/adbauth">
    Require valid-user
  </Directory>

    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    SSLCertificateFile /etc/apache2/ssl.crt/hostname-server.crt
    SSLCertificateKeyFile /etc/apache2/ssl.key/hostname-server.key
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我还确保删除了 cookie,并为 LimitRequestFieldSize 和 …

single-sign-on mod-auth-kerb bad-request apache-2.2

10
推荐指数
1
解决办法
4万
查看次数

Apache2、Kerberos:gss_accept_sec_context() 失败:请求了不受支持的机制

我想通过 mod_auth_kerb 在 Linux 上使用 Kerberos 和 Apache 2。

我将 .htaccess 添加到我的项目中,如下所示:

#SSLRequireSSL
AuthType Kerberos
AuthName "Kerberos Login"
KrbMethodNegotiate On
KrbMethodK5Passwd Off
KrbAuthRealms DOMAIN.COM
Krb5KeyTab /etc/httpd/httpd.keytab
KrbLocalUserMapping On
require valid-user
Run Code Online (Sandbox Code Playgroud)

当我尝试在 IE 或 Firefox 上测试单点登录时,我在 apache 日志中收到以下错误:

[Thu Jan 19 21:03:27 2012] [error] [client 10.65.0.1] gss_accept_sec_context() failed: An unsupported mechanism was requested (, Unknown error)
Run Code Online (Sandbox Code Playgroud)

我不知道它是什么以及我应该做什么才能让它发挥作用。

我的目标是让 REMOTE_USER 由 AD 用户名填充。但现在由于这个错误我无能为力......

kerberos single-sign-on mod-auth-kerb apache-2.2

4
推荐指数
1
解决办法
4万
查看次数

Apache2 + mod_auth_kerb:密钥表中主体的密钥版本号不正确

我已经配置了 apache2 和 mod_auth_kerb。我以这种方式设置了我的 .htaccess

# cat .htaccess
AuthType Kerberos
AuthName "Domain login"
KrbAuthRealms DOMAIN.COM
KrbMethodK5Passwd on
Krb5KeyTab /etc/httpd/httpd.keytab
require valid-user
Run Code Online (Sandbox Code Playgroud)

当我在 IE 中打开页面时,我在 apache 日志中收到以下错误:

gss_accept_sec_context() failed: Miscellaneous failure (, Key version number for principal in key table is incorrect)
Run Code Online (Sandbox Code Playgroud)

然后我可以通过基本身份验证设置密码和登录,这完全没问题。但是我无法通过票证进行身份验证。

# klist -k /etc/httpd/httpd.keytab
Keytab name: FILE:/etc/httpd/httpd.keytab
KVNO Principal
---- --------------------------------------------------------------------------
   6 host/portal.domain.com@DOMAIN.COM
   6 host/portal.domain.com@DOMAIN.COM
   6 host/portal.domain.com@DOMAIN.COM
   6 host/portal@DOMAIN.COM
   6 host/portal@DOMAIN.COM
   6 host/portal@DOMAIN.COM
   6 PORTAL$@DOMAIN.COM
   6 PORTAL$@DOMAIN.COM
   6 PORTAL$@DOMAIN.COM
   6 HTTP/portal.domain.com@DOMAIN.COM
   6 HTTP/portal.domain.com@DOMAIN.COM
   6 HTTP/portal.domain.com@DOMAIN.COM
   6 HTTP/portal@DOMAIN.COM
   6 …
Run Code Online (Sandbox Code Playgroud)

active-directory single-sign-on mod-auth-kerb apache-2.2

3
推荐指数
1
解决办法
7042
查看次数