MACE's life blog

HTTP header - X frame Option 본문

비즈니스&IT

HTTP header - X frame Option

mace-lifelog 2017. 3. 7. 12:50
반응형

퍼가기 혹은 공유 서비스를 제공하는 경우,

웹표준과 보안 등등의 이슈가 많이 발생하여 Embed는 거의 사양세가 되었고, iframe을 사용하는 편이다. 

물론 iframe도 보안상 취약점이 있으나, 그래도 현실적인 대안 중 하나이다. 


문제는 이런 서비스를 제공할 때, 웹서버의 옵션이 변경되는 경우가 있다. 

버전을 업그레이드 하거나 기타 등등 이슈가 있다면 중요한 옵션이 변경되어 기존에 잘되던 서비스가 안되는 경우가 있다. 


개발자도 이런 부분을 놓치는 경우가 있기 때문에. 참고로 알고 있을 필요가 있다. 


 X-Frame-Options  


 Header type

 Response header 

 Forbidden header name 

 no 



 Syntax  

X-Frame-Option : DENY

X-Frame-Option : SAMEORIGIN

X-Frame-Option : ALLOW-FROM https://sample.com 


DENY

이것은 frame으로 서비스를 하지 않을때 옵션이다. 이렇게 되면 iframe으로 서비스를 할 수 없다.


SAMEORIGIN

이 옵션은 frame으로 서비스를 제공하지만 동일한 URL(Same Origin)일 경우에만 서비스가 된다. 동일 도메인을 사용하는 frame만 사용할 수 있다.  


ALLOW-FROM https://sample.com 

허용된 특정 URL에서만 Frame을 사용할 수 있도록 설정할 수 있다. 



RFC 7034의 X-Frame-Option 

The X-Frame-Options HTTP header field indicates a policy that specifies whether the browser should render the transmitted resource within a <frame> or an <iframe>.  Servers can declare this policy in the header of their HTTP responses to prevent clickjacking attacks, which ensures that their content is not embedded into other pages or frames.



슬프게도 변경관리 등에 의한 영향평가가 잘 이루어지지 않은 경우, 갑자기 공유 서비스가 안된다면, 이런 부분을 체크할 필요가 있다. 개발자에게 현상만을 알려주더라도, 이런 정보를 주면 바로 정상화가 가능하니깐. 


내가 제공하는 서비스를 다른 URL을 가진 HTML에서 Iframe으로 서비스가 안된다면 이 부분을 개발자에게 확인 요청하시기를. (증상은 4xx 대 http status가 표출되었음)  ( 403 ) 


오류메시지 : 이 콘텐츠를 프레임에 표시할 수 없습니다. 

HTTP Status : 403



 


반응형
Comments