FixVibe
Covered by FixVibemedium

부적절한 보안 헤더 구성

웹 애플리케이션은 필수 보안 헤더를 구현하지 못하는 경우가 많아 사용자가 크로스 사이트 스크립팅(XSS), 클릭재킹 및 데이터 주입에 노출됩니다. 확립된 웹 보안 지침을 따르고 MDN Observatory와 같은 감사 도구를 사용함으로써 개발자는 일반적인 브라우저 기반 공격에 대비하여 애플리케이션을 크게 강화할 수 있습니다.

CWE-693

영향

보안 헤더가 없기 때문에 공격자는 클릭재킹을 수행하거나, 세션 쿠키를 훔치거나, 크로스 사이트 스크립팅(XSS) [S1]를 실행할 수 있습니다. 이러한 지침이 없으면 브라우저는 보안 경계를 적용할 수 없으므로 잠재적인 데이터 유출 및 무단 사용자 작업 [S2]로 이어질 수 있습니다.

근본 원인

이 문제는 표준 HTTP 보안 헤더를 포함하도록 웹 서버 또는 애플리케이션 프레임워크를 구성하지 못했기 때문에 발생합니다. 개발에서는 기능적 HTML 및 CSS [S1]를 우선시하는 경우가 많지만 보안 구성은 생략되는 경우가 많습니다. MDN Observatory와 같은 감사 도구는 이러한 누락된 방어 계층을 감지하고 브라우저와 서버 간의 상호 작용이 안전한지 확인하도록 설계되었습니다. [S2].

기술적인 세부사항

보안 헤더는 일반적인 취약점을 완화하기 위해 브라우저에 특정 보안 지시문을 제공합니다.

  • 콘텐츠 보안 정책(CSP): 로드할 수 있는 리소스를 제어하여 무단 스크립트 실행 및 데이터 주입 [S1]을 방지합니다.
  • 엄격한 전송 보안(HSTS): 브라우저가 보안 HTTPS 연결 [S2]를 통해서만 통신하도록 보장합니다.
  • X-Frame-Options: 클릭재킹 [S1]에 대한 기본 방어인 iframe에서 애플리케이션이 렌더링되는 것을 방지합니다.
  • X-Content-Type-Options: 브라우저가 파일을 지정된 것과 다른 MIME 유형으로 해석하는 것을 방지하여 MIME 스니핑 공격 [S2]를 중지합니다.

FixVibe가 이를 테스트하는 방법

FixVibe는 웹 애플리케이션의 HTTP 응답 헤더를 분석하여 이를 감지할 수 있습니다. MDN Observatory 표준 [S2]에 대한 결과를 벤치마킹함으로써 FixVibe는 CSP, HSTS 및 X-Frame-Options와 같이 누락되거나 잘못 구성된 헤더에 플래그를 지정할 수 있습니다.

수정

표준 보안 상태 [S1]의 일부로 모든 응답에 다음 헤더를 포함하도록 웹 서버(예: Nginx, Apache) 또는 애플리케이션 미들웨어를 업데이트합니다.

  • 콘텐츠 보안 정책: 리소스 소스를 신뢰할 수 있는 도메인으로 제한합니다.
  • 엄격한 전송 보안: 긴 max-age를 사용하여 HTTPS를 적용합니다.
  • X-Content-Type-Options: nosniff [S2]로 설정합니다.
  • X-프레임 옵션: 클릭재킹 [S1]를 방지하려면 DENY 또는 SAMEORIGIN로 설정합니다.