pile·
보안·vercel-blogVercel Blog·

SameSite 쿠키 속성 이해하기

SameSite 쿠키 속성은 크로스-사이트 요청에서 쿠키가 전송되는 방식을 제어해 CSRF(Cross-Site Request Forgery) 공격을 방어하는 웹 보안 속성이다. Strict, Lax, None 세 가지 모드로 보안 수준과 사용자 경험을 조절할 수 있다.

핵심 포인트
  • Strict: 동일 사이트 요청에서만 쿠키를 전송한다. 온라인 뱅킹 같은 고보안 애플리케이션에 적합하고 CSRF 위험을 최소화한다.
  • Lax: 크로스-사이트 서브리소스 요청(이미지, 스타일시트)에는 쿠키를 보내지 않지만, 외부 링크를 통한 최상위 탐색에는 쿠키를 전송한다. 속성을 지정하지 않으면 기본값이다.
  • None: 모든 요청에 쿠키를 전송한다. 반드시 Secure 속성과 함께 사용해야 하며 HTTPS에서만 동작한다.
  • Chrome 80+부터 SameSite 속성을 명시하지 않으면 기본값으로 Lax가 적용된다.
상세 정리
  • Strict 모드: 쿠키가 동일 사이트에서 발생한 요청에만 포함된다. 외부 링크를 클릭해도 첫 번째 요청에는 쿠키가 없어, 세션이 인식되지 않을 수 있다.
  • Lax 모드: 크로스-사이트 서브리소스 요청(이미지 로드, iframe, 폼 POST)에는 쿠키를 보내지 않는다. 단, 사용자가 외부 링크를 클릭해 탐색할 때는 쿠키를 보낸다. 보안과 편의의 균형점이다.
  • None 모드: 모든 크로스-사이트 요청에 쿠키가 포함된다. 제3자 서비스 연동(광고, 임베드)에 필요하지만 CSRF 취약점에 노출된다. Secure 속성이 필수다.
  • CSRF 방어 원리: Strict 또는 Lax 모드는 공격자가 다른 사이트에서 인증된 요청을 위조하는 CSRF를 방어한다. 쿠키가 크로스-사이트 요청에 포함되지 않아 서버가 인증을 거부한다.
  • 속성 없을 때 동작: 최신 브라우저는 SameSite=Lax를 기본 적용한다. 이전 동작에 의존하는 코드에서 예상치 못한 쿠키 차단이 발생할 수 있다.
왜 읽나- 웹 애플리케이션의 쿠키 정책을 설정하거나 CSRF 방어를 구현하는 개발자가 SameSite 속성의 각 모드가 어떤 요청에 영향을 주는지 이해하는 데 유용하다.
vercel-blog
Vercel Blog 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 보안·cloudflare-blogCloudflare Blog·

    오리진 서버 포스트 퀀텀 인증 지원 — ML-DSA mTLS 구현기

    Cloudflare가 오리진 서버와의 TLS 연결에 포스트 퀀텀 인증(ML-DSA)을 도입했다. 2023년 이미 포스트 퀀텀 암호화(encryption)가 배포됐지만, 인증(authentication)은 여전히 양자 공격에 취약한 상태였다. Authenticated Origin Pulls(AOP)와 Custom Origin Trust Store(COTS) 두 제품을 통해 완전한 상호 인증 TLS를 구현했으며, FIPS 204(ML-DSA) 표준을 오리진 연결에 적용한 첫 번째 마일스톤이다.

    #mtls#tls#post-quantum+2