我在centos vm中有一个ldap服务器+ kerberos设置(使用boot2docker vm运行),并且我试图将它们用于我的Web应用程序身份验证(从主机-我的macbook)。
对于身份验证,我需要使用“ GSSAPI”机制,而不是简单的绑定。'简单绑定'可以正常工作,但是基于“ GSSAPI”的方法不能正常工作。
每当我尝试使用“ ldapwhoami”命令时,都会出现以下错误(我在运行ldapwhoami之前运行“ kinit”以确保我拥有有效的kerberos TGT)
ldap_sasl_interactive_bind_s: Local error (-2)
additional info: SASL(-1): generic failure: GSSAPI Error: Miscellaneous failure (see text (unable to reach any KDC in realm DEV.EXAMPLE.COM, tried 1 KDC)
Run Code Online (Sandbox Code Playgroud)
请注意,LDAP服务器和kerberos服务器端运行正常,这意味着我在centos VM中使用了“ ldapsearch”,“ ldapwhoami”之类的东西对其进行了测试,其中我安装了ldap服务器+ kerberos,它的工作正常。我能够看到适合他们的输出。
仅当我从笔记本电脑(客户端)尝试相同的命令时,我才会收到错误(以上错误)。
注意:甚至我也从笔记本电脑创建了主机主体(host/mymacbook.dev@DEV.EXAMPLE.COM),并使用'kadmin'将其添加到本地krb5.keytab文件中。
以下是我的客户端配置:
客户端(macbook)中的/etc/krb5.conf文件:
[libdefaults]
default_realm = DEV.EXAMPLE.COM
ticket_lifetime = 24000
dns_lookup_realm = false
dns_lookup_kdc = false
[realms]
DEV.EXAMPLE.COM = {
kdc = d4dc7089282c
admin_server = krb.example.com
}
[domain_realm]
.dev.example.com = DEV.EXAMPLE.COM
dev.example.com = DEV.EXAMPLE.COM
.example.com = DEV.EXAMPLE.COM …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用spring-security-kerberos扩展来实现与kerberos的SSO.
我创建了一个keytab文件,在尝试访问我的webapp时出现以下错误:
GSSException: Failure unspecified at GSS-API level (Mechanism level: Checksum failed)
Run Code Online (Sandbox Code Playgroud)
我试着根据这篇文章测试我的keytab .
keytab是使用以下命令创建的:
ktpass /out http-web.keytab /mapuser testing@MYDOMAIN.COM /princ HTTP/testing@MYDOMAIN.COM /pass myPass /ptype KRB5_NT_PRINCIPAL -crypto RC4-HMAC-NT /kvno 0
Run Code Online (Sandbox Code Playgroud)
我的krb5.conf如下
[libdefaults]
default_realm = MYDOMAIN.COM
permitted_enctypes = aes256-cts arcfour-hmac-md5 aes128-cts rc4-hmac des3-cbc-sha1 des-cbc-md5 des-cbc-crc
default_tgs_enctypes = aes256-cts arcfour-hmac-md5 aes128-cts rc4-hmac des3-cbc-sha1 des-cbc-md5 des-cbc-crc
default_tkt_enctypes = aes256-cts arcfour-hmac-md5 aes128-cts rc4-hmac des3-cbc-sha1 des-cbc-md5 des-cbc-crc
kdc_timesync = 1
ccache_type = 4
forwardable = true
proxiable = true
[realms]
MYDOMAIN.COM = { …Run Code Online (Sandbox Code Playgroud) 我已经在 AWS 上成功构建了一个 Active Director。我可以从位于同一 VPC 中的 Centos7 EC2 实例 ping 目录。现在,我尝试加入该领域,但收到以下错误:
[ec2-user@ip-172-22-2-182 ~]$ sudo realm join -U admin@corp.xxx.com corp.xxx.com --verbose
* Resolving: _ldap._tcp.corp.xxx.com
* Resolving: corp.xxx.com
* Performing LDAP DSE lookup on: 172.22.2.34
* Successfully discovered: corp.xxx.com
Password for admin@corp.xxx.com:
* Required files: /usr/sbin/oddjobd, /usr/libexec/oddjob/mkhomedir, /usr/sbin/sssd, /usr/sbin/adcli
* LANG=C /usr/sbin/adcli join --verbose --domain xxx.com --domain-realm CORP.xxx.COM --domain-controller 172.22.2.34 --login-type user --login-user admin@xxx.com --stdin-password
* Using domain name: corp.xxx.com
* Calculated computer account name from fqdn: IP-172-22-2-182
* Using domain …Run Code Online (Sandbox Code Playgroud) kerberos active-directory amazon-ec2 amazon-web-services kdc
我的域上运行着 HTTP 服务。但我对 HTTP 服务的生命周期是如何决定的几乎没有疑问。客户端可以使用我的 HTTP 服务多长时间?