본문 바로가기
[개발] Programming

X-Frame-Options 설정으로 clickjacking 공격 예방하기

by eatyourKimchi 2021. 10. 25.

 

X-Frame-Options 이란?

 

 The X-Frame-Options HTTP 응답 헤더는 해당 페이지를 <frame> 또는<iframe>, <object> 에서 렌더링 할 수 있는지 여부를 나타내는 데 사용됩니다. 사이트 내 콘텐츠들이 다른 사이트에 포함되지 않도록 하여 clickjacking 공격을 막기 위해 이 헤더를 사용합니다. (출처 : developer.mozilla.org)

 

 

 

X-Frame-Options 설정하기

 현재 위도우 서버에서 테스트를 진행하였기 때문에 IIS 기준으로 정리해 봤습니다.

아파치나, ngnix 설정은 아래 페이지 참고하시면 됩니다.

 

developer.mozilla.org/ko/docs/Web/HTTP/Headers/X-Frame-Options

 

 

윈도우 IIS 설정

<system.webServer>
  ...
    <httpProtocol>
      <customHeaders>
        <add name="X-Frame-Options" value="sameorigin" />
      </customHeaders>
    </httpProtocol>
  ...
</system.webServer>

 

위 소스를 IIS의 web.config 파일에 추가해주면 됩니다.

그러고 나서 IIS만 재시작해주면 적용된 걸 확인할 수 있죠~

 

 

 

X-Frame-Options 적용 확인

 마지막으로 X-Frame-Options가 잘 적용됐는지 확인하는 방법을 알려드리면,

크롬 기준으로 F12, 개발자 도구 열어서 > 네트워크 > 좌측에서 메인 페이지 클릭

Response > Response Headers 쪽을 보면 아래와 같이 추가된 걸 알 수 있습니다.

 

 

이걸 적용한다고 해서 공격에 완전 안전해지는 건 아니지만, 

그래도 적용하면 유용한 옵션이라 생각합니다.

 

게다가 설정 방법도 매우 쉬우니 굳이 안 할 이유는 없겠죠?

 

댓글