Spring Security - 세션 고정 보호 API
2021. 4. 15. 16:51ㆍSPRING/SPRING SECURITY
세션 고정 공격이란?
- 공격자가 서버에 접속하여 세션쿠키를 얻어낸뒤, 사용자에게 해당 세션쿠키를 심어둡니다.
- 이런 상황에서 사용자가 서버에 로그인 인증을 시도하게 되면 같은 세션쿠키를 사용하고 있기 때문에 사용자 정보를 공격자가 접근할 수 있는 상태가 됩니다.
세션 고정 보호
- 이를 방지하기 위해 사용자가 로그인 인증을 할 때, 세션 ID를 변경한다면 공격자와 사용자의 세션쿠키 정보가 달라지기 때문에 세션 고정 공격을 방지할 수 있습니다.
사용 예제
1
2
3
4
|
http.sessionManagement().sessionFixation().none();
http.sessionManagement().sessionFixation().changeSessionId();
http.sessionManagement().sessionFixation().migrateSession();
http.sessionManagement().sessionFixation().newSession();
|
cs |
- none: 세션 고정 공격을 받을 수 있는 상태
- changeSessionId: 세션 ID만 변경(기본값) 서블릿 3.1 이상에서 사용
- migrateSession: changeSessionId와 같음. 서블릿 3.0 이하에서 사용
- newSession: 세션을 새로 만든다. 기존 세션 어트리뷰트 정보들도 모두 초기화 된다.
'SPRING > SPRING SECURITY' 카테고리의 다른 글
Spring Security - 인가 API, URL 방식 (0) | 2021.04.16 |
---|---|
Spring Security - 세션 생성 정책, SessionCreationPolicy (0) | 2021.04.15 |
Spring Security - 동시 세션 제어 API (0) | 2021.04.15 |
Spring Security - 익명 사용자 인증, AnonymousAuthenticationFilter (0) | 2021.04.15 |
Spring Security - Remember me, 자동 로그인 API, RememberMeAuthenticationFilter (0) | 2021.04.15 |