Cloudflare Docs
Support
Support
Visit Support on GitHub
Set theme to dark (⇧+D)

SameSite 쿠키와 Cloudflare의 상호작용 이해

​​ SameSite 쿠키와 Cloudflare의 상호작용 이해

SameSite 쿠키가 무엇이며, 이 쿠키가 CSRF(Cross-Site Request Forgery)로부터 보호하는 방법을 알아보세요.


​​ 개요

Google Chrome의 SameSite 쿠키는 Google Chrome이 SameSite 컨트롤을 처리하는 방법을 변경합니다.  Google은 SameSite를 사용하여 사용자를 추적하는 마케팅 쿠키와 공격자가 쿠키를 훔치거나 조작할 수 있게 하는 CSRF(Cross-Site Request Forgery)를 차단합니다.  

SameSite 쿠키에는 세 가지 모드가 있습니다.

  • Strict: 쿠키는 1차 당사자(방문한 도메인)가 만듭니다. 예를 들어, 1차 당사자 쿠키는 Cloudflare.com을 방문할 때 Cloudflare가 만듭니다.
  • Lax: 쿠키는 도메인 정점(예: *.foo.com)에만 발송됩니다.  예를 들어 누군가(blog.naughty.com)가 이미지(img.foo.com/bar.png)를 핫링크하면, 클라이언트는 _img.foo.com_에 쿠키를 보내지 않습니다. 1차 당사자나 정점 컨텍스트가 아니기 때문입니다.
  • None: 모든 요청에 쿠키가 발송됩니다.

Cloudflare 쿠키용 SameSite 설정:

Cloudflare 쿠키 SameSite 설정 HTTPS 전용
__cfduid SameSite=Lax 아니요
__cf_bm SameSite=None; Secure
cf_clearance SameSite=None; Secure
__cfruid SameSite=None; Secure
__cflb SameSite=Lax 아니요

​​ SameSite 및 cf_clearance 쿠키의 알려진 문제

방화벽 규칙이나 IP 액세스 규칙 등에서 Cloudflare CAPTCHA 또는 JavaScript 추가 질문이 풀리면, 클라이언트 브라우저에 cf_clearance 쿠키가 설정됩니다. cf_clearance 쿠키는 기본 수명이 30분이며 Cloudflare Firewall 앱의 설정 탭 내 추가 질문 통과를 통해 설정됩니다. 

Cloudflare는 cf_clearance 쿠키에 SameSite=_None_을 사용합니다. 다른 호스트 이름의 방문자 요청이 후속 챌린지를 받거나 오류가 생기지 않게 하기 위해서입니다. SameSite=_None_을 사용하지 않으면 Secure 플래그와 함께 설정해야 합니다.

Secure 플래그를 사용하려면 HTTPS 연결을 통해 쿠키를 보내야 합니다.  웹사이트 어디선가 HTTP를 사용하는 경우, cf_clearance 쿠키는 SameSite=_Lax_로 기본 설정되며 웹사이트 문제를 일으킬 수 있습니다.

웹사이트 어디선가 HTTP를 사용하는 경우, cf_clearance 쿠키는 SameSite=_Lax_로 기본 설정되며 이로 인해 웹사이트가 올바로 작동하지 않을 수 있습니다. 이 문제를 해결하려면 웹사이트 트래픽을 HTTPS로 옮기세요.  Cloudflare는 다음과 같은 두 가지 기능을 제공합니다. 


​​ 관련 자료