Spring Security SAML 重放攻击防范

     2023-02-27     252

关键词:

【中文标题】Spring Security SAML 重放攻击防范【英文标题】:Spring Security SAML replay attack prevention 【发布时间】:2020-09-23 23:57:36 【问题描述】:

如 OASIS 安全断言标记语言 (SAML)V2.0 (https://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf) 的配置文件第 4.1.4.5 章中所述,服务提供者必须通过在断言执行期间为已处理断言保留缓存来防止重放攻击没有过期。

我知道 OpenSAML 通过提供安全策略和针对重放的缓存实现来支持防止重放攻击,但是我在 Spring SAML 的任何地方都找不到这些实现的用法。我希望 WebSSOProfileConsumer 能够提供这样的功能。谁能指出我在哪里(如果有的话)可以找到这种行为的正确方向吗?

【问题讨论】:

【参考方案1】:

我在 Spring SAML 中没有看到任何开箱即用的东西。我们需要从应用程序中做到这一点。 需要通过存储断言的 id 并检查新断言是否具有相同的 id 来防止重放攻击。 您可以使用

获取 ID
org.opensaml.saml2.core.Assertion.getID(); 

【讨论】:

感谢您的回答。我知道可以为自定义解决方案检索 I,但我希望 Spring 安全性能够提供此功能,因为它是由规范强制执行的。我必须使用 Spring 的 org.springframework.security.web.authentication.session.SessionAuthenticationStrategy 来解决它,它可以在 SAML 处理过滤器上设置。

spring security saml使用哪个密钥?

】springsecuritysaml使用哪个密钥?【英文标题】:Whichkeyisusedbyspringsecuritysaml?【发布时间】:2015-03-0410:56:23【问题描述】:我正在使用SpringSecurity的开放式saml库进行身份验证。我的服务提供者是我用springsaml配置的springweb应用程序。... 查看详情

带有 Spring 会话的 Spring Security SAML

】带有Spring会话的SpringSecuritySAML【英文标题】:SpringSecuritySAMLwithSpringsession【发布时间】:2016-12-0512:48:33【问题描述】:我使用OpenAM作为我的IDP,我的SP(一个angular2SPA)基于在以下位置共享的示例:https://github.com/vdenotaris/spring-bo... 查看详情

spring-security-saml 2.0 - 如何注册系统中的所有用户?

】spring-security-saml2.0-如何注册系统中的所有用户?【英文标题】:spring-security-saml2.0-howtoregisteralltheusersinthesystem?【发布时间】:2015-09-2304:38:34【问题描述】:我想在我的Web应用程序中使用SAML2.0实现SSO。我看过spring-security-saml示例... 查看详情

没有 Spring Boot 的 Spring Security SAML 身份元数据

】没有SpringBoot的SpringSecuritySAML身份元数据【英文标题】:SpringSecuritySAMLIdentityMetadataWITHOUTSpringBoot【发布时间】:2022-01-1309:46:03【问题描述】:我不断看到以下用于注册SAML身份提供者的代码块:spring:security:saml2:relyingparty:registratio... 查看详情

存储库中的 spring-security-saml 缺少 jar

】存储库中的spring-security-saml缺少jar【英文标题】:spring-security-samlmissingjarinrepo【发布时间】:2014-12-0123:14:13【问题描述】:根据http://projects.spring.io/spring-security-saml/上的说明,我的pom.xml中有以下内容:<dependencies><dependency... 查看详情

Spring Security SAML 扩展和@PreAuthorize

】SpringSecuritySAML扩展和@PreAuthorize【英文标题】:SpringSecuritySAMLExtensionand@PreAuthorize【发布时间】:2015-07-3016:07:54【问题描述】:我的要求是使用基于SAML的SSO。从SAML断言中检索用户组并保护其余api端点。我正在使用Spring安全SAML扩... 查看详情

Spring Security SAML 示例

】SpringSecuritySAML示例【英文标题】:SpringSecuritySAMLExamples【发布时间】:2014-08-0613:17:44【问题描述】:我正在尝试配置几个Spring和Grails应用程序以使用SpringSecuritySAML,但我找不到好的教程。谁能指出我正确的方向?【问题讨论】... 查看详情

元数据刷新死锁(spring-security-saml)

】元数据刷新死锁(spring-security-saml)【英文标题】:Metadatarefreshdeadlock(spring-security-saml)【发布时间】:2015-07-3104:43:48【问题描述】:每隔几天,我们使用SpringSecuritySAML的Web应用就会出现死锁。刷新元数据时发生死锁。我也尝试... 查看详情

SAML 服务提供者 Spring Security

】SAML服务提供者SpringSecurity【英文标题】:SAMLserviceproviderspringsecurity【发布时间】:2014-04-2416:57:19【问题描述】:当使用预配置的服务提供者元数据时,在SpringSecurity中,扩展元数据委托是否应该有2个bean定义?一个用于IDP元数... 查看详情

Spring SAML 扩展和 Spring Security 5

】SpringSAML扩展和SpringSecurity5【英文标题】:SpringSAMLextensionandspringsecurity5【发布时间】:2020-05-3101:30:17【问题描述】:谁能告诉我springsaml扩展和springsecurity5saml有什么区别。我发现springsecurity5中的配置较少。【问题讨论】:【参... 查看详情

Spring 框架 4.0 和 Spring security 3.2.4 上的 Spring Security SAML 扩展

】Spring框架4.0和Springsecurity3.2.4上的SpringSecuritySAML扩展【英文标题】:SpringSecuritySAMLextensiononSpringframework4.0andSpringsecurity3.2.4【发布时间】:2014-10-1421:49:05【问题描述】:我想为基于Spring的应用程序使用注释配置。SSO还需要SAML2.0消... 查看详情

使用 Spring Security SAML 将请求参数添加到 SAML 请求

】使用SpringSecuritySAML将请求参数添加到SAML请求【英文标题】:AddrequestparametertoSAMLrequestusingSpringSecuritySAML【发布时间】:2015-05-2901:26:52【问题描述】:我需要在SAML请求中添加请求参数(例如locale=en),以便让登录页面显示正确的... 查看详情

spring-security saml2:如何获取当前用户?

】spring-securitysaml2:如何获取当前用户?【英文标题】:spring-securitysaml2:Howtoobtainthecurrentuser?【发布时间】:2020-02-1211:35:20【问题描述】:我正在使用版本为5.2.0.RELEASE的spring-security和spring-security-saml2-service-provider。我正在尝试通... 查看详情

使用 spring-security-saml 在应用程序中没有配置 IDP 错误

】使用spring-security-saml在应用程序中没有配置IDP错误【英文标题】:NoIDPwasconfigurederrorinappusingspring-security-saml【发布时间】:2015-03-1909:14:30【问题描述】:我正在使用SpringBoot和SpringSecuritySAML基于https://github.com/vdenotaris/spring-boot-secu... 查看详情

打开和关闭 Spring Security SAML 的方法

】打开和关闭SpringSecuritySAML的方法【英文标题】:WaystotogglespringsecuritySAMLonandoff【发布时间】:2014-09-3001:09:03【问题描述】:除了其他身份验证机制外,我的应用程序中还有一个非常标准的springsecuritysaml实现。开箱即用的SAML不会... 查看详情

Spring SAML ADFS:java.security.InvalidKeyException

】SpringSAMLADFS:java.security.InvalidKeyException【英文标题】:SpringSAMLADFS:java.security.InvalidKeyException【发布时间】:2013-09-2411:20:05【问题描述】:我的任务是实现对带有LDAP的ActiveDirectory联合服务(SSL)的可访问性。首先我不得不说我在ADFS... 查看详情

使用 SAML 1.1 的 Spring Security

】使用SAML1.1的SpringSecurity【英文标题】:SpringSecurityusingSAML1.1【发布时间】:2014-09-1417:39:12【问题描述】:默认情况下,SpringSecuritySAML扩展提供对SAML2.0规范的支持。为了支持与不支持该规范版本的第三方提供商的集成,我需要能... 查看详情

Spring Security SAML:仅接受来自 IDP 的签名 SAML 响应消息

】SpringSecuritySAML:仅接受来自IDP的签名SAML响应消息【英文标题】:SpringSecuritySAML:AcceptonlysignedSAMLresponsemessagesfromIDP【发布时间】:2019-01-1603:38:45【问题描述】:我们在我们的Java应用程序中使用SpringSecuritySAML(v1.0.3)来实现带有IDP的... 查看详情