IT story

“X-Content-Type-Options = nosniff”란 무엇입니까?

hot-time 2020. 4. 5. 20:34
반응형

“X-Content-Type-Options = nosniff”란 무엇입니까?


OWASP ZAP을 사용하여 로컬 호스트에서 침투 테스트를 수행하고 있으며이 메시지를 계속보고합니다.

Anti-MIME-Sniffing 헤더 X-Content-Type-Options가 'nosniff'로 설정되지 않았습니다.

이 검사는 Internet Explorer 8 및 Chrome에만 해당됩니다. Content-Type 헤더를 알 수없는 경우 각 페이지가 Content-Type 헤더 및 X-CONTENT-TYPE-OPTIONS를 설정하는지 확인하십시오.

이것이 무엇을 의미하는지 전혀 모르며 온라인에서 아무것도 찾을 수 없습니다. 나는 추가를 시도했다 :

<meta content="text/html; charset=UTF-8; X-Content-Type-Options=nosniff" http-equiv="Content-Type" />

그러나 나는 여전히 경고를 받는다.

매개 변수를 올바르게 설정하는 방법은 무엇입니까?


브라우저가 MIME 유형 스니핑을 수행하지 못하게합니다. Chrome / Chromium, Edge, IE> = 8.0, Firefox> = 50 및 Opera> = 13을 포함한 대부분의 브라우저는이 헤더를 준수합니다.

https://blogs.msdn.com/b/ie/archive/2008/09/02/ie8-security-part-vi-beta-2-update.aspx?Redirected=true

nosniff 값으로 새 X-Content-Type-Options 응답 헤더를 보내면 Internet Explorer가 선언 된 content-type에서 응답을 MIME 스니핑하지 못하게됩니다.

편집하다:

아, 그리고 그것은 HTML 메타 태그 옵션이 아닌 HTTP 헤더입니다.

참조 : http://msdn.microsoft.com/en-us/library/ie/gg622941(v=vs.85).aspx


기술

서버의 X-Content-Type-OptionsHTTP 응답 헤더를 nosniff설정 하면 암시 적 컨텐츠 유형을 사용하여 데이터를 추측하고 처리하기 위해 응답 헤더를 대체하는 데 사용되는 컨텐츠 또는 MIME 스니핑 을 사용하지 않도록 브라우저 지시합니다 Content-Type. 일부 시나리오에서는 이것이 편리 할 수 ​​있지만 아래 나열된 일부 공격으로 이어질 수도 있습니다. X-Content-Type-OptionsHTTP 응답 헤더 세트 를 리턴하도록 서버를 구성 nosniff하면 MIME 스니핑을 지원하는 브라우저가 서버 제공 서버를 사용 Content-Type하고 컨텐츠를 다른 컨텐츠 유형으로 해석하지 않도록 지시합니다 .

브라우저 지원

X-Content-Type-OptionsHTTP 응답 헤더는 크롬, 파이어 폭스와 에지뿐만 아니라 다른 브라우저에서 지원됩니다. X-Content-Type-Options에 대한 MDN (Mozilla Developer Network) 브라우저 호환성 표에서 최신 브라우저 지원을 사용할 수 있습니다.

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options

공격에 대응

  1. MIME Confusion Attack (MIME 혼동 공격) 은 사용자가 악성 코드를 업로드 한 후 브라우저에서 실행하여 암시 적application/javascript대 명시적 등의 대체 컨텐츠 유형을 사용하여 파일을 해석 할 수 있도록하여 사용자 생성 컨텐츠 사이트를 통한 공격을 가능하게text/plain합니다. 이로 인해피싱의 일반적인 공격 경로 인 "드라이브 바이 다운로드"공격 이 발생할 수 있습니다. 사용자 생성 콘텐츠를 호스팅하는 사이트는이 헤더를 사용하여 사용자를 보호해야합니다. 이것은 VeraCode OWASP에 의해 다음같이 언급됩니다.

    이로 인해 MSIE는 현명한 이름 지정을 통해 실행 가능 파일 또는 동적 HTML 파일로 취급 될 수있는 사용자 업로드 콘텐츠를 제공하는 드라이브 바이 다운로드 공격 및 사이트에 대한 노출을 줄입니다.

  2. Content-Type스니핑을통해 무단 핫 링크 를 활성화 할 수도 있습니다. 보기와 같은 한 가지 목적을 위해 리소스가있는 사이트에 핫 링크를 연결함으로써 앱은 콘텐츠 유형 스니핑에 의존하고 서비스 약관에 위배 될 수있는 다른 목적을 위해 사이트에서 많은 트래픽을 생성 할 수 있습니다. 예를 들어 GitHub 는 그러나 실행하지는 않습니다.

    일부 성가신 사용자 (즉, 컴퓨터)는 원시 URL을 또는 태그 로 사용하여 원시보기 기능을 통해 자산을 "핫 링크"하도록 src했습니다 . 문제는 이것들이 정적 자산이 아니라는 것입니다. Rails 앱의 다른 뷰와 마찬가지로 원시 파일 뷰는 사용자에게 반환되기 전에 렌더링되어야합니다. 이로 인해 성능이 크게 저하됩니다. 과거에 우리는 서버에 과도한 부담을 주므로 이런 방식으로 제공되는 인기있는 컨텐츠를 차단해야했습니다.<script><img>


# prevent mime based attacks
Header set X-Content-Type-Options "nosniff"

이 헤더는 "마임"기반 공격을 방지합니다. 헤더는 브라우저가 응답 컨텐츠 유형을 대체하지 않도록 지시하므로 Internet Explorer가 선언 된 컨텐츠 유형으로부터 응답을 MIME 스니핑하는 것을 방지합니다. nosniff 옵션을 사용하여 서버가 컨텐츠가 text / html이라고 표시하면 브라우저는 해당 컨텐츠를 text / html로 렌더링합니다.

http://stopmalvertising.com/security/securing-your-website-with-.htaccess/.htaccess-http-headers.html


Microsoft IIS 서버의 경우 web.config파일을 통해이 헤더를 활성화 할 수 있습니다 .

<system.webServer>
    <httpProtocol>
      <customHeaders>
        <remove name="X-Content-Type-Options"/>
        <add name="X-Content-Type-Options" value="nosniff"/>
      </customHeaders>
    </httpProtocol>
</system.webServer>

그리고 당신은 끝났습니다.


X-Content-Type-Options 응답 HTTP 헤더는 서버가 Content-Type 헤더에 보급 된 MIME 유형을 변경하고 따라 가지 않아야 함을 나타 내기 위해 사용하는 마커입니다. 이를 통해 MIME 유형 스니핑을 거부 할 수 있습니다. 즉, 웹 마스터가 자신이하는 일을 알고 있다고 말하는 방법입니다.

구문 :

X- 컨텐트 유형 옵션 : nosniff

지시어 :

nosniff 요청 된 유형이 1. "style"이고 MIME 유형이 "text / css"또는 2. "script"가 아닌 경우 MIME 유형이 JavaScript MIME 유형이 아닌 경우 요청을 차단합니다.

참고 : nosniff는 "script"및 "style"유형에만 적용됩니다. 또한 이미지에 nosniff를 적용하면 기존 웹 사이트와 호환되지 않는 것으로 나타났습니다.

사양 :

https://fetch.spec.whatwg.org/#x-content-type-options-header

참고 URL : https://stackoverflow.com/questions/18337630/what-is-x-content-type-options-nosniff

반응형