-
쿠키 사용 시 CSRF 취약점 대응을 위한 설명!Web 2025. 4. 25. 17:18728x90반응형
🍪 웹 개발자가 꼭 알아야 할 쿠키(Cookie) 속성 정리
웹 보안과 인증에서 쿠키는 매우 중요한 역할을 합니다. 특히 SameSite 속성은 CSRF 공격을 방어하기 위해 꼭 알아야 하는 요소입니다. 이 글에서는 웹 개발자가 실무에서 자주 다루는 쿠키 속성들을 정리해보았습니다.
✅ 쿠키 속성 총정리
속성 설명 Name=Value
쿠키의 이름과 값 Domain
쿠키가 유효한 도메인 Path
쿠키가 전송될 URL 경로 Expires / Max-Age
쿠키의 만료 시간 설정 Secure
HTTPS에서만 쿠키를 전송 HttpOnly
JavaScript로 쿠키 접근 차단 (XSS 방지) SameSite
Cross-site 요청 시 쿠키 전송 여부 결정 (CSRF 방지) 🔐 SameSite 속성 설명
SameSite는 쿠키가 다른 사이트에서 요청될 때 쿠키를 보낼지 여부를 결정하는 속성입니다.
1️⃣ SameSite=Lax
- 기본값 (대부분 브라우저)
- GET 요청에 한해 cross-site 쿠키 전송 허용
- POST 요청은 차단되어 CSRF 방지 효과 있음
2️⃣ SameSite=Strict
- 모든 cross-site 요청에서 쿠키 전송 차단
- 보안성이 가장 높지만, 사용자 경험(UX)에 불편함 있음
3️⃣ SameSite=None
- 모든 요청에서 쿠키를 전송
- 반드시 Secure 속성과 함께 사용해야 하며, HTTPS가 필수
- 제3자 로그인 또는 결제 API 등에서 사용
📌 Set-Cookie 예시
Set-Cookie: sessionId=abc123; Path=/; Domain=.example.com; HttpOnly; Secure; SameSite=Lax; Max-Age=3600
🧠 중요 속성 Top 5
속성 설명 중요 이유 HttpOnly JS에서 접근 차단 XSS 방지 Secure HTTPS에서만 전송 중간자 공격 방지 SameSite 쿠키 전송 정책 설정 CSRF 방지 Expires / Max-Age 만료 시간 자동 로그아웃 등 Domain / Path 쿠키 유효 범위 도메인 간 쿠키 관리 💡 마무리 정리
- SameSite=Lax: 보안성과 사용성의 균형
- SameSite=Strict: 보안 최우선 (사용성 낮음)
- SameSite=None + Secure: 외부 서비스에서 필수
- HttpOnly와 Secure는 항상 사용하는 습관 들이기
728x90반응형'Web' 카테고리의 다른 글
CSRF 취약점과 방어 방법에 대해 알아보자! (0) 2025.04.25 무료 WYSIWYG(위지윅) 에디터 알아보자! (0) 2025.04.25 위지윅(WYSIWYG) 에디터와 XSS 취약점에 대해 알아보자 (0) 2025.04.25 TCP 3-Handshake 에 대해 알아보자! (0) 2025.04.22 HTTPS 통신시 암호화 범위에 대해 알아보자! (0) 2025.04.22