【问题标题】:Configure Kerberos SSO on Moodle: KRB5KDC_ERR_PREAUTH_REQUIRED在 Moodle 上配置 Kerberos SSO:KRB5KDC_ERR_PREAUTH_REQUIRED
【发布时间】:2014-07-16 06:22:04
【问题描述】:

我正在尝试在 Moodle 中设置 kerberos SSO,但收到错误代码:KRB5KDC_ERR_PREAUTH_REQUIRED (25):

1) 我在 Apache 上配置了 kerberos: 安装了 kerberos,通过 /etc/krb5.cnf 进行配置,并通过 kinit 命令测试获得正确的 kerberos 票证。作品

2) 我在 Apache 中创建了一个虚拟主机,其中包含一个用于测试的 kerberos 身份验证文件夹: 创建一个 keytab 文件,通过 kerberos 测试身份验证在测试虚拟站点中工作。我获得了 LDAP REMOTE_USER 信息并通过了身份验证,还生成了 kerberos 流量(使用 wireshark 获取 kerberos 流量)。作品

3) 将虚拟主机配置为使用 kerberos 对 moodle 进行身份验证: 如 moodle 文档中所示。

Moodle Kerberos SSO documentation

4) 配置moodle 的LDAP 身份验证插件: 使用LDAP 用户登录可以正常工作。作品

5) 在moodle 的ldap 插件中配置NTLM 选项: 我已经测试过,它确实会生成kerberos 身份验证网络流量(使用wireshark 获取kerberos)。但我得到了一个 KRB5KDC_ERR_PREAUTH_REQUIRED (25)

Moodle LDAP 配置(NTLM 部分):

Enable = yes
Subnetwork = 192.168.0.0/16
Authentication type = kerberos
Username format = (none)

我的两个站点(测试文件夹和moodle文件夹)的虚拟主机配置是:

<VirtualHost *:80>
        # General
        ServerAdmin myemail@domain.com
        DocumentRoot /home/moodle/moodle
        ServerName mymoodle.es  
        LogLevel debug
        ErrorLog logs/testing-error.log
        CustomLog logs/testing.log combined

        <Location /krb_testing>
          ## Redes para las que se ofrece SSO
          AuthType Kerberos
          AuthName "Kerberos Login"

          KrbMethodNegotiate On
          KrbMethodK5Passwd Off
          KrbServiceName HTTP/mymoodle.es@MYREALM.DOMAIN.ES
          KrbAuthRealms MYREALM.DOMAIN.ES  
          Krb5KeyTab      /etc/krb5.keytab

          ## Sin require valid-user no se produce la negociacion
          require valid-user
        </Location>

        <Directory /home/moodle/moodle/auth/ldap/>
        <Files ntlmsso_magic.php>
            AuthName "Moodle"
            AuthType Kerberos
            KrbAuthRealms MYREALM.DOMAIN.ES
            KrbServiceName HTTP/mymoodle.es@MYREALM.DOMAIN.ES
            Krb5KeyTab      /etc/krb5.keytab
            KrbMethodNegotiate on
            KrbMethodK5Passwd on
            KrbAuthoritative on
            require valid-user
        </Files>
        </Directory>           
</VirtualHost>

Apache 版本: Apache/2.2.15 (CentOS)

Moodle 版本: 2.4.7

【问题讨论】:

  • 你想要什么? LDAP 绑定、NTLM 还是 Kerberos?
  • 将您的整个问题更改为相关的 Kerberos 部分。
  • 更改了 kerberos 的 ntlm 术语,尽管 moodle 中的配置是在 LDAP 的 NTLM 部分下进行的
  • NTLM SSO 与 Kerberos SSO 无关。您应该向 Moodle 询问以澄清这一点。所以 Moodle 坏了。
  • 这意味着客户必须将他的密码提供给kinit

标签: apache authentication single-sign-on kerberos moodle


【解决方案1】:

今天我在配置 SSO (Kerberos) 时遇到了类似的情况。我在设置时解决了这个问题 - KrbServiceName HTTP

您应该将 KrbServiceName HTTP/mymoodle.es@MYREALM.DOMAIN.ES 替换为 KrbServiceName HTTP,然后 SSO 才能正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-26
    • 2021-03-02
    • 2019-07-14
    • 2017-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多