Web Basic · Security

HTTPS·XSS·CSRF의 방어 위치

웹 보안 기초는 공격 이름을 외우는 것이 아니라, 데이터가 이동하고 실행되는 지점마다 어떤 신뢰 경계가 필요한지 배치하는 일이다.

01

전송 보호

로그인, 쿠키, API 요청은 HTTPS와 secure cookie를 기본으로 둔다.

02

입력 경계

사용자 입력은 저장 전 검증하고, 표시 전 맥락에 맞게 escape한다.

03

요청 의도

상태 변경 요청은 CSRF token, SameSite cookie, Origin 검증을 조합한다.

04

피해 축소

CSP, HttpOnly cookie, 권한 최소화로 뚫렸을 때의 범위를 줄인다.

HTTPS
전송 채널 보호 TLS로 중간자 공격과 평문 노출을 줄임
혼합 콘텐츠도 차단
XSS
출력 맥락 문제 HTML, attribute, URL, script context별 인코딩 필요
innerHTML 사용 점검
CSRF
세션 자동 첨부 악용 브라우저가 쿠키를 자동 전송하는 특성을 공격
SameSite=Lax/Strict 검토
CSP
실행 출처 제한 허용된 스크립트·이미지·연결 출처를 제한
report-only로 먼저 관찰

쿠키 옵션 · 출력 인코딩 · 상태 변경 점검

쿠키 옵션 HttpOnly, Secure, SameSite가 목적에 맞게 설정돼 있다.
출력 인코딩 사용자 입력이 HTML로 표시될 때 escape된다.
상태 변경 POST/PUT/PATCH/DELETE 요청에 의도 확인 장치가 있다.
보안 헤더 CSP, HSTS, X-Content-Type-Options를 검토했다.