톰캣에서 SSL 적용시 세션 공유 문제입니다.
- 작성자 :
- 장*르
- 작성일 :
- 2019-08-05 15:29:41
- 조회수 :
- 2,856
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
안녕하세요?
Spring 3.2.9 + eGovFrame 3.1.0 + Tomcat 6.0 에서 개발을 하고 있습니다.
그런데, SSL을 적용하고 로그인을 하면 https 와 http 간의 세션 공유가 이루어 지지 않습니다.
현재 Spring Security를 이용해서 로그인 처리를 하고 있는데
로그인 페이지는 http --> 실제 로그인 처리 페이지는 https --> 로그인 처리 후 http 페이지로 이동을 합니다.
전체가 다 http 이거나, https 이면 정상적으로 로그인 처리가 되는데,
http로 로그인을 했다가 강제로 https 페이지로 이동을 하면 세션이 끊어져 버립니다.
반대로 https로 로그인을 했다가 강제로 http 페이지로 이동을 해도 세션이 끊기구요.
구글링을 해보면 web.xml에 필터를 등록해서 처리하는 방법등이 나와 있는데.
저는 로컬에서는 tomcat 을 사용하고 운영서버에서는 jeus를 사용할거라서 필터 등록하는것은 방법이 아닌것 같아서 질문 드려 봅니다.
혹시 이게, Spring Security 버전이나 전자정부프레임워크의 버전 또는 톰켓 버전이 낮아서 그러는 걸까요??
톰켓을 7.0으로 올려봐도 같은 증상 이더라구요.
혹시 필터를 통한 방법말고 해결할 수 있는 방법은 없는 걸까요?
Spring 3.2.9 + eGovFrame 3.1.0 + Tomcat 6.0 에서 개발을 하고 있습니다.
그런데, SSL을 적용하고 로그인을 하면 https 와 http 간의 세션 공유가 이루어 지지 않습니다.
현재 Spring Security를 이용해서 로그인 처리를 하고 있는데
로그인 페이지는 http --> 실제 로그인 처리 페이지는 https --> 로그인 처리 후 http 페이지로 이동을 합니다.
전체가 다 http 이거나, https 이면 정상적으로 로그인 처리가 되는데,
http로 로그인을 했다가 강제로 https 페이지로 이동을 하면 세션이 끊어져 버립니다.
반대로 https로 로그인을 했다가 강제로 http 페이지로 이동을 해도 세션이 끊기구요.
구글링을 해보면 web.xml에 필터를 등록해서 처리하는 방법등이 나와 있는데.
저는 로컬에서는 tomcat 을 사용하고 운영서버에서는 jeus를 사용할거라서 필터 등록하는것은 방법이 아닌것 같아서 질문 드려 봅니다.
혹시 이게, Spring Security 버전이나 전자정부프레임워크의 버전 또는 톰켓 버전이 낮아서 그러는 걸까요??
톰켓을 7.0으로 올려봐도 같은 증상 이더라구요.
혹시 필터를 통한 방법말고 해결할 수 있는 방법은 없는 걸까요?
A
안녕하세요.
표준프레임워크센터 입니다.
해당 문제는 톰켓WAS의 세션 운영정책과 관련이 있어 보입니다.
HTTPS에서 생성된 세션을 HTTP에서
인식되도록 하거나 전파 되어야 하는데
다른 특성을 가지고 있는듯 합니다.
스프링 시큐리티를 커스텀하여 사용하고 계시다면
session-fixation-protection옵션을 사용하실수도 있을듯 하나
Session Fixation Attack의 문제가 있을수 있습니다.
참고로
시큐리티 간소화에서는 해당 기능의 수정은 불가능합니다.
톰캣 자체의 제약이기 때문에
https를 로그인후 페이지를 유지하지 않는한은
다른 방법은 없어 보입니다.
감사합니다.
표준프레임워크센터 입니다.
해당 문제는 톰켓WAS의 세션 운영정책과 관련이 있어 보입니다.
HTTPS에서 생성된 세션을 HTTP에서
인식되도록 하거나 전파 되어야 하는데
다른 특성을 가지고 있는듯 합니다.
스프링 시큐리티를 커스텀하여 사용하고 계시다면
session-fixation-protection옵션을 사용하실수도 있을듯 하나
Session Fixation Attack의 문제가 있을수 있습니다.
참고로
시큐리티 간소화에서는 해당 기능의 수정은 불가능합니다.
톰캣 자체의 제약이기 때문에
https를 로그인후 페이지를 유지하지 않는한은
다른 방법은 없어 보입니다.
감사합니다.