헤더 복사 방법

1 분석할 웹사이트에서 F12 또는 Ctrl+Shift+I를 눌러 개발자 도구를 엽니다.
2 Network (네트워크) 탭을 클릭하고, 페이지를 새로고침합니다.
3 목록에서 첫 번째 요청(보통 도메인 이름)을 클릭합니다.
4 Headers 탭에서 Response Headers 섹션을 찾아 전체 선택 후 복사합니다.
0 lines
1

어떤 상황에서 쓰는 도구인가

브라우저 개발자 도구의 Network 탭에서 Response Headers를 복사해 붙여넣으면 HSTS, CSP, CORS, 캐시 관련 헤더를 한 번에 확인할 수 있습니다. 정적 사이트나 CDN 배포 후 보안 헤더가 실제로 적용되었는지 점검할 때 유용합니다.

HTTP 헤더 분석이란?

HTTP 응답 헤더는 웹 서버가 클라이언트에게 전달하는 메타데이터로, 보안 정책, 캐싱 설정, 콘텐츠 타입, CORS 설정 등을 포함합니다. 보안 헤더를 올바르게 설정하면 XSS, 클릭재킹, MIME 스니핑 등의 공격을 막을 수 있고, 캐싱 헤더를 최적화하면 페이지 로딩 속도를 개선할 수 있습니다.

이 도구는 HTTP 응답 헤더를 붙여넣으면 보안 헤더, 캐싱, 콘텐츠 설정을 자동으로 분석하고, 보안 점수를 계산합니다. 모든 분석은 브라우저에서 수행되며 서버로 데이터가 전송되지 않습니다.

사용 방법

  1. HTTP 헤더 복사 — 분석할 웹사이트에서 F12를 놀러 개발자 도구를 열고, Network 탭에서 페이지를 새로고침합니다. 첫 번째 요청의 Response Headers를 전체 선택 후 복사합니다.
  2. HTTP 헤더 붙여넣기 — 입력창에 복사한 헤더를 붙여넣고 "분석하기" 버튼을 클릭합니다.
  3. 보안 점수 확인 — HSTS, CSP, X-Frame-Options 등 주요 보안 헤더의 설정 여부를 점수로 확인합니다.
  4. 기능별 헤더 확인 — 보안/캐싱/콘텐츠 섹션별로 각 헤더의 현재값과 권장 기준을 비교합니다.
  5. 누락 항목 개선 — 에러 또는 경고로 표시된 설정되지 않은 보안 헤더를 서버 설정(Nginx, Apache, Cloudflare)에 추가합니다.

주요 보안 헤더

HSTS(Strict-Transport-Security)는 브라우저에 HTTPS 연결을 강제하여 중간자 공격을 방지합니다. max-age는 HTTPS 강제 기간(초)을 지정하며, includeSubDomains는 하위 도메인에도 적용합니다.

CSP(Content-Security-Policy)는 페이지에서 실행할 수 있는 리소스 출처를 제한하여 XSS 공격을 방지합니다. default-src, script-src, style-src 등의 디렉티브로 세밀하게 제어할 수 있습니다.

X-Frame-Options는 페이지가 <iframe>으로 로드되는 것을 제한하여 클릭재킹 공격을 방지합니다. DENY는 모든 임베딩을 차단하고, SAMEORIGIN은 동일 도메인만 허용합니다.

X-Content-Type-Optionsnosniff로 설정하여 브라우저가 MIME 타입을 추측하는 것을 방지합니다. 이는 악성 스크립트가 이미지로 위장하는 공격을 막습니다.

Referrer-Policy는 다른 사이트로 이동 시 전달되는 Referrer 정보를 제어합니다. strict-origin-when-cross-origin이 일반적으로 권장됩니다.

실무 활용 사례

운영 전 보안 점검 — 새 서비스 런칭 전에 HSTS, CSP, X-Frame-Options 등 필수 보안 헤더가 설정되었는지 확인합니다.

캐시 설정 검증Cache-Control, ETag, Expires 헤더가 의도대로 설정되었는지 확인하여 불필요한 서버 요청을 줄이고 로딩 성능을 개선합니다.

보안 감사 — 정기적으로 보안 헤더를 점검하여 새로운 취약점에 대응하고, 업데이트 후 헤더가 의도치 않게 변경되지 않았는지 확인합니다.

CORS 문제 디버깅Access-Control-Allow-Origin 등 CORS 관련 헤더가 올바르게 설정되었는지 확인하여 교차 출처 요청 오류를 해결합니다.

보안 헤더 5종 권장 시작값

분석 결과에서 누락으로 표시되는 보안 헤더의 실무 시작값입니다. 그대로 적용해도 대부분의 정적 사이트에서 안전합니다.

헤더권장 시작값막아주는 것
Strict-Transport-Securitymax-age=31536000; includeSubDomainsHTTPS 강제, 다운그레이드 공격
X-Content-Type-OptionsnosniffMIME 스니핑을 통한 스크립트 실행
Referrer-Policystrict-origin-when-cross-origin외부 링크로의 URL 정보 유출
Content-Security-Policy사이트별 설계 필요 (아래 참고)XSS, 무단 리소스 로드
Permissions-Policycamera=(), microphone=(), geolocation=()불필요한 브라우저 권한

CSP만은 복사-붙여넣기가 통하지 않습니다. 외부 CDN·광고·분석 스크립트 도메인을 모두 허용 목록에 넣어야 하므로, Content-Security-Policy-Report-Only로 위반 리포트를 먼저 수집한 뒤 강제 모드로 전환하는 순서가 안전합니다. 헤더별 상세 동작은 HTTP 헤더 가이드에서 다룹니다.

자주 묻는 질문

보안 점수는 절대 기준인가요?

아닙니다. 일반 권장 정책(OWASP 등)을 기준으로 한 상대 점수이며, 서비스 특성에 따라 달라질 수 있습니다. 예를 들어 정적 CDN 사이트는 CSP가 단순해도 무방하지만, 사용자 입력을 처리하는 웹 앱에서는 엄격한 CSP가 필수적입니다.

헤더를 어디서 복사하나요?

브라우저 개발자 도구(F12)를 열고 Network 탭에서 페이지를 새로고침합니다. 목록에서 첫 번째 요청(보통 도메인 이름)을 클릭하고, Headers 탭의 Response Headers 섹션을 복사하면 됩니다. 페이지 상단의 단계별 안내도 참고하세요.

HSTS는 왜 중요한가요?

HSTS(HTTP Strict Transport Security)는 브라우저에 HTTPS 연결을 강제하여, HTTP로의 다운그레이드 공격(SSL stripping)을 방지합니다. 한 번 설정되면 max-age 기간 동안 브라우저가 자동으로 HTTPS로 업그레이드합니다.

CSP는 무엇을 방지하나요?

Content-Security-Policy는 페이지에서 실행할 수 있는 리소스 출처를 제한하여 XSS(Cross-Site Scripting) 공격을 방지합니다. 예를 들어 script-src 'self'는 동일 도메인의 스크립트만 실행을 허용합니다. 인라인 스크립트 실행이 필요한 경우 'unsafe-inline'을 추가해야 하지만, 보안이 약화됩니다.

붙여넣은 헤더가 전송되나요?

아닙니다. 모든 분석은 브라우저 내 JavaScript로 수행됩니다. 네트워크 요청이 발생하지 않으며, 개발자 도구의 Network 탭에서 확인할 수 있습니다.

보안 헤더를 어떻게 설정하나요?

보안 헤더는 웹 서버 설정(Nginx, Apache)이나 CDN(Cloudflare 등)에서 추가합니다. Nginx에서는 add_header 디렉티브, Apache에서는 Header set 디렉티브를 사용합니다. Cloudflare는 대시보드에서 보안 헤더를 설정할 수 있습니다.