目录:
本示例适用场景满足以下情况:
1. 访问开启kerberos的hadoop集群WebUI界面,如ResourceManager、NameNode、Hive等
2. 其他通过Kerberos (SPNEGO)实现HTTP验证的页面
3. windows环境
4. Firefox浏览器
在windows端实现kerberos(SPNEGO)的验证,需要让浏览器能找到其对应的kerberos/gssapi类库(gssapi64.dll/gssapi32.dll等)
和对应的配置文件,其中配置文件的默认如下:
操作系统 | 缺省位置 |
---|---|
Windows | c:winntkrb5.ini |
Linux | /f |
其他基于 UNIX 的系统 | /etc/f |
z/OS | /etc/f |
Note: 如果 krb5.ini 文件不在 c:winnt 目录中,那么它可能位于 c:windows 目录中。
可以通过环境变量进行自定义配置参数的设置,也可以通过修改浏览器的参数进行设置,如在火狐中可通过访问about:config
页面进行参数调整:
network.negotiate-auth.gsslib
network.negotiate-auth.using-native-gsslib
……
由于对应的项比较繁琐,可以通过安装MIT KERBEROS进行默认情况的安装简化配置:
windows使用的kerberos客户端叫KFW,当前最新版本为KFW 4.1(64)/KFW 4.1(32),也可以通过访问KFW 下载列表 获得版本列表进行选择下载。以下以64位环境举例,32位环境请对照替换关键目录,如Program Files
替换为Program Files(x86)
:
安装完成后会进行默认的PATH环境变量配置,将安装目录下的bin目录配置进去,安装完成后可以校验一下。默认情况会安装到C:Program FilesMITKerberos
路径,同时在C:ProgramDataMITKerberos5
路径下生成kerberos的配置文件krb5.ini
。
PS: 为保险起见,可以同步替换c:winnt或c:windows下的krb5.ini
将集群上kdc相关的配置文件f中的内容同步到krb5.ini中,然后启动MIT Kerberos
将用户名principal和密码输入,验证通过后获取Ticket:
由于kerberos校验和加解密用到密钥长度远超出jre默认的安全字符长度,所以需要到java官网上下载Java Cryptography Extension (JCE),然后解压到%JAVA_HOME%/jre/lib/security中替换相应的文件。
windows下Firefox需要通过访问about:config
页面调整以下参数:
1. usted-uris 允许使用gssapi链接验证的地址
2. network.auth.use-sspi 关闭sspi验证协议
3. iate-auth.delegation-uris 代理委托地址,不建议使用
其中参数1或3在各类官方文档均有记载,参数3是代理时才使用,同时由于安全性可靠性考虑不推荐,而参数2则是windows各种方便使用的默认配置的坑:windows下的Firefox自带sspi这个安全认证协议,而且优先度很高,linux及其他环境下则多没有,因此Firefox在配置
HTTP ERROR: 403
Problem accessing /index.html. Reason:
GSSException: Defective token detected (Mechanism level: GSSHeader did not find the right tag)
Powered by Jetty://
登录成功后可以通过浏览器打开对应的页面,同时在MIT Kerberos中也可以看到出现了除krbtgt以外的归属于HTTP的一条新ticket:
另外Firefox报错很不明显,可以通过如下方式打开调试模式打印报错内容:
Firefox 的调试日志:
set NSPR_LOG_MODULES=negotiateauth:5
set NSPR_LOG_FILE=c:firefox_in_domain_negotiateauth.log
... -console
set NSPR_LOG_MODULES=all:5
set NSPR_LOG_FILE=c:firefox_in_domain_debug.log
... -console
本文发布于:2025-04-06 12:17:00,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/1743913053584700.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |