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을 만들어준다.