[FE로드맵] 웹 보안(Web security)
- HTTP over SSL, HTTP over TLS, HTTP Secure
- TLS(Transport Layer Security; 전송 계층 보안)
- SSL(Secure Socket Layer; 보안 소켓 레이어)이 표준화되며 바뀐 이름
- 네트워크 통신 중 도청, 간섭, 위조를 방지하기 위해 설계됨
- 3단계 기본 절차
- 지원 가능한 알고리즘 교환
- 키 교환 및 인증
- 대칭키 암호로 암호화 및 메시지 인증
- 쉽게 말해서, 서버와 클라이언트가 주고받는 데이터를 특정 알고리즘과 키로 암호화하여, 제삼자가 데이터에 접근할 수 없도록 하는 프로토콜
- URI가
http://
대신 https://
로 시작하며 기본 TCP/IP 포트는 443을 사용
- Cross-Origin Resource Sharing; 교차 출처 리소스 공유
- 응답 헤더
Access-Control-Allow-Origin
에 명시한 도메인에만 리소스를 공유함
- 기본적으로 한 origin(도메인)의 리소스는 다른 origin으로의 공유가 금지되기 때문에 서버 측에서 허용 도메인을 작성해주어야 함
- 특별한 조치 없이도 항상 허용되는 태그:
<img>
, <script>
, <style>
, <iframe>
등
- 허용되지 않은 도메인에서
<iframe>
으로 가져온 콘텐츠에 접근하려고 하면 CORS 정책 위반 오류 발생
- Content Security Policy; 콘텐츠 보안 정책
- 사이트 간 스크립팅(XSS; Cross-site scripting) 등의 공격을 예방하기 위해 도입된 보안 표준
- 그렇지만 script 외에도 이미지, 미디어, 스타일시트 등 다양한 콘텐츠의 출처를 제한할 수 있음
- 응답 헤더
Content-Security-Policy
에서 허용하는 콘텐츠만 실행되도록 함
<meta http-equiv="Content-Security-Policy" content="" />
에도 작성할 수 있음
- CORS가 콘텐츠 유출을 제한하는 것이라면, CSP는 콘텐츠 유입을 제한하는 것 정도로 생각할 수 있을 듯
- the Open Web Application Security Project; 오픈소스 웹 애플리케이션 보안 프로젝트
- 웹 애플리케이션 보안 취약점 중에서 높은 빈도로 발생하는 항목 10가지를 선정하여 발표함
- Top 10이긴 하지만 10가지 모두 중요한 것은 물론이고, 목록에 없어도 중요한 것들이 많음
참고한곳