2017. 7. 19.

[웹 취약점] HTTP 보안 헤더 모음

APP SCAN 점검 결과 보고서에서 간혹  Content-Security-Policy 미포함 에러가 포함되어 출력된다. 이번 기회에 HTTP 에서 보안을 강화하는 헤더에 대해 조사해보도록 하였다.
HTTP 헤더값에는 다양한 내용이 포함되어 있다. 

1. Content-Security-Policy

XSS과 연관된 공격의 피해를 최소화 할 수 있으며, 스크립트를 허용할 url(신뢰할 수 있는 url)을 헤더에 설정하는 옵션

사용 예는 다음과 같다.
  • Content-Security-Policy: script-src https://test.com

2. X-Frame-Options

clickjacking(사용자의 클릭을 훔쳐 엉뚱한 곳을 클릭하게 만드는 공격 기법)  방지 기능 포함
사용 방법은 다음과 같이 3가지가 있다.

  • X-Frame-Options : DENY (모두 표시 거부)
  • X-Frame-Options : SAMEORIGIN (같은 origin 일 경우에만 허용)
  • X-Frame-Options : ALLOW FROM http://sample.com (지정한 orgin에 한하여 허용)

3. X-Content-Type-Options

jpg 확장자로 js 파일을 올려 우회를 한 후에 script 태그에 src로 넣는 수법을 방지하는 헤더
이 헤더를 넣으면 MIMETYPE과 다르게 사용하지 못하게 한다. nosciff 를 넣어주면 활성화된다.

사용 예는 다음과 같다.
  • X-Content-Type-Options: nosniff

4. (HTTP) Strict-Transport-Security (HSTS)

해당 해더를 받게 되면 브라우저는 다음에 사이트에 접속할 때  https:// 를 붙이지 않더라도 웹브라우저가 https 로 접속하는 기능이다. 이와 같은 방법으로 SSL http, SSL strip 공격을 피할 수 있게된다. 
사용방법은 아래와 같다. includeSubDomains 를 넣어주면 서브도메인들에도 적용이된다. 
  • Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

5. Cashe control

악의적인 사용자가 브라우저 히스토리를 악용 할 수 있기 때문에 브라우저가 웹페이지 컨텐츠를 캐싱하지 않도록 설정한다.
사용 예는 다음과 같다.
  • Cache-Control: no-cache

6. X-XSS-Protection

웹 브라우저의 내장 XSS Filter를 사용하도록 하는 옵션
사용 예는 다음과 같다.

  • X-XSS-Protection;  1; mode=block

참고
  • https://jaewoongmoon.wordpress.com/2016/07/08/http-%EC%9D%91%EB%8B%B5-%EB%B3%B4%EC%95%88-%ED%97%A4%EB%8D%94%EC%99%80-%EC%8A%A4%ED%94%84%EB%A7%81-security-%EC%84%A4%EC%A0%95/
  • https://www.kjwon15.net/wordpress/articles/computer/security/288

Popular Posts

Recent Posts

Powered by Blogger.