전체 목록
보안Medium#226

보안 헤더 HSTS, CSP, X-Frame-Options의 역할을 설명해주세요.

#보안#SecurityHeaders#HSTS#CSP

답변 포인트

브라우저 보안 정책 적용를 기준으로 정의, 장점, 한계, 예시를 함께 설명해보세요.

정답 및 해설

빠른 요약

HSTS는 HTTPS 사용을 강제하고, CSP는 허용 리소스 출처를 제한하며, X-Frame-Options는 클릭재킹을 줄입니다. 브라우저가 제공하는 중요한 방어층입니다.

HSTS, CSP, X-Frame-Options는 브라우저 보안 헤더로, 서버가 브라우저에게 안전한 동작 정책을 지시합니다. 애플리케이션 버그를 완전히 없애지는 못하지만 공격 가능성을 크게 줄입니다.

HSTS

Strict-Transport-Security는 브라우저가 해당 도메인에 HTTPS로만 접속하도록 강제합니다.

HTTP
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

중간자 공격자가 HTTP로 downgrade시키는 것을 막는 데 도움이 됩니다. 단, includeSubDomains/preload는 되돌리기 어려워 적용 전 하위 도메인 HTTPS 준비가 필요합니다.

CSP

Content-Security-Policy는 스크립트, 이미지, 스타일, connect 대상 등을 제한합니다.

HTTP
Content-Security-Policy: default-src 'self'; script-src 'self' 'nonce-r4nd0m'; object-src 'none'; frame-ancestors 'none'

XSS가 있더라도 임의 inline script 실행을 어렵게 만들 수 있습니다. 처음에는 Content-Security-Policy-Report-Only로 모니터링하며 적용하는 것이 안전합니다.

X-Frame-Options

페이지가 iframe에 삽입되는 것을 제한해 clickjacking을 막습니다.

HTTP
X-Frame-Options: DENY

현대 CSP에서는 frame-ancestors가 더 유연하지만, 호환성을 위해 함께 쓰기도 합니다.

면접 답변 포인트

HSTS는 HTTPS 강제, CSP는 리소스 로딩 정책으로 XSS 피해 완화, X-Frame-Options는 clickjacking 방어입니다. 보안 헤더는 방어 심층화 수단이며 기능 영향이 있어 점진 적용과 모니터링이 필요하다고 답하면 좋습니다.

관련 질문

같은 카테고리/태그 기준