반응형



SameSite Cookie(HTTP cookie 속성)는 한 줄로 말하면:
"다른 사이트에서 온 요청에는
쿠키를 얼마나 보낼지 제한하는 보안 옵션"
이다.
핵심 목적은:
CSRF 방어
다.
먼저 왜 필요하냐?
브라우저는 기본적으로:
해당 도메인 요청이면
쿠키를 자동 전송
한다.
예시
사용자가: bank.com
로그인했다고 하자.
브라우저 저장
Cookie: SESSION=ABCD
문제 상황
사용자가 악성 사이트 접속.
공격 페이지가:
<img src="https://bank.com/transfer?money=1000000">
요청 보내면?
브라우저는 자동으로
Cookie: SESSION=ABCD
를 bank.com에 같이 보낸다.
결과
로그인된 사용자 요청처럼 보임
→ CSRF 가능.
SameSite 등장
브라우저에게:
"다른 사이트 요청에는
쿠키 제한해라"
지시.
설정 방식
Set-Cookie:
SESSION=abc;
SameSite=Lax
SameSite 종류
| 옵션 | 의미 |
| Strict | 완전 차단 |
| Lax | 일부 허용 |
| None | 모두 허용 |
1. SameSite=Strict
가장 강력.
Set-Cookie:
SESSION=abc;
SameSite=Strict
의미
다른 사이트에서 온 요청에는
절대 쿠키 안 보냄
장점
CSRF 방어 매우 강함.
단점
UX 문제 있음.
예시
사용자가:
Google 검색 결과 클릭
으로 들어와도:
쿠키 안 붙을 수 있음
그래서 너무 빡셈.
2. SameSite=Lax
현재 브라우저 기본값에 가까움.
Set-Cookie:
SESSION=abc;
SameSite=Lax
의미
일반 링크 이동(GET)은 허용,
위험한 POST는 제한
즉
| 요청 | 쿠키 |
| 링크 클릭(GET) | O |
| form POST | 제한 |
| iframe/img | 제한 |
그래서 현실적으로 많이 사용.
3. SameSite=None
Set-Cookie:
SESSION=abc;
SameSite=None
의미
모든 Cross-Site 요청 허용
단 조건
반드시:
Secure
와 같이 사용해야 함.
즉 HTTPS 필수.
예시
Set-Cookie:
SESSION=abc;
SameSite=None;
Secure
언제 필요하냐?
예:
- OAuth 로그인
- SSO
- iframe 인증
- 서드파티 서비스
왜냐면 Cross-Site 요청 필요하기 때문.
Site vs Origin 헷갈림
SameSite는 "Site" 기준
예:
| URL | SameSite 기준 |
| a.example.com ↔ b.example.com | 같은 Site |
| example.com ↔ google.com | 다른 Site |
즉 서브도메인은 보통 같은 Site 취급.
현재 브라우저 정책
현대 Chrome/Firefox는:
SameSite=Lax 기본 적용
한다.
즉 SameSite 미설정 시에도
일부 CSRF 방어 자동 적용.
OAuth에서 SameSite 문제 자주 발생
Google 로그인은 Cross-Site Redirect 발생
그래서:
SameSite=Strict
쓰면 로그인 깨질 수 있음.
실무에서는 보통
| 쿠키 | 추천 |
| Session | Lax |
| OAuth/SSO | None + Secure |
JWT와도 관련 있음
JWT를:
HttpOnly Cookie
에 저장하면:
CSRF 고려 필요
하다.
그래서 SameSite 중요.
CSRF Token과 관계
SameSite가 생기면서:
CSRF 위험 많이 감소
했지만,
민감 서비스는 여전히:
- CSRF Token
- Origin 검사
같이 사용.
실무 추천 설정
보통:
Set-Cookie:
SESSION=abc;
HttpOnly;
Secure;
SameSite=Lax
많이 사용.
각 옵션 의미
| 옵션 | 의미 |
| HttpOnly | JS 접근 금지 |
| Secure | HTTPS만 |
| SameSite | CSRF 완화 |
핵심 한 줄
SameSite Cookie는:
브라우저가 다른 사이트(Cross-Site)에서 발생한 요청에
쿠키를 자동 전송하는 범위를 제한해서,
CSRF 공격을 줄이기 위한 쿠키 보안 옵션
이다.
반응형
'system_fundamentals > security_cryptography' 카테고리의 다른 글
| SSRF (0) | 2026.05.19 |
|---|---|
| CORS (0) | 2026.05.19 |
| CSP (0) | 2026.05.19 |
| SQL Injection (0) | 2026.05.19 |
| CSRF (0) | 2026.05.19 |
댓글