AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[spnego](server)

Martin Hope
CoolMonster
Asked: 2017-03-05 22:27:41 +0800 CST

CentOS 服务器中的 Shibboleth SPNEGOAuthnConfiguration

  • 0

我的要求是用户已经加入使用来自 ldap 服务器的相同凭据登录的域,他们不想再次输入它来登录 shibboleth SSO,所以我搜索了 Shibboleth 文档,它已经支持基于 SPNEGO登录。

我必须回答以下问题:

  1. 在 Cent OS 下运行的 shibboleth 服务器是否支持此协议?
  2. 如果它支持 Cent OS,我可以知道我们必须如何以及是否必须配置它与 Active Directory 通信?
  3. 如果它只支持windows环境,我可以知道它只在windows服务器必须加入同一个域时才有效吗?

当前服务器环境

Centos 7 Shibboleth 3.3

SAML 和 CAS(我们同时使用这两种协议)

centos active-directory kerberos spnego shibboleth
  • 1 个回答
  • 653 Views
Martin Hope
Rob Grant
Asked: 2016-07-28 08:51:04 +0800 CST

这种 Kerberos/AD 设置是否可行?

  • 10

我们有一个稍微复杂的 IDAM 设置:

在此处输入图像描述

即最终用户的机器和浏览器与父 AD 位于一个网络中,而我们基于 Jetty 的应用程序和它可以与之对话的 AD(本地 AD)位于另一个网络中。

两个 AD 之间存在双向信任。父网络中的浏览器在受信任站点中具有本地域。

Jetty 服务器的设置如下:

  • 它使用针对本地 AD 中的主体生成的 keytab 文件
  • 它在本地 AD 中定义的用户下作为 Windows 服务运行
  • 域、域-域映射和 kdc 是针对本地 AD 的域定义的
  • 它使用 spnego - isInitiator 设置为 false;doNotPrompt 为真;storeKey 为真

问题是:

  • 作为测试,从本地网络内的浏览器访问服务器(即链接到本地​​ AD)有效- Kerberos 调试信息出现在日志中,我可以在 HTTP 流量中看到正确的 Kerberos 协商,并且用户自动登录. 杰出的。
  • 但是,从父网络中的浏览器访问服务器(这是我们的用户将如何做的事情)不起作用!浏览器返回 401 unauth,但随后提示输入凭据,输入时会出现空白屏幕。然后单击地址栏并按 Enter 会执行以下两项操作之一,具体取决于凭据是用于远程 AD 还是本地 AD:

    • 本地 AD 凭据然后登录正常,在日志中从头开始使用 Kerberos(GET 请求、401 unauth 响应、Kerberos 标头请求等)
    • 远程 AD 凭据未登录(GET 请求,401 unauth 响应,看起来像 NTLM 标头Authorization: Negotiate <60 or so random chars>:)

无论哪种方式,它提示的事实都是错误的!

这些症状有解释吗?我们的设置可以做我们想要的吗?

至于上面的描述可能是错误的:我提到的关于 Jetty 服务器的任何配置都应该是准确的,就像我所做的那样。我很乐意提供更多细节。任何关于 AD 或父网络浏览器的配置都可能是可疑的,因为它不在我的控制之下,而且我已经向我报告了配置,而不是亲自看到它。

active-directory jetty kerberos spnego
  • 2 个回答
  • 627 Views
Martin Hope
Michael Henry
Asked: 2010-03-26 05:03:54 +0800 CST

针对 Active Directory 的 Tomcat SPNEGO 身份验证不起作用

  • 0

我正在尝试使用带有 tomcat的http://spnego.sourceforge.net组件对 AD 进行身份验证。

我已经创建了我的 SPN 的“setspn.exe -A HTTP/servername SVCTomcat”和“setspn.exe -A HTTP/servername.fqdn.net SVCTomcat”

我已经创建了我的 krb5.conf 和 login.conf 文件并在 web.xml 中设置了过滤器,即。

<filter-name>SpnegoHttpFilter</filter-name>
<filter-class>net.sourceforge.spnego.SpnegoHttpFilter</filter-class>
    <param-name>spnego.allow.unsecure.basic</param-name>
    <param-value>false</param-value>
    <param-name>spnego.login.client.module</param-name>
    <param-value>spnego-client</param-value>
    <param-name>spnego.krb5.conf</param-name>
    <param-value>krb5.conf</param-value>
    <param-name>spnego.login.conf</param-name>
    <param-value>login.conf</param-value>
    <param-name>spnego.preauth.username</param-name>
    <param-value>SVCTomcat</param-value>
    <param-name>spnego.preauth.password</param-name>
    <param-value>Pasword</param-value>
    <param-name>spnego.login.server.module</param-name>
    <param-value>spnego-server</param-value>
    <param-name>spnego.prompt.ntlm</param-name>
    <param-value>false</param-value>
    <param-name>spnego.logger.level</param-name>
    <param-value>2</param-value>

请注意,我已经从中删除了无关的标签,因此它不是实际的 XML。

当我转到受此过滤器保护的页面时,我会在 catalina 日志文件中得到它。2010 年 3 月 25 日 12:41:26 org.apache.catalina.startup.Catalina 开始信息:服务器在 4615 毫秒内启动 2010 年 3 月 25 日 12:41:47 net.sourceforge.spnego.SpnegoHttpFilter doFilter FINE:principal=SYSTEM @TESTDOMAIN

在网站上的 hello_spnego.jsp 示例中,它只报告用户 tomcat 的名称以 (SYSTEM) 身份运行,而不是我正在连接的用户。

似乎作者在他的调试页面中途停止了,所以除了三次检查我的配置外,我没有其他地方可以查看。

有任何想法吗?

windows-server-2008 tomcat active-directory spnego
  • 1 个回答
  • 3549 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve