我们正在使用 ADFS 和 Shibboleth SP 进行 SSO。
在理想情况下,Windows 身份验证始终有效,即用户访问https://shibboleth/Login?target=somewhere,重定向至https://adfs/adfs/ls/SomeSamlRequest,浏览器使用一些 Active Directory 魔法在后台对用户进行身份验证,最后,用户被重定向到所需的页面,而无需遇到一些登录表单或对话框。
但是,如果此方法不起作用,则会向用户显示 HTTP 身份验证对话框。有没有办法配置用户可尝试登录的次数以及身份验证失败时将用户重定向到何处?
答案1
视情况而定。您是否控制 AD、Shib IDP 和 Shib SP?那么您可以通过多种方式做到这一点。您可以依靠 AD 功能锁定登录失败次数过多的用户。这就是我们所做的。
如果你控制了 IDP,你可以联系这些人:https://wiki.shibboleth.net/confluence/display/SHIB2/IdPAuthUserPass 正如他们以前所做的那样(参见部分:堆叠登录模块)
如果您想要一个简单而便宜的解决方案(但显然不是一个好的解决方案),您可以延迟前端的登录尝试以减轻暴力登录攻击,甚至在多次登录尝试后阻止某个用户名。
答案2
有没有办法配置用户登录尝试的次数?
据我所知,Internet Explorer 会尝试使用 Windows 集成身份验证 (WIA) 对用户进行 3 次身份验证,然后才会显示提示。当用户看到提示时,我认为他可以尝试任意多次,但通常一段时间后他的帐户就会被锁定在 Active Directory 中。
当身份验证失败时将它们重定向到哪里?
不,当 Windows 集成身份验证失败时,ADFS 中没有将用户重定向到另一个页面的选项。
如果您的用户和 ADFS 服务器之间有一个盒子(例如反向代理),您可以开发一些东西来添加这种行为,但在我看来这相当复杂。