Skip to main content

프론트엔드 개발을 위한 보안 입문

목차

  • 웹 보안의 개요
  • 실습 준비
  • HTTP
  • Origin에 의한 애플리케이션 간 접근 제한
  • XSS
  • 기타 수동적인 공격: CSRF, 클릭재킹, 오픈 리다이렉트
  • 인증 및 인가
  • 라이브러리를 노린 보안 리스크

머릿말

프론트엔드와 백엔드를 구분하지 않고 있는 보안 관련책이 많아서 프론트엔드 개발자로서 무엇부터 배워야 할지 감을 잡지 못하는 분들을 위해서 실습과 더불어 필요한 지식을 전달하는 것이 이 책의 목표라고 합니다. 저자는 히라노 마사시이시고, 이춘혁님이 번역을 하셨습니다.

book

본인 생각

초반에는 웹 보안의 개요, HTTP 같은 기본적인 지식을 먼저 친절하게 알려줍니다. 그리고 실습은 당연히 프론트엔드 개발자를 위한 Node와 Express로 간단하게 HTTP 서버를 구축하고 해당 코드 또한 Github에서 공유되고 있습니다. 그리고 번역판이라 워딩이나 부드럽지 못한 컨텍스트가 있을까 했었는데 어색한 부분이 하나도 없었던 것 같습니다. 노드쪽도 살짝 배울 수 있어서 좋았습니다.

중반 부 시작은 모든 개발자들이 제일 먼저 마주하는 CORS, 그리고 XSS 그리고 순차적으로 위에 목차에 적혀있는 취약성을 다 다루게 됩니다. 생각보다 깊게 설명해주고 파생되는 지식도 같이 설명해주게 되면서 사실상 네트워크 지식도 얻어갈 수 있습니다. 해당 취약성이 발생하는 플로우를 그림으로 설명해주어서 좋았습니다. 그리고 결과창도 화면 그대로를 캡쳐해서 보여주기 때문에 따라가기도 수월했던 것 같습니다.

하지만 가끔 뇌절까지는 아니지만 몰라도 될 것 같은 헤더 옵션들도 하나하나 설명해주는 부분도 있는데, 저는 넘어갔습니다.

capture

그리고 후반 부에는 좀 더 프론트엔드 쪽에 힘을 실어서 현재 프론트엔드에 라이브러리 상황이라던가, 특히 CDN 관련된 취약성을 많이 다뤄줍니다. 또 그 외 라이브러리 자체에 취약성을 확인하는 툴과 서비스 그리고 본인의 프로젝트에서 설정하면 좋을 것들과 CLI 등을 이야기합니다. 마지막으로는 아무래도 프론트엔드 쪽에 포커스를 주어서 작성되어 추가적인 보안 부분을 학습하기 위한 가이드라인과 리소스를 책 뒤편에 정리해 주셨습니다.

HTTPS같은 세팅과 학습 난이도가 살짝 어렵다고 생각되는 부분도 뒤에서 따로 적혀있어서 신입분들에 대해서 책 구조적으로 배려가 있다고 생각되었습니다.

마무리

프레임워크로 가려져서 알 수 없는 이런 취약성 및 보안적인 부분을 간략하게 보고 싶고, 기반 지식이 없다면 이 책도 정말 좋을 것 같습니다. 보안 관련책이지만 네트워크 관련 파생지식도 정말 정말 많이 나오기때문에 지나쳤던 것들을 잡기 좋을 것 같습니다. 물론 저도 완벽히 이해를 전부하진 못했지만 학습 내용 발표하는 스터디에서 책 내용을 정리해서 지식을 공유해 보도록 하려고 합니다.