2018. 10. 26. 13:39ㆍ인프라/Web Server & WAS
이번 프로젝트에서 웹 취약성 검사에 나왔던 이슈관련 정리입니다.
1.Content-Security-Policy ->간단하게 페이지에서 사용하는 모든 자원에 대한 제한을 거는 설정입니다. 즉, XSS관련 공격을 막아줍니다.
2.X-Content-Type-Option ->MIME을 무시하지 않게 제한합니다. 즉, mime기반 공격을 막아줍니다.(반드시 정해진 mime type으로만 화면을 렌더링하게함)
3.X-XSS-Protection ->XSS 공격을 막아줍니다.
출처:http://cyberx.tistory.com/171 ->개략적인 웹 취약성을 방지해주는 헤더들의 설명이 들어간 블로그.
검사에서 나왔던 요소들이었습니다. 그래서 이러한 헤더 설정을 위하여 Apache의 httpd.conf 파일에 정의했습니다.
1 2 3 4 5 | <IfModule mod_headers.c> Header set Content-Security-Policy "script-src 'self' ; img-src 'self'; style-src 'self' 'unsafe-inline';connect-src http:; child-src 'unsafe-inline'" Header set X-Content-Type-Options nosniff Header set X-XSS-Protection "1;mode=block" </IfModule> | cs |
해당 설정의 요소들은 구글링하면 자료를 많이 찾으실수 있습니다. 몇개만 예로 설명하면 script-src 'self' 같은 경우는 자바스크립트 코드는 해당 도메인 내의(자신의 도메인) 코드만 이용해라라고 제한하는 것이고(ex /js/script.js 같이 자신의 리소스자원에 있는), unsafe-inline 같은 경우는 보안에 좋지 않은 제한 범위이지만 html소스내에서 <script></script> 코드로 박혀있는 애들도 사용할수 있게 해라라는 뜻입니다. 해당 'self','insafe-inline'은 하나 이상 적용가능합니다. connect-src http: 같은 경우는 http:로 들어오는 모든 요청에 커넥션(ajax...등)을 받을 수 있게 합니다.
X-Content-Type-Options nosniff 같은 경우는 헤더가 응답 내용 유형을 무시하지 않도록 브라우저에 지시하므로 Internet Explorer가 선언 된 내용 유형에서 응답을 MIME 스니핑하지 못하게합니다. nosniff 옵션을 사용하면 서버에서 내용이 text / html이라고하면 브라우저는 text / html로 렌더링합니다.
X-XSS-Protection "1;mode=block" 같은 경우는 공격자가 XSS 공격을 시도할때 내장되어있는 XSS-Filter를 이용해 공격을 막을 수 있게 하는 설정입니다.
이 3개 이외에도 많은 웹 취약성을 보완해주는 설정들이 많습니다. 자신의 프로젝트 성격에 맞는 설정들을 찾으면 됩니다.
'인프라 > Web Server & WAS' 카테고리의 다른 글
Web Server - Nginx 설치 및 사용방법(nginx cache, reverse proxy, 프록시, 캐시) (0) | 2020.08.22 |
---|---|
Web - Http Header의 뜻 (0) | 2019.04.03 |
tomcat WAS에 spring(spring boot) 여러개의 war파일 배포(여러개 context) (0) | 2018.09.12 |