본문 바로가기
MiddleWare(미들웨어)/JEUS

[JEUS8.5] SameSite 설정하기

by wonkidoki 2025. 1. 20.
반응형

- SameSite는 웹 브라우저에서 쿠키의 보안을 강화하기 위해 사용하는 속성입니다. 이 속성은 쿠키가 어떤 상황에서 전송될 수 있는지를 제어하며, 크로스사이트 요청 위조(Cross-Site Request Forgery, CSRF)와 같은 보안 취약점을 줄이는 데 도움을 줍니다. SameSite 속성에는 다음과 같은 세 가지 값이 있습니다.


1. SameSite=None

  • 쿠키가 모든 요청(같은 사이트 또는 다른 사이트에서 발생하는 요청)에 대해 전송됩니다.
  • Secure 속성이 반드시 설정되어 있어야 하며, HTTPS를 통해서만 쿠키가 전송됩니다.
  • 주로 타사 쿠키(third-party cookies) 사용을 허용하기 위해 설정합니다.

2. SameSite=Strict

  • 쿠키는 같은 사이트에서 발생한 요청에서만 전송됩니다.
  • 다른 사이트에서 리소스를 요청하거나 리디렉션이 발생할 경우 쿠키가 전송되지 않습니다.
  • 보안성이 가장 높지만, 사용자 경험에 제약이 있을 수 있습니다.

사용 사례:

  • 로그인 상태를 유지해야 하지만, 다른 사이트에서의 액세스를 철저히 차단하고 싶은 경우.

3. SameSite=Lax

  • 쿠키는 기본적으로 같은 사이트에서만 전송되지만, "안전한 메서드"(GET, HEAD 등)를 사용하는 크로스사이트 네비게이션(예: 링크 클릭)에 대해서는 전송됩니다.
  • 대부분의 경우 기본값으로 적합하며, 보안성과 사용자 경험 간의 균형을 제공합니다.

사용 사례:

  • 일반적인 사용자 세션 관리(로그인 상태 유지 등).

브라우저 지원 및 기본 동작

2020년 이후, 대부분의 최신 브라우저는 쿠키의 SameSite 속성을 명시하지 않으면 기본적으로 SameSite=Lax로 처리합니다. 따라서 타사 쿠키를 사용해야 한다면 반드시 SameSite=None과 Secure를 설정해야 합니다.


요약

  • Strict: 같은 사이트에서만 쿠키 사용 (최고의 보안).
  • Lax: 같은 사이트 + 제한된 크로스사이트 (기본값, 보안과 사용성의 균형).
  • None: 모든 요청에서 쿠키 사용 (타사 쿠키 허용, HTTPS 필수).

SameSite 속성을 올바르게 설정하면 웹 애플리케이션의 보안을 강화하고, 의도하지 않은 데이터 노출을 방지할 수 있습니다.

 


- JEUS6, 7, 8 버전 별로 SameSite 설정하는 방법이 각기 다르다.

- 이번 포스팅은 8.5 버전에 대한 것이며, Default 값으로 Disable로 설정 돼있다.


1. JEUS Webadmin > MS > Engine > Session Config

- JEUS8.5 버전에서의 설정은 단순하게 돼있다. 위 경로로 가서 원하는 설정값으로 변경해주기만 하면 끝난다.

- Disable, None, Strict, Lax 로 설정할 수 있다.