在Tomcat中进行Shibboleth会话验证

时间:2015-05-22 17:49:40

标签: apache tomcat saml shibboleth

我有一个Apache / 2.2.15 Web服务器,其中包含模块mod_shib,mod_ssl和mod_jk。我有一个虚拟主机,配置(附在下面)与AuthType Shibboleth,SSLCertificates和JKMount,在使用正确的IDP成功建立会话后,使用AJP将请求定向到我的Tomcat 8服务器。当我的http请求到达我的应用服务器时,我可以看到各种Shib- *标头,以及我的SP从IDP请求的属性。

我的应用服务器是否可以验证 shibsession Cookie或其他标头?我试图防止我的Web服务器(位于DMZ中的某些方式受到损害)以及攻击者向我的应用服务器(位于内部区域)发出请求的情况。

有没有办法可以验证标题中可用内容的签名,以确保内容确实来自IDP,并且不是由控制我的Web服务器的攻击者制造的?

OpenSAML库中是否有可用于实现此目的的东西?

1 个答案:

答案 0 :(得分:0)

  

我的app服务器有没有办法验证shibsession cookie或其他标题?

mod_shib已经为你做了那么艰难的工作。在验证从身份提供者(IdP)返回信息之后,mod_shib然后设置环境变量(不能由客户端设置)以供应用程序读取和信任。在您的应用程序中实现OpenSAML是不必要的,因为mod_shib已经为您完成了验证工作。

来自docs

  

最安全的机制,以及允许它的服务器的默认设置,   是使用环境变量。这个词有点泛泛   因为环境变量并不一定总是意味着   传统意义上的实际过程环境,因为有   通常没有单独的过程。它实际上是指一组受控制的   Web服务器提供给应用程序的数据元素   不能以任何方式从Web服务器外部操纵。   具体来说,客户没有发言权。