쿠키 보안 점검
응답 쿠키의 Secure·HttpOnly·SameSite 플래그를 점검합니다.
쿠키 보안 점검은 웹사이트가 브라우저에 내려보내는 Set-Cookie 헤더를 실시간으로 가져와, 각 쿠키에 Secure·HttpOnly·SameSite 같은 보안 속성이 제대로 설정돼 있는지 확인하는 도구입니다. 세션 쿠키나 로그인 토큰이 탈취·변조에 취약하지 않은지 빠르게 진단할 수 있습니다.
URL만 입력하면 서버가 해당 페이지에 안전하게 요청을 보내 응답 헤더의 쿠키를 분석합니다. 쿠키 값 자체는 판단에 쓰지 않으며, 속성 누락 여부를 정상/주의 상태로 표시합니다. 점검 결과는 잠시 캐싱되어 빠르게 응답합니다.
세 가지 핵심 보안 속성
- Secure: HTTPS 연결에서만 쿠키를 전송합니다. 없으면 평문 HTTP에서도 쿠키가 노출돼 중간자 공격에 취약합니다. 로그인·세션 쿠키에는 필수입니다.
- HttpOnly: 자바스크립트(document.cookie)에서 쿠키에 접근할 수 없게 막습니다. XSS가 발생해도 세션 쿠키 탈취를 어렵게 만듭니다.
- SameSite: 다른 사이트에서 발생한 요청에 쿠키를 보낼지 제어합니다. Strict/Lax는 CSRF 위험을 크게 줄이고, None은 반드시 Secure와 함께 써야 합니다.
점검 결과 읽는 법
쿠키마다 Secure와 HttpOnly가 설정돼 있으면 정상, 누락되면 주의로 표시됩니다. SameSite 값(Strict/Lax/None)도 함께 보여줍니다. 민감한 인증 쿠키라면 Secure + HttpOnly + SameSite=Lax(또는 Strict)를 기본 권장 조합으로 삼고, 도메인·경로·만료(Expires/Max-Age) 범위가 의도보다 넓지 않은지 확인하세요. 쿠키와 함께 보안 헤더 점검으로 HSTS·CSP 같은 응답 헤더까지 살펴보면 사이트의 기본 방어 수준을 한 번에 가늠할 수 있습니다.
쿠키 이름 접두사(__Secure- / __Host-)
쿠키 이름 자체에 보안 규칙을 강제하는 접두사가 있습니다. 브라우저는 규칙을 어긴 접두사 쿠키를 아예 거부하므로, 점검 결과에서 이 접두사가 보이면 해당 속성 조합이 보장된 셈입니다.
| 접두사 | 브라우저가 강제하는 조건 | 대표 용도 |
|---|---|---|
__Secure- | Secure 필수 + HTTPS 출처에서만 설정 가능 | HTTPS 전용 세션 쿠키 |
__Host- | Secure 필수 + Path=/ 필수 + Domain 속성 금지(현재 호스트에 고정) | 서브도메인 탈취에 강한 로그인 쿠키 |
실제 Set-Cookie 한 줄 해석 예시
서버가 다음 헤더를 보냈다고 가정해 봅니다.
Set-Cookie: sid=ab12cd; Path=/; Secure; HttpOnly; SameSite=Lax; Max-Age=3600
sid= 세션 식별자(값ab12cd는 판단에 쓰지 않음).Secure✓ +HttpOnly✓ → 두 핵심 속성 모두 충족이라 정상으로 표시됩니다.SameSite=Lax→ 외부 링크 클릭에는 전송, 이미지·iframe·교차 사이트 POST에는 미전송 → CSRF 위험 낮음.Max-Age=3600→ 1시간 후 만료.Domain속성이 없으므로 이 쿠키는 정확히 발급한 호스트에만 묶입니다(가장 안전한 기본값).
만약 같은 줄에서 HttpOnly가 빠지고 Domain=.example.com이 붙었다면, XSS로 토큰이 읽힐 수 있고 모든 서브도메인으로 쿠키가 퍼지므로 주의 신호가 됩니다.
흔한 실수 / 함정
가장 흔한 함정은 Domain 속성을 일부러 넓게 잡는 것입니다. Domain을 아예 지정하지 않으면 쿠키는 발급한 정확한 호스트(app.example.com)에만 전송되지만,Domain=.example.com처럼 적으면 모든 서브도메인으로 퍼집니다. 그러면 보안 수준이 낮은blog.example.com 같은 곳의 XSS 하나로 로그인 쿠키가 노출될 수 있습니다. 또한 점검에서 Secure가 빠진 것처럼 보이지만 실제로는 __Host- 접두사가 강제하고 있는 경우는 없습니다 — 그 접두사 쿠키가 보이면 브라우저가 이미 Secure와 Path=/를 검증한 것이니 안심해도 됩니다.
자주 묻는 질문
쿠키가 하나도 안 보여요.
SameSite=Lax와 Strict는 어떻게 다른가요?
Secure가 없으면 무조건 위험한가요?
SameSite=None은 나쁜 설정인가요?
입력한 URL이나 쿠키 값이 저장되나요?
관련 가이드
- 쿠키의 모든 것: 세션·서드파티·Secure·HttpOnly쿠키 종류(세션/영구/서드파티)와 보안 속성(Secure·HttpOnly·SameSite)이 각각 무엇을 막는지 정리.