我对SiteMinder和SSO一般都是新手。我整个下午都在SO和CA的网站上搜索了一个基本的例子,找不到一个。我不关心设置或编程SM或类似的东西。所有这一切都已由其他人完成。我只想调整我的JS Web应用程序以使用SM进行身份验证。
我知道SM会添加一个带有SM_USER等密钥的HTTP标头,告诉我用户是谁。我没有得到的是 - 是什么阻止任何人自己添加这个标题并完全绕过SM?我需要在服务器端代码中放置什么来验证SM_USER是否真的来自SM?我想安全的cookie都涉及......
答案 0 :(得分:17)
Web服务器上安装的 SM Web代理旨在拦截所有流量并检查资源请求是否为......
受SiteMinder保护
如果用户拥有有效的SMSESSION(即经过身份验证)
如果1和2为真,则WA检查Siteminder策略服务器以查看用户是否授权以访问所请求的资源。
为了确保您没有HTTP标头注入用户信息,SiteMinder WebAgent将重写所有特定于SiteMinder的HTTP标头信息。从本质上讲,这意味着您可以“信任”WebAgent提供的有关用户的SM_
信息,因为它是由服务器上的Web代理创建的,而不是传入请求的一部分。
答案 1 :(得分:3)
因为所有流量都应通过Siteminder Web Agent,所以即使用户设置此标头,它也会被覆盖/删除
答案 2 :(得分:2)
SiteMinder r12.52包含一项名为Enhanced Session Assurance with DeviceDNA™的新功能。 DeviceDNA可用于确保SiteMinder会话Cookie未被篡改。如果会话在另一台计算机上重播,或者在同一台计算机上的另一个浏览器实例上重播,则DeviceDNA将捕获此信息并阻止该请求。
Click here to view a webcast discussing new features in CA SiteMinder r12.52
答案 3 :(得分:2)
所有Siteminder架构确实假设应用程序只需要信任“SM_”标头。
实际上,根据应用程序的体系结构,这可能还不够。 基本上,你有3个案例:
答案 4 :(得分:1)
典型的企业架构将是Webserver(Siteminder Agent)+ AppServer(应用程序)
假设未启用IP过滤,并且允许Web请求直接到AppServer,绕过Web服务器和sso-agent。
如果应用程序必须实现一个解决方案来声明请求标头/ cookie没有被篡改/注入,我们是否有任何解决方案与以下相似?