Apache 在Moodle上配置Kerberos SSO:需要KRB5KDC_ERR_PREAUTH_
我试图在Moodle中设置kerberos SSO,但我得到一个错误代码:KRB5KDC_ERR_PREAUTH_REQUIRED(25): 1)我已经在Apache上配置了kerberos:安装了kerberos,通过/etc/krb5.cnf进行了配置,并通过kinit命令进行了测试,以获得正确的kerberos票证。工作 2)我在Apache中创建了一个虚拟主机,其中包含一个用于测试的kerberos身份验证文件夹:创建一个密钥表文件,通过kerberos进行的已测试身份验证在测试虚拟站点中工作。我获取LDAP远程用户信息并通过身份验证,同时生成kerberos通信(使用wireshark获取kerberos通信)。工作 3)将虚拟主机配置为使用kerberos对moodle进行身份验证:,如moodle文档所示 4)配置了moodle的LDAP身份验证插件:使用LDAP用户登录可以正常工作。工作 5)在moodle的ldap插件中配置了NTLM选项:我已经测试过,它确实会生成kerberos身份验证网络流量(使用wireshark获取kerberos)。但是我得到了一个KRB5KDC\u ERR\u PREAUTH\u REQUIRED(25) Moodle LDAP配置(NTLM部分): 我的两个站点(测试文件夹和moodle文件夹)的虚拟主机配置为:Apache 在Moodle上配置Kerberos SSO:需要KRB5KDC_ERR_PREAUTH_,apache,authentication,single-sign-on,kerberos,moodle,Apache,Authentication,Single Sign On,Kerberos,Moodle,我试图在Moodle中设置kerberos SSO,但我得到一个错误代码:KRB5KDC_ERR_PREAUTH_REQUIRED(25): 1)我已经在Apache上配置了kerberos:安装了kerberos,通过/etc/krb5.cnf进行了配置,并通过kinit命令进行了测试,以获得正确的kerberos票证。工作 2)我在Apache中创建了一个虚拟主机,其中包含一个用于测试的kerberos身份验证文件夹:创建一个密钥表文件,通过kerberos进行的已测试身份验证在测试虚拟站点
#一般的
服务器管理员myemail@domain.com
DocumentRoot/home/moodle/moodle
服务器名mymoodle.es
日志级调试
ErrorLog日志/testing-error.log
CustomLog日志/testing.log组合
##雷德斯帕拉斯奎尔酒店
身份验证类型Kerberos
AuthName“Kerberos登录”
KrbMethodNegotiate On
KrbMethodK5Passwd关闭
KrbServiceName HTTP/mymoodle。es@MYREALM.DOMAIN.ES
KrbAuthRealms MYREALM.DOMAIN.ES
Krb5KeyTab/etc/krb5.keytab
##Sin需要有效的用户无se生成协商
需要有效用户
AuthName“Moodle”
身份验证类型Kerberos
KrbAuthRealms MYREALM.DOMAIN.ES
KrbServiceName HTTP/mymoodle。es@MYREALM.DOMAIN.ES
Krb5KeyTab/etc/krb5.keytab
KrbMethodNegotiate on
KrbMethodK5Passwd打开
Krbautoritative on
需要有效用户
Apache版本:Apache/2.2.15(CentOS)
Moodle版本:2.4.7今天我在配置SSO(Kerberos)时遇到了类似的情况。我在设置-KrbServiceName HTTP时解决了这个问题
您应该替换KrbServiceName HTTP/mymoodle。es@MYREALM.DOMAIN.ES通过KrbServiceName HTTP和SSO可以正常工作。您想要什么?LDAP绑定、NTLM或Kerberos?将整个问题更改为相关的Kerberos部分。更改了Kerberos的NTLM术语,尽管moodle中的配置是在LDAP的NTLM部分下进行的NTLM SSO与Kerberos SSO无关。你应该向穆德尔询问以澄清这一点。所以Moodle坏了。这意味着客户端必须向kinit提供密码。
Enable = yes
Subnetwork = 192.168.0.0/16
Authentication type = kerberos
Username format = (none)
<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>