보안 헤더 검사기
URL의 누락되거나 위험한 보안 헤더(CSP, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, COOP/COEP/CORP)를 확인하고 쿠키 플래그(Secure, HttpOnly, SameSite)를 분석합니다. 최종 목적지까지 리디렉션을 따라가고, JSON/PDF 보고서를 내보내며, 실행 가능한 강화 권장사항을 얻으세요.
기능
- 최종 HTTPS 목적지를 감사하기 위해 리디렉션을 따릅니다(실제 배포 환경에 권장).
- 필수 강화 헤더 확인: Content-Security-Policy, Strict-Transport-Security, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy.
- 권장되는 현대 헤더 확인: COOP, COEP, CORP, Origin-Agent-Cluster 및 추가 강화 신호(존재할 경우).
- Set-Cookie 플래그에 대한 쿠키 분석: Secure, HttpOnly, SameSite; Secure 없이 SameSite=None 사용 시 경고.
- CSP 분석: unsafe-inline, unsafe-eval, 와일드카드 소스, 누락된 방어 지시문(default-src, object-src, base-uri, frame-ancestors) 및 report-only 주의사항을 강조 표시합니다.
- 더 이상 사용되지 않거나 위험한 헤더(예: X-XSS-Protection) 및 정보 유출 헤더(예: Server, X-Powered-By)에 플래그를 지정합니다.
- 보안 검토, 침투 테스트 보고서 또는 버그 티켓을 위한 복사/공유 가능한 결과.
- 감사, 규정 준수 증거 및 회귀 추적을 위해 JSON 또는 PDF로 보고서를 다운로드합니다.
🧭 사용 방법 for security-headers-checker
감사하려는 URL을 붙여넣으세요
전체 URL(가급적 https://…)을 입력하세요. 이 도구는 해당 엔드포인트에서 반환된 응답 헤더를 평가합니다.
“리디렉션 따르기” 활성화(권장)
많은 사이트가 http→https 및 non-www→www(또는 그 반대)로 리디렉션합니다. 리디렉션을 따르면 사용자와 봇이 실제로 도달하는 최종 목적지를 감사합니다.
원시 헤더 표시 여부 선택
디버깅을 위해 원래 헤더 라인을 원한다면 “원시 헤더 표시”를 활성화하세요(CDN, 리버스 프록시 및 프레임워크 기본값에 유용).
결과를 검토하고 수정 우선순위를 정하세요
먼저 전송 보안(HSTS), XSS 방지(CSP), 클릭재킹 방지(프레임 보호), 쿠키 플래그 및 교차 출처 격리(COOP/COEP/CORP, 해당하는 경우)에 집중하세요.
추적을 위해 보고서 내보내기
JSON/PDF를 다운로드하여 티켓에 첨부하거나, 시간 경과에 따른 변경 사항을 비교하거나, 회귀 테스트를 위해 CI에 검사를 추가하세요.
기술 사양
이 도구가 확인하는 항목
이 검사기는 브라우저에서 시행되는 보안 제어에 사용되는 현대적이고 영향력 높은 응답 헤더와 쿠키 속성에 중점을 둡니다.
| 영역 | 확인되는 신호 | 중요성 |
|---|---|---|
| 전송 보안 | Strict-Transport-Security (HSTS) | HTTPS를 강제하고 이후 방문 시 SSL 제거를 방지합니다. |
| XSS 완화 | Content-Security-Policy (CSP) + 일반적인 함정 | 스크립트/스타일 소스를 제한하고 올바르게 구성 시 XSS 영향을 줄입니다. |
| 클릭재킹 | X-Frame-Options 및/또는 CSP frame-ancestors | 다른 출처에서 페이지가 프레임되는 것을 방지합니다. |
| MIME 스니핑 | X-Content-Type-Options: nosniff | 브라우저가 위험한 방식으로 콘텐츠 유형을 추측하는 것을 차단합니다. |
| 리퍼러 유출 | Referrer-Policy | 다른 사이트로 전송되는 리퍼러 정보 양을 제어합니다. |
| 권한 제어 | Permissions-Policy | 브라우저 수준에서 강력한 기능(카메라, 마이크, 위치 정보 등)을 제한합니다. |
| 교차 출처 격리 | COOP / COEP / CORP (및 관련) | 고급 보안 격리 및 일부 고성능 API에 필요합니다. |
| 쿠키 | Set-Cookie 플래그: Secure, HttpOnly, SameSite | 올바르게 구성 시 세션 도난 위험을 줄이고 CSRF를 완화합니다. |
| 위험/사용 중단됨 | X-XSS-Protection, Server, X-Powered-By (존재 시) | 사용 중단된 제어 또는 공격자에게 도움이 될 수 있는 정보 유출. |
요청 동작 및 제한
감사는 서버 측에서 실행되며 실제 탐색 동작과 일치하도록 리디렉션을 따를 수 있습니다.
| 설정 | 동작 | 기본값 |
|---|---|---|
| 리디렉션 따르기 | 제한된 수의 리디렉션까지 따름 | 활성화됨 |
| 최대 리디렉션 | 따르기가 활성화된 경우 최대 리디렉션 수 | 10 |
| 시간 초과 | 요청 시간 초과 | 15000 ms |
| User-Agent | 요청 식별 헤더 | Encode64Bot/1.0 (+[https://encode64.com](https://encode64.com)) |
| 사설 네트워크 | 사설 네트워크 대상 차단 | 허용되지 않음 |
결과 올바르게 해석하기
헤더 스캔이 '통과'되었다고 해서 '안전'한 것은 아닙니다. 헤더는 한 가지 보안 계층일 뿐입니다. 목표는 일반적인 문제 유형의 영향을 줄이고 더 안전한 브라우저 기본값을 적용하는 것입니다.
명령줄
디버깅이나 CI 중에 curl을 사용하여 검사기가 수행하는 작업을 복제하고 헤더를 빠르게 검증하세요.
macOS / Linux
응답 헤더 가져오기
curl -I [https://example.com](https://example.com)엔드포인트에서 반환된 최상위 헤더를 표시합니다.
리디렉션을 따르고 헤더 표시
curl -IL [https://example.com](https://example.com)리디렉션 후 최종 목적지 헤더를 확인하는 데 유용합니다.
Set-Cookie 줄 검사
curl -sI [https://example.com](https://example.com) | grep -i '^set-cookie:'Secure/HttpOnly/SameSite 속성을 확인하는 데 도움이 됩니다.
Windows (PowerShell)
응답 헤더 가져오기
(Invoke-WebRequest -Uri [https://example.com](https://example.com) -Method Head).HeadersPowerShell에서 반환된 헤더를 출력합니다.
사용 사례
웹 앱을 위한 보안 강화 기준
최소 헤더 기준을 설정하고 배포, 프록시/CDN 변경 또는 프레임워크 업그레이드 후 누락된 헤더를 파악하세요.
- 프로덕션 HTTPS에서 HSTS가 존재하는지 확인
- 인증된 페이지에 대해 클릭재킹 방지가 활성화되었는지 확인
쿠키 및 세션 안전성 검토
세션 쿠키가 Secure/HttpOnly/SameSite와 함께 전송되는지 검증하고 일반적인 잘못된 구성을 감지하세요.
- Secure 없이 SameSite=None 사용 감지
- 세션 토큰에 HttpOnly가 설정되었는지 확인
CSP 품질 및 XSS 위험 감소
고위험 CSP 패턴을 식별하고 XSS 영향을 실질적으로 줄이는 수정 사항을 우선순위화하세요.
- unsafe-inline을 제거하고 nonce/hash 전략을 채택하세요
- 더 강력한 기본값을 위해 frame-ancestors와 base-uri를 추가하세요
CDN / 리버스 프록시 회귀 검사
CDN, 로드 밸런서 또는 프록시가 헤더를 제거하거나 중복시키는 시점을 감지하세요.
- Cloudflare/Varnish/Nginx 변경 후에도 보안 헤더가 유지되는지 확인하세요
- 리디렉션이 최종 목적지에서 HSTS를 누락시키지 않도록 하세요
❓ Frequently Asked Questions
❓보안 헤더는 왜 중요한가요?
❓'리디렉션 따르기'를 활성화해야 하나요?
❓모든 사이트에 CSP가 필요한가요?
❓X-XSS-Protection이 더 이상 사용되지 않거나 위험하다고 표시되는 이유는 무엇인가요?
❓일반적인 HSTS 실수는 무엇인가요?
HTTPS에서 HSTS를 활성화했지만 HTTPS를 일관되게 제공하는 것을 잊거나(또는 표준 호스트에서 누락)하는 것입니다. 또 다른 일반적인 실수는 사전 로드 요구 사항을 완전히 충족하지 않고 사전 로드 지시문을 추가하는 것입니다.❓헤더만으로 내 애플리케이션을 보호할 수 있나요?
Pro Tips
랜딩 HTML과 API 엔드포인트를 모두 감사하세요. 이들은 종종 다른 미들웨어를 가지며 헤더 적용 범위에서 조용히 달라질 수 있습니다.
리디렉션 체인 검사를 실행하세요: 최종 목적지가 가장 강력한 헤더(특히 HSTS 및 CSP)를 설정하는지 확인하세요.
쿠키를 보안 경계의 일부로 취급하세요: 세션 쿠키의 기본값은 Secure + HttpOnly + 적절한 SameSite 설정이어야 합니다.
CSP의 경우 unsafe-inline/unsafe-eval 제거와 nonce 또는 해시 채택을 우선시하세요. 이는 실제 보안 향상에 가장 큰 효과를 줍니다.
서버 세부 정보 유출을 피하세요. 가능한 경우 Server / X-Powered-By 헤더를 제거하거나 최소화하여 핑거프린팅을 줄이세요.
CI에 회귀 테스트를 추가하여 중요한 헤더가 사라지면 배포가 실패하도록 설정하세요 (프록시/CDN 변경으로 인해 생각보다 자주 발생합니다).
Additional Resources
Other Tools
- CSS 정리 도구
- HTML 정리 도구
- 자바스크립트 정리 도구
- PHP 정리 도구
- 색상 선택기
- 스프라이트 추출기
- Base32 이진 인코더
- Base32 디코더
- Base32 인코더
- Base58 이진 인코더
- Base58 디코더
- Base58 인코더
- Base62 이진 인코더
- Base62 디코더
- Base62 인코더
- Base64 이진 인코더
- Base64 디코더
- Base64 인코더
- 16진수 이진 인코더
- 16진수 디코더
- 16진수 인코더
- C# 포맷터
- CSV 포맷터
- Dockerfile Formatter
- Elm 포맷터
- ENV 포맷터
- Go 포맷터
- GraphQL 포맷터
- HCL 포맷터
- INI 포맷터
- JSON 포맷터
- LaTeX 포맷터
- 마크다운 포맷터
- Objective-C 포맷터
- Php Formatter
- 프로토콜 버퍼 포맷터
- Python 포맷터
- Ruby 포맷터
- Rust 포맷터
- Scala 포맷터
- 셸 스크립트 포맷터
- SQL 포맷터
- SVG 포맷터
- Swift 포맷터
- TOML 포맷터
- Typescript Formatter
- XML 포맷터
- YAML 포맷터
- Yarn 포맷터
- CSS 압축기
- Html Minifier
- Javascript Minifier
- JSON 압축기
- XML 최소화 도구
- Cache Headers Analyzer
- Cors Checker
- Csp Analyzer
- Dns Records Lookup
- HTTP 헤더 뷰어
- Http Status Checker
- Open Graph Meta Checker
- Redirect Chain Viewer
- Robots Txt Tester
- Security Txt Checker
- Sitemap Url Inspector
- Tls Certificate Checker
- PDF 텍스트 변환
- 정규식 테스터
- 검색 순위 확인기
- Whois 조회