본문 바로가기
보안

[CSP] content-security-policy header not set 해결

by 승븐지 2024. 9. 28.
반응형
반응형
 ZAP2.15.0 웹취약점 툴을 돌렸을때 발생한 Content Security Policy 해결방법이다 .
Content-Security-Policy(CSP) 헤더가 설정되지 않았다는 경고는 웹 애플리케이션의 보안 설정이 충분하지 않다는 것을 의미한다. CSP는 웹 애플리케이션에서 악의적인 코드 실행(예: XSS 공격)을 방지하기 위해 HTTP 응답 헤더를 통해 브라우저가 특정 리소스의 로딩을 제한할 수 있도록 설정하는 보안 메커니즘이다.

 ZAP2.15.0 웹취약점 툴을 돌렸는데 위험등급이 Medium인 Content Security Policy eader not set 이 발생하였다 . 

나는 톰캣 설정을 수정해서 해결을 하였다 .

 

1. CSP란 무엇인가?

Content-Security-Policy는 브라우저가 웹페이지 내에서 허용되는 콘텐츠의 소스를 정의하고 제어할 수 있게 해주는 HTTP 응답 헤더이다. 주로 아래와 같은 위험을 방지하기 위해 사용된다

  • 크로스 사이트 스크립팅(XSS): 악의적인 스크립트가 페이지에 삽입되어 실행되는 공격.
  • 데이터 인젝션 공격: 해커가 악성 코드를 삽입하여 데이터 탈취나 조작.
  • 클릭재킹(Clickjacking): 사용자가 의도하지 않은 버튼 클릭을 유도하여 공격자에게 민감한 정보를 전달.

2. 오류 메시지의 의미

content-security-policy header not set이라는 경고 메시지는 해당 웹 애플리케이션이 Content-Security-Policy 헤더를 사용하지 않거나, 보안이 설정되지 않았음을 나타내며, 이는 웹페이지가 악의적인 스크립트나 리소스가 로드될 수 있도록 방치된다는 의미로, 공격에 노출될 가능성이 있다.

 

내가 해결했던 방법을 한번 공유해보겠다. 

1.웹 취약점 대상 서버에 접속 후 Apache-tomcat-9.0.14 -> conf -> server.xml에서이미지와 같이 설정이 되어있는지 확인을 한다

 

 

2.Apache-tomcat-9.0.14 -> conf -> web.xml에서이미지와 같이 설정을 해주자.
이미지와 같이 filter 는 주석처리를 해주자

3.웹취약점 적용 대상인 프론트엔드 프로젝트에서 public 폴더에 robot.txt, sitemap.xml을 만들어준다.

 

 

4. robot.txt 파일

5.sitemap.xml 파일ㄴㄴㄴ

 

이후 다시  ZAP2.15.0 웹 취약점 툴을 돌려보았다.  다행히 문제는 해결되었다 .

반응형