스프링 시큐리티

Ch01. 스프링 시큐리티 기본 API 및 Filter 이해 - 동시 세션 제어, 세션 고정 보호, 세션 정책

webmaster 2022. 1. 15. 10:48
728x90

최대 세션 허용 개수 초과

  1. 이전 사용자 세션 만료 전략
    • 최대 세션 허용 개수가 초과될 경우 이전 사용자 세션을 만료시켜 버린다.(사용자 2만 유지)
  2. 현재 사용자 인증 실패
    • 최대 세션 허용 갯수가 초과될 경우 현재 사용자가 로그인하게 되면, 인증 실패를 시킨다.(사용자 1만 유지) 
    •  

동시 세션 제어

  • maxSessionsPreventsLogin(true) : 2번 전략(1번 전략은 false)
    • 최대 세션갯수 초과(true)
  • invalidSessionUrl과 expiredUrl 이 동시에 켜져 있을 경우 invalidSessionUrl 전략을 따른다.

세션 고정 보호

세션 고정 공격

  • 사용자가 공격자가 제공하는 JSessionId로 접속하여 사용자의 정보를 공격자가 다 알 수 있다.
    • 공격자의 세션ID로 접근할 경우, 공격자가 인증을 하지 않더라도 인증처리가 된 채로 사이트 이용가능
  • SpringSecurity에서는 이를 방지하기 위해 로그인할 때마다 새로운 세션 ID를 발급해 준다(세션 고정 보호)
  • 세션 고정 보호
  • changeSessionId : 기본값으로 새로운 세션 Id만 발급해준다
  • none : 새로운 세션 ID를 발급하지 않기에 공격자에 공격에 노출되어 있다.
  • migrateSession : 서블릿 3.1 이하에서 기본값으로 설정되어 있으며, 이전 세션에 설정한 값을 그대로 사용할 수 있도록 해준다.
  • new Session : 이전 세션에 설정한 값들을 그대로 사용하지 못하고 새로 생성해야 한다.

세션 관리정책

세션 관리 정책

728x90