我正试图在Ubuntu(18.04)上安装一个nginx服务器(1.19.0),该服务器使用当前版本的spnego http auth nginx模块。
我成功地用spnego模块构建了nginx,它在没有启用auth_gss的情况下按预期工作。
我按照ifad的fork中的说明设置了我的keytab文件。
使用此keytab文件,当我运行命令时
kinit -5 -V -k -t /usr/local/nginx/krb5.keytab HTTP/deneme.aaa.com
我成功地得到了消息
Using default cache: /tmp/krb5cc_1000
Using principal: HTTP/deneme.aaa.com@DOMAIN.COM.TR
Using keytab: krb5.keytab
Authenticated to Kerberos v5
klist-kkrb5.keytab命令显示
Keytab name: FILE:krb5.keytab
KVNO Principal
---- --------------------------------------------------------------------------
4 host/deneme.aaa.com@DOMAIN.COM.TR
6 HTTP/deneme.aaa.com@DOMAIN.COM.TR
user root root;
worker_processes 1;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
# HTTPS server
#
server {
listen 443 ssl;
server_name deneme.aaa.com;
ssl_certificate /home/user/public.crt;
ssl_certificate_key /home/user/private.rsa;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
location / {
root html;
index index.html index.htm;
auth_gss on;
auth_gss_allow_basic_fallback off;
}
}
}
根据上面的配置,当我点击页面时https://deneme.aaa.com,我在输入任何登录提示时收到403个未经授权的错误。日志/错误中没有日志。日志在访问中。日志
192.168.106.1 - - [24/Jun/2020:11:26:29 +0300] "GET / HTTP/1.1" 401 581 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36"
192.168.106.1 - - [24/Jun/2020:11:26:29 +0300] "GET / HTTP/1.1" 403 555 "-" "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36"
当我
auth_gss_allow_basic_fallback on;
出现登录提示,使用正确的凭据我可以访问索引页面,但这是因为基本身份验证有效。
当我从浏览器点击页面并在客户端计算机上运行klist时,我可以看到Kerberos票证已发出。
可能是什么原因?我应该使用旧版本的nginx吗?
亲切的问候
Keytab文件包括使用AES256-SHA1加密创建的主体。但是,我忘记选中Active Directory用户和计算机中的此帐户支持kerberos aes256位加密复选框。所以客户端试图将RC4-HMAC加密的Kerberos票证发送到NGINX。
选中此选项解决了问题。
希望这有帮助。
我正在运行一个squid代理服务器(CentOS 5),我正试图通过我们的AD服务器(Windows server 2008)使用kerberos。 我遵循了以下说明:http://wiki.squid-cache.org/ConfigExamples/Authenticate/Kerberos 为服务器设置一个keytab,这一切都运行良好。 当我尝试从客户端PC使用代理时,会出现问题,它会立即
我正在开发一个Web应用程序,它是rest客户端并使用rest服务(API)来执行任何操作。我集成了apache shiro以使用工作正常的jdbc领域执行身份验证。 现在,我正在寻找一种使用apacheDS LDAP执行身份验证的解决方案。我计划使用kerberos身份验证,但我没有找到任何有用的文章或示例来使用apache shiro实现kerberos身份验证。 我发现apache shir
使用这个例子,我的连接几乎可以工作 http://blogs.nologin.es/rickyepoderi/index.php?/archives/105-oracle-driver-and-kerberos.html 我使用的是Java7,但使用另一个没有问题。有没有一种方法可以用jvm正确读取票证(参见jdk中的kinit不要创建正确的票证)
是否可以使用Kerberos但不使用JAAS来验证用户/密码?
问题内容: 我正在尝试编写一个简单的脚本,该脚本从内部网络上的工具请求一些数据。这是代码: 现在的问题是,我该如何使用Kerberos票证进行身份验证,而不是以纯文本形式提供我的凭据? 问题答案: 在Paul Scheltema的答案中,您需要从操作系统的深度获取票证数据。您(或代表您的模块)必须使用GSS-API才能由Active Directory生成票证数据。 这种机制存在于Chrome中,
15/02/06 15:17:12警告IPC.Client:连接到服务器时遇到异常:javax.security.sasl.saslexception:GSS initiate失败[由GSSException:未提供有效凭据(机制级别:找不到任何Kerberos tgt导致)]LS:本地异常失败:java.io.ioException:javax.security.sasl.saslexcepti