Backend/공통

쿠키 및 세션 보안 관련 (CSRF 등)

Dean83 2025. 12. 12. 15:41

쿠키 설정에서, 다음의 공격에 대한 방어를 해야 한다. 

 

Secure

  • 일반 http 통신의 경우 세션 탈취에 매우 취약하므로, https 에서만 쿠키를 저장하도록 강제 (Secure=true)

XSS

  • 악성 자바스크립트에서 세션을 탈취할 수 있으므로, HttpOnly = true 설정을 통해 자바스크립트에서는 쿠키 접근을 차단

CSRF

  • 쿠키가 브라우저에 저장되는 점을 악용하여 이용자가 의도하지 않은 공격을 할 수 있는 상황을 막는다. 
    • 상황 : 이용자가 A 사이트 방문 -> 세션 및 쿠키 저장 -> 이용자가 B 사이트 저장 -> B 사이트의 html 페이지 내 악의적인 코드를 통해 A 사이트의 쿠키를 탈취 및 이용하여 B 사이트에서 A 사이트에 불법 접근 및 공격
    • SameSite 설정을 통해 방어
      • Strict : 가장 강력. 동일 사이트에서 보낸 요청에만 쿠키 전송. 
      • Lax : 몰래 보내는 요청은 차단하고, 이용자가 직접 클릭한 경우에는 허용 (일반적으로 많이 사용)
      • None : 안막는 방법
    • CSRF 토큰을 통해 방어
      • 서버에서 x-csrf-token 값을 클라이언트에게 세션아이디 쿠키와 별개로 전달. 해당 토큰은 유추가 불가능한 값.(로그인시)
      • CSRF 토큰 값은 http 헤더나 body 에 클라이언트가 수동으로 직접 담아서 서버에 전달
      • 서버는 해당 토큰과 세션아이디 둘다 비교하여 검증

'Backend > 공통' 카테고리의 다른 글

Github Action을 통한 AWS CI/CD (3)  (0) 2025.11.11
Github Action을 통한 AWS CI/CD (2)  (0) 2025.11.11
Github Action을 통한 AWS CI/CD (1)  (0) 2025.11.11
EC2, RDS 등 컴퓨팅 설정 및 ECS 설명  (0) 2025.11.07
REST API, RESTful API  (0) 2025.09.19