반응형
콘텐츠 보안 정책(CSP; Content Security Policy)
콘텐츠 보안 정책(CSP)는 신뢰된 웹 페이지 콘텍트에서 악의적인 콘텐츠를 실행하게 하는 사이트간 스크립팅(XSS), 클릭재킹, 그리고 기타 코드 인젝션 공격을 예방하기 위한 브라우저 보안 계층이다. 웹 사이트가 직접 정책을 정해서 사용할 수 있다.
대부분의 브라우저들은 CSP를 지원하고 있다.
CSP 사용 방법
1. 마크업 내 메타 태그로 설정하기
<meta http-equiv="Content-Security-Policy" content="default-src https://cdn.example.net; child-src 'none'; object-src 'none'">
2. 웹 서버의 응답 헤더에 설정하기
- Content-Security-Policy : W3C에서 지정한 표준 헤더
- X-Content-Security-Policy : Firefox / IE 구형 브라우저에서 사용되는 헤더
- X-WebKit-CSP : Chrome 기반의 구형 브라우저에서 사용되는 헤더
Content-Security-Policy: 설정할 정책 내용
Content-Security-Policy: default-src https://cdn.example.net; child-src 'none'; object-src 'none'
리소스 지시문
- base-uri 페이지의 <base> 요소에 나타날 수 있는 URL을 제한
- child-src 작업자와 삽입된 프레임 콘텐츠에 대한 URL을 나열 (지원 중단된 frame-src 대신 사용)
- connect-src (XHR, WebSockets 및 EventSource를 통해) 연결할 수 있는 출처를 제한
- font-src 웹 글꼴을 제공할 수 있는 출처를 지정 (font-src https://themes.googleusercontent.com을 통해 Google의 웹 글꼴을 사용)
- form-action <form> 태그에서의 제출을 위해 유효한 엔드포인트를 나열
- frame-ancestors 현재 페이지를 삽입할 수 있는 소스를 지정
- img-src 이미지를 로드할 수 있는 출처를 정의
- media-src 동영상과 오디오를 제공하도록 허용되는 출처
- object-src 플래시와 기타 플러그인에 대한 제어를 허용
- plugin-types 페이지가 호출할 수 있는 플러그인의 종류를 제한
- report-uri 콘텐츠 보안 정책 위반 시 브라우저가 보고서를 보낼 URL을 지정 (<meta> 태그에서 사용 불가)
- style-src script-src에서 스타일시트에 해당
- upgrade-insecure-requests 사용자 에이전트에 URL 구성표를 다시 작성하여 HTTP를 HTTPS로 변경하도록 지시
참고할 자료
https://developers.google.com/web/fundamentals/security/csp/?hl=ko
콘텐츠 보안 정책 | Web | Google Developers
콘텐츠 보안 정책은 최신 브라우저에서 교차 사이트 스크립팅 공격의 위험과 영향을 현저히 줄일 수 있습니다.
developers.google.com
반응형
'웹_프론트엔드 > 로드맵 챌린지' 카테고리의 다른 글
웹 보안 지식 - OWASP 보안 취약점 Top 10 (2021년 버전) (0) | 2022.01.14 |
---|---|
웹 보안 지식 - CORS (Cross Origin Resource Sharing) (1) | 2022.01.13 |
웹 보안 지식 - HTTPS (0) | 2022.01.11 |
VCS - GitHub (깃허브) (0) | 2022.01.10 |
VCS - Git 기본 사용법 (0) | 2022.01.08 |