메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

컨테이너 보안

컨테이너화된 응용 프로그램의 보안을 위한 개념, 이론, 대응법과 모범 관행까지

한빛미디어

번역서

판매중

  • 저자 : 리즈 라이스
  • 번역 : 류광
  • 출간 : 2021-02-01
  • 페이지 : 252 쪽
  • ISBN : 9791162243923
  • 물류코드 :10392
  • 초급 초중급 중급 중고급 고급
4.8점 (21명)
좋아요 : 12

공격과 사고에 대비하는 컨테이너 보안의 기술 

 

컨테이너 환경에 특화된 보안 문제를 다루는 실무 지침서다. 컨테이너를 배치하고 실행하는 단계마다 어떤 일이 일어나며, 발생할 수 있는 위협은 무엇인지 상세히 설명한다. 컨테이너의 작동 및 통신 원리를 파헤친 뒤 컨테이너를 격리하는 다양한 방법을 안내하고, 리눅스가 제공하는 기능을 활용하여 컨테이너별로 보안을 강화하는 방법을 익힌다. 컨테이너 이미지를 안전하게 구축하는 모범 관행도 소개한다. 이 책으로 컨테이너의 원리와 보안 문제의 본질을 이해하고 나면, 각 환경에 최적화된 방식으로 잠재 위험을 발견하고 해결해나가는 자신만의 방법을 구축하게 될 것이다.

 

 

출판사 리뷰

 

보안 문제에는 만능 해결책이 없다. 조직마다 구축한 환경이 다르고 외부 공격과 위협은 시시각각 변하기 때문이다. 컨테이너 보안 전문가인 저자는 독자가 스스로 잠재적인 보안 위험을 발견하고 문제를 해결하는 방법을 익히도록 돕는다. 활용이나 변형이 어려운 매뉴얼을 제시하기보다는 컨테이너를 구동하는 환경에 대해 근본적으로 이해하고 변수가 많은 보안 문제에 유동적으로 대응하게 한다. 개발자, 운용자, 보안 전문가 누구든 컨테이너가 단순한 배치의 단위가 아니라 가장 중요한 ‘보안의 단위’임을 이해하게 될 것이다. 사물의 작동 방식과 원리를 파헤치고 이해하길 좋아하는 사람이라면 이 책의 서술 방식을 무척 흥미롭게 느낄 것이며, 리눅스 터미널을 익숙하게 다룰 줄 안다면 더 없이 좋을 것이다.

 

이 책에서 다루는 내용

- 컨테이너 배치본에 영향을 미치는 공격 벡터

- 컨테이너를 지탱하는 리눅스 기능

- 컨테이너의 보안을 강화하는 수단

- 컨테이너의 격리를 깰 수 있는 설정 오류

- 컨테이너 이미지 구축을 위한 모범 관행

- 컨테이너 이미지의 취약점을 찾는 방법

- 컨테이너간 보안 네트워크 연결 설정

- 보안 도구를 활용해 배치본에 대한 공격을 방어하는 방법

 

 

추천사

리눅스 커널, 컨테이너, 가상머신 격리에 관한 완벽한 가이드. 핵심을 설명한 뒤 예시를 보여주는 저자의 설명 방식은 당신을 컨테이너 보안이라는 신비의 세계로 안내한다. 

_ 앤드루 마틴, ControlPlane 이사

 

컨테이너 격리, 이미지 보안, 핵심 리눅스 개념에 관해 원리부터 설명하는 방식이 뛰어나다. 저자가 제시하는 보안 원칙과 지침을 따라보길 적극 권한다.

_ 필 에스테스, 리눅스 및 컨테이너 전략 분야 수석 엔지니어 & CTO, IBM 클라우드

 

리즈 라이스 저자

리즈 라이스

컨테이너 오픈소스 보안 전문 회사 Aqua Security의 오픈소스 공학 부사장(Vice President of Open Source Engineering)으로서 Trivy, Tracee, kubehunter, kube-bench 같은 프로젝트를 관리한다. CNCF의 기술 감독 위원회(Technical Oversight Committee)의 의장이며 코펜하겐, 상하이, 시애틀에서 열린 ‘KubeCon + CloudNativeCon 2018’ 행사들의 공동 의장을 역임했다.

네트워크 프로토콜 및 분산 시스템에 대한 소프트웨어 개발 관리와 개발팀 관리, 제품 관리에 풍부한 경험을 가지고 있으며, VOD나 음악, VoID 같은 디지털 기술 분야에 대한 경험도 풍부하다. 코드를 작성하거나 강연을 하지 않을 때는 고향인 런던보다 날씨가 좋은 곳에서 자전거 타기를 즐기며, 비디오게임 <Zwift>에서 펼쳐지는 가상의 자전거 경주에도 열중한다.

류광 역자

류광

25년 이상의 번역 경력을 가진 전문 번역가로, 『컴퓨터 프로그래밍의 예술』(The Art of Computer Programming) 시리즈와 『UNIX 고급 프로그래밍』(Advanced Programming in UNIX Environment ) 제2판 및 제3판, 『인공지능: 현대적 접근방식』(Artificial Intelligence: A Modern Approach) 제3판 및 제4판, 『Game Programming Gems』 시리즈를 비롯해 80권 이상의 다양한 IT 전문서를 번역했다. 본서와 관련이 깊은 번역서로는 『유연한 소프트웨어를 만드는 설계 원칙』(한빛미디어, 2020)이 있다.

 

개인 웹사이트 류광의 번역 이야기(https://occamsrazr.net)와 게임 개발 웹사이트 Gpg Study(https://gpgstudy.com)를 운영한다. 

 

 

제1장 컨테이너 보안 위협

__1.1 위험, 위협, 완화

__1.2 컨테이너 위협 모형

__1.3 보안 경계

__1.4 다중 입주

__1.5 보안 원칙들

__1.6 요약

 

제2장 리눅스 시스템 호출, 접근 권한, 능력

__2.1 시스템 호출

__2.2 파일 접근 권한

__2.3 리눅스 능력

__2.4 권한 확대

__2.5 요약

 

제3장 cgroups와 제어 그룹

__3.1 제어 그룹 위계구조

__3.2 제어 그룹 생성

__3.3 자원 한계 설정

__3.4 프로세스를 제어 그룹에 배정

__3.5 도커와 cgroups

__3.6 cgroups 버전 2

__3.7 요약

 

제4장 컨테이너 격리

__4.1 리눅스 이름공간

__4.2 호스트 이름 격리

__4.3 프로세스 ID 격리

__4.4 루트 디렉터리 변경

__4.5 이름공간과 루트 변경의 조합

__4.6 마운트 이름공간

__4.7 네트워크 이름공간

__4.8 사용자 이름공간

__4.9 IPC 이름공간

__4.10 제어 그룹 이름공간

__4.11 호스트의 관점에서 본 컨테이너 프로세스

__4.12 컨테이너 전용 호스트

__4.13 요약

 

제5장 VM과 컨테이너

__5.1 컴퓨터 부팅 과정

__5.2 VMM의 등장

__5.3 “가두고 흉내 낸다” 접근 방식

__5.4 가상화 불가 명령의 처리

__5.5 프로세스 격리와 보안

__5.6 VM의 단점

__5.7 컨테이너 격리와 VM 격리의 비교

__5.8 요약

 

제6장 컨테이너 이미지

__6.1 루트 파일 시스템과 이미지 설정

__6.2 실행 시점에서 매개변수를 명시적으로 설정

__6.3 OCI 표준

__6.4 이미지 설정 정보

__6.5 이미지 구축

__6.6 이미지 저장

__6.7 이미지 식별

__6.8 이미지 보안

__6.9 구축 시점 보안

__6.10 이미지 저장 보안

__6.11 이미지 배치 과정의 보안

__6.12 GitOps와 배치 보안

__6.13 요약

 

제7장 컨테이너 이미지의 소프트웨어 취약점

__7.1 취약점 연구

__7.2 취약점, 패치, 배포판

__7.3 응용 프로그램 수준 취약점

__7.4 취약점 위험 관리

__7.5 취약점 스캐닝

__7.6 설치된 패키지 찾기

__7.7 컨테이너 이미지 스캐닝

__7.8 스캐닝 도구들

__7.9 스캐닝 과정을 CI/CD 파이프라인에 도입

__7.10 취약한 이미지가 실행되지 않게 하는 방법

__7.11 제로데이 취약점

__7.12 요약

 

제8장 컨테이너 격리의 강화

__8.1 seccomp

__8.2 AppArmor 

__8.3 SELinux 

__8.4 gVisor 

__8.5 카타 컨테이너

__8.6 파이어크래커

__8.7 유니커널

__8.8 요약

 

제9장 컨테이너 격리 깨기

__9.1 루트로 컨테이너 실행

__9.2 --privileged 플래그와 리눅스 능력

__9.3 민감한 디렉터리의 마운팅

__9.4 도커 소켓 마운팅

__9.5 컨테이너와 호스트의 이름공간 공유

__9.6 사이드카 컨테이너

__9.7 요약

 

제10장 컨테이너 네트워크 보안

__10.1 컨테이너 방화벽

__10.2 OSI 네트워크 모형

__10.3 IP 패킷이 전송되는 과정

__10.4 컨테이너의 IP 주소

__10.5 네트워크 격리

__10.6 계층 3, 4의 라우팅과 규칙들

__10.7 네트워크 정책

__10.8 서비스 메시

__10.9 요약

 

제11장 TLS를 이용한 구성요소 간 보안 연결

__11.1 보안 연결

__11.2 X.509 인증서

__11.3 TLS 연결

__11.4 컨테이너들 사이의 보안 연결

__11.5 인증서 폐기

__11.6 요약

 

제12장 비밀 정보를 컨테이너에 전달

__12.1 비밀 값의 속성들

__12.2 컨테이너에 정보를 전달하는 방법

__12.3 쿠버네티스의 비밀 값

__12.4 루트의 비밀 값 접근

__12.5 요약

 

제13장 실행 시점 컨테이너 보호

__13.1 컨테이너 이미지 프로파일

__13.2 표류 방지

__13.3 요약

 

제14장 컨테이너와 OWASP 10대 위험

__14.1 주입

__14.2 취약한 인증

__14.3 민감한 데이터 노출

__14.4 XML 외부 개체

__14.5 취약한 접근 제어

__14.6 잘못된 보안 설정

__14.7 교차 사이트 스크립팅(XSS)

__14.8 안전하지 않은 역직렬화

__14.9 알려진 취약점을 가진 구성요소 사용

__14.10 불충분한 로그 기록과 감시

__14.11 요약

 

부록: 보안 점검 목록

IT에서 보안이라는 영역은, 어찌 되었던 케잌 위에 먹음직스런 빨간 체리는 분명 아닐 것이다. 개인적으로 IT를 하면서 기피하고 싶은 것 1순위는 보안이지만, 그렇다고 뗄레야 뗄 수 없는 것도 역시 보안이다. 

 

IT 기술서적이 범람하는 요즘, 내용을 떠나 잘 읽히는 책은 많지 않다. 번역의 수준이나, 필드에서는 용어를 그대로 쓰는데 억지로 한국어로 옮겨 써야 하는 번역가의 고충과, 그걸 억지로 이해해야 하는 독자의 힘듦은 누구에게도 보상 받기가 힘들다. 그런면에서 한빛미디어와 류광 역자님의 조합은 다른 IT 서적에서의 피로함을 상당히 보상 받을 수 있었다. 하나의 용어라도 이해하기 쉽게 따로 주석을 달아주는 세심함으로 개념을 처음 접하는 사람 부터, 익숙한 사람까지 다시 한번 그 용어를 새롭게 정립할 수 있게 해주었다.

도커를 안 써 본 사람은 많지만, 안 들어 본 사람은 이제 찾기 힘들다. 그 만큼 높은 편의성과 우수한 보안으로 각광 받고 있다. 도커는 우리는 단지 휘발유인지 경유인지, 혹은 전기로 가는지 걱정 않고, 시동이 켜진 자동차를 받아, 그냥 운전석에 앉아 엑셀을 밟고 핸들만 조정 하면 되는 것 이었다. 그런 우리에게 “컨테이너 보안”이란 갑자기 그 자동차의 설계서를 던져주고 공부하라는 것과 같은 것이다.  KakaoTalk_Photo_2021-02-21-22-49-38.jpeg

 

책 처음 몇 장은 기본적인 내용과 이론적인 내용이 함께 들어 있다. 초보자가 읽기에는 부담스럽지 않고, 술술 읽히는 내용이다. 그리고 그 뒤를 이어 컨테이너에 대한 구조와 격리 취약점에 대한 내용이 나와 있다. 사실 내용이 쉬운 책은 아니지만, 읽기 어려운 책은 분명 아니다. 책 중간중간 심층적인 내용은 따로 장황한 URL이 아닌 단축 URL로 접근 하기 쉽게 해놓았기 때문에 보충 내용을 찾아보는데 수월하다.

만약 나와 같은 독자가 있다면 보안이란 이름으로 겁먹지 않기를 부탁한다. 내용이 다 이해되지 않더라도, 가볍게 한 번 읽어보면 좋겠다. 특히 114-115페이지는 (과장을 좀 많이 했지만), 추리소설에서 범죄의 실마리를 찾는 것 같은 취약점을 소개 해 준다. 

'보안은 습관이다.' 라는 말을 하고 싶다. 

책 마지막에 '보안 점검 목록'은 더 견고하고 안전한 컨테이너를 구축하는데 정말 큰 도움이 될 것이다. 

 

​* 본 리뷰는 한빛출판네트워크의 "나는 리뷰어다 2021"에서 제공된 책으로 리뷰하였습니다. 

 

 

 

클라우드 개발을 하게 되면 대부분 도커를 사용하게 됩니다.

즉 컨테이너 식으로 개발을 하기 때문이죠.


대부분의 개발자는 시간에 쫓겨서 개발 일정에 맞춰서 출시를 합니다.

그러다 보면 보안에 빈틈이 생기는 경우가 종종 있는데요.


컨테이너 보안에 관련된 지식을 채울 수 있도록 도와주는 책이 나왔습니다.

바로 '컨테이너 보안' 입니다.


이 책은 챕터 별로 봐도 되지만 연결되는 내용은 아니며, 관심 있는 파트부터 봐도 무방합니다.



01.jpg

 


1. 컨테이너 스캐닝은 필수

도커 허브에서 파일 중 코인 채굴 프로그램도 내포된 파일이 종종 있는데요.

스캐닝을 통해서 문제가 있는 확인 하는 방향이 우선입니다.


이후 버전 부분도 최신판으로 취약점에 취약한 지 확인이 필요합니다.



02.jpg

 


2. 접근 권한

컨테이너는 대부분 리눅스 기반으로 시스템이 운용됩니다.

접근 권한은 사용자가 파일에 접근을 할 수 있는지, 어떤 일을 할 수 있는지 권한을 설정합니다.


초기 개발하는 경우에 관리자로 설정되어서 권한이 남용되는 케이스가 있는데요.

이러한 점을 접근 권한을 따로 줌으로써 보안에 위협을 받더라도 권한이 없어서 자료를 탈취할 수 없습니다.

 

 

03.jpg

 

 

 

3. OWASP 10대 위협

보안 분야에서 일하는 분들은 알고 있는 프로젝트가 있습니다.

바로 OWASP입니다.


정기적으로 10대 웹 응용 프로그램 보안위험을 발표합니다.


 

이 발표자료를 바탕으로 어떤 종류의 공격이 오는지 확인하고 보안 계획을 수렵하는 게 도움이 될 것입니다.

 

Ps.

이 책은 보안 파트를 담당하는 분들과 서버 개발 등 하는 분들에게 컨테이너를 이해하는 큰 도움이 되는데요.

도커와 쿠버네티스에 지식이 있고 관련된 보안 부분이 부족한 분들에게 보안 관련된 단비 같은 책으로 보입니다.

 


도커와 같은 컨테이너를 운용하는 환경에서 고려해야하는 보안 요소를 전반적으로 잘 서술한 책입니다. 연구 및 개발 혹은 서비스를 운영하는 용도로 컨테이너를 활용한다면 필수로 읽어야 하는 책이라 생각이 듭니다.

약 250쪽 분량으로 컨테이너 보안에 대해서 빠르게 개념적으로 학습해야하는 분들에게 도움이 될 것입니다. 이해하기 용이하도록 번역이 잘 되어 있습니다.

컨테이너 보안이라고 특별히 다른 건 없다. 기존 PM, VM에서 고려해야할 사항들을 그대로 상속받는다.

하지만 컨테이너를 사용하므로써 더 신경써야할 보안 요소들이 있다.

이 책에서는 컨테이너에서 신경써야할 보안 요소뿐만 아니라 왜 신경을 써야하는지에 대해서도 친절하게 알려준다.

 

보안 책 인줄 알았는데, 컨테이너 책이자나?!라고 생각들 정도로 컨테이너에 대한 딥한 얘기들도 많다.

예를 들면, docker in docker 이슈를 해결하기 위해 사용되는 --privilieged 옵션이나 docker.sock을 공유하는 방법이 왜 보안 상 피해야할 사항인지 자세히 알 수 있다.

 

책의 목차를보면 쉬운 듯 보이지만

완전 기초 지식이 없는 분들의 경우 이해하기 조금 어려울 것 같습니다.

 

이 책을 읽기 전에 

리눅스, 네트워크, 컨테이너의 기본에 관련된 글을 읽고 오면

더욱 도움이 될 것 같으며, 

실제로 활용하는데도 큰 문제가 없을 것 같습니다. 

 

특히 마지막 장인 컨테이너와 OWASP 10대 위험에 관련된 부분이

특히 좋았습니다. 

 

 

 

 

최근 도커, 쿠버네티스 등 컨테이너, 가상화 기술을 각광을 받고 있다. 이는 IT 전체의 패러다임 만을 변화시킨 것이 아니라 특히 특정 영역에 있는 업계에도 대단한 바람을 불고 올 변화였다. 그 부분 중 하나가 바로 '정보보안' 업계이다. 

물론 컨테이너 방식을 도입하려고 하는 기업들 입장에서도 갑자기 찾아온 변화에 적응하기 위해 많은 노력이 행해지고 있을 것이다. 그럼에도 정보보안 업계는 그야말로 발등에 불이 떨어진 격이다. 기존의 온프레미스 방식의 보안 서비스 제공에서 이제는 클라우드와 컨테이너화된 환경을 가진 기업들에게 새로운 보안 서비스를 제공해야 하는 것이다. 나 또한 그러한 변화의 소용돌이 안에 집어던져진 느낌이다. 그렇다고 해서 강건너 불 구경 하듯이 할수는 없는 노릇이다. 원래 이 분야는 평생 새로운 기술을 배우지 못하면 뒤쳐질 수 밖에 없다는걸 잘 알고 있기 때문에 팀 차원에서 뿐만 아니라 나 개인도 이런 환경을 이해하기 위해 노력하고 있다. 서론이 길었는데 그런 흐름 속에서 내가 공부를 선택한 책이 바로 이 책이다. 

 

다른 책들은 도커가 어떻고. 쿠버네티스는 어떻게 하며 컨테이너화는 이런 특징과 이런 방법으로 이용할 수 있다 등등과 같은 것을 이해하지만 이 책은 오로지 컨테이너 환경의 보안에 관해서만 초점을 맞추고 있다. 제목만 봐도 왠지 어려울 것 같은데 책 분량은 260페이지를 넘지 않는 정도로 그렇게 두껍고 어려운 책은 아니다. 하지만 방대한 책 이름에 비하여 내용이 컴팩트한 이유는 이 책의 독자가 도커나 쿠버네티스를 사용해본 적이 이용해본 적이 있고 최소한 리눅스 터미널을 능숙하게 다를 줄 알아야 한다는 사실이다. 리눅스 명령어 자체는 어렵지 않으니 도커나 쿠버네티스에 대해 어느정도 알고 있거나 공부해본 경험만 있다면 이 책에 필요한 사전지식이 그렇게 많은 것도 아니다.

 

본 책의 서술 방식은 일반적인 프로그래밍 책 같은 튜토리얼 방식은 아니다. 하나의 큰 주제(챕터)를 가지고 그 주제에 대한 작동 원리, 리눅스를 통해 확인하는 과정, 그리고 그것이 보안에 미치는 영향과 그 영향에 대한 해결책 등을 제시하는 구조로 되어있다. 

 

여기서는 내가 주로 관심 있었던 영역에 대해서만 몇가지 말하려고 한다.

 

사실 이 책의 어느정도의 분량은 컨테이너 환경에서만 치부할 수 있는 보안 문제가 아니다. 모든 것들이 기존의 토대가 놓인 상태에서 기술들이 완성되기 때문에 호스트 OS에 영향이 있는 보안 취약점은 컨테이너 상황에서도 마주할 가능성이 높다는 것이다. 그래서 그런 공통적인 취약 상황에 놓일 수 있는 것들이 어느 것들이 있는지를 보여주고 있다. 또 setuid와 같은 특수 접근권한에서 유념해야 할 보안적 관점을 보여주고 있다. 또 이것들이 왜 컨테이너 환경 관점에서 중요한 것인지도 알 수 있도록 하였다. 

 

이 책은 또한 컨테이너 격리와 VM 격리를 비교하고 있다. 왜냐하면 컨테이너와 VM은 가상화라는 개념에서는 동일하지만 실제로 동작하는 방식과 원리, 구조가 완전히 다르다. 그런데 가상화라는 이유로 자주 함께 언급이 되니 혼동이 오는 독자가 분명 있을 것이다. 그래서 뭐가 얼마나 다른지를 설명해주는 것이다.

 

 

그리고 다음으로는 도커 이미지에 대한 보안 취약점을 설명하는 부분이 인상깊었다. 그 이유는 이것이 바로 내가 연구하려고 준비하는 주제이기 때문이다. 실제 취약점 분야도 이 부분에 맞춰 개발이 많이 되고 있을 것이라 예측한다. 도커와 같은 가상화 이미지들이 편리하다고는 잘 알려져 있지만 그것에 대한 위험성에 대하여는 심각히 다루어지고 있지는 않은 것 같다. 그래서 어떻게 그런 이미지를 식별하고 보안적으로 처리할 것인지를 논하였다. 이를 위한 방안으로서 도커 파일을 사용하기 위한 최선의 모범 관행(Best practice)을 보여주고 있는데 이것은 실무적으로도 굉장한 도움이 될 수 있는 팁이라고 생각할 수 있다.

 

 

그 다음으로 중요하다고 생각하는 부분은 웹 애플리케이션의 주요 10대 취약점으로 발표되는 OWASP TOP 10 이다. OWASP은 매년 가장 중요한 취약점 중 10가지 유형의 순위를 발표한다. 보안 분야를 공부해보신 분이라면 모두 OWASP TOP 10을 분명히 들어보셨을것이다. 이 OWASP 자료와 컨테이너와의 관계를 소개하는데 공신력 있는 자료를 통해 컨테이너 관점에서 바라보는 보안의 유형과 이에 대한 대비책이 무엇인지 살펴보는 것도 OWASP 을 연구하는 보안 연구자, 해당 자료를 바탕으로 취약점 소프트웨어를 개발하는 사람에게 정말로 유용한 자료가 될 수 있는 부분이라고 생각한다.

 

마지막으로 SELinux에 대한 설명인데 더 심화적으로 SELinux와 도커의 연동 방식 등을 알아보고 싶은 독자를 위해서 친절히 아주 좋은 자료를 소개해두었다. 이 책의 이러한 점이 마음에 들었다.

 

결론적으로 이 책을 번역하셨던 옮긴이는 내가 예전에 리뷰했던 <Bash를 활용한 사이버 보안 운영>이라는 책도 번역을 하신 분이었다. 이 분은 보안과 관련된 해외 서적 중에서도 바로 실무에 적용할 수 있는 컴팩트하고 현장 위주의 도서를 주로 번역하시는 것 같다. 그래서 나와 같이 관련 분야에서 일하는 사람들은 많은 도움을 받고 있는것 같다.

보안과 가상화 환경 두 분야에 모두 관심이 있는 분께 이 책을 추천해드리고자 한다.

 

KakaoTalk_20210221_204256231.jpg

 

 

 

AWS나 MS Azure 같은 클라우드 서비스에 제품을 개발하고 배포 하면서 IAM, VPC 그리고 각종 리소스의 권한과 접근제어등에는 관심을 기울이고 적극적으로 관리해 왔지만, 도커로 대표되는 컨테이너의 보안은 웹상의 몇몇 글들과 발표자료를 접하고 단편적인 지식을 가지고 있었다. 물론 Fargate 같은 관리형 서비스가 주는 장점에 보안이 포함되어있다지만 이는 다른 클라우드 리소스들과 마찬가지로 보안에 필요한 여러 레이어들중 일부분이다.

 

책은 컨테이너 이미지의 구축, 저장, 배치등 이미지사용 단계별 취약과 패키징된 소프트웨어 스캐닝 그리고 컨테이너 격리와 네트워크등 컨테이너 보안에 대한 전반적인 내용을 다루고 있다. 특히 시스템 call과 권한 제어 그리고 cgroups, namespace 같은 컨테이너의 메커니즘을 이해하는데 필요한 리눅스 개념과 TLS활용에 대한 설명이 포함된 것이 마음에 든다.

번역은 이름공간 같은 용어는 어색하게 느껴지는데 개인적으로 namespace가 너무 익숙해서 그런게 아닐까 한다. 전체적으로 매끄럽게 읽힌다.

얇은 책인데도 불구하고 중요한 내용들을 상세히 설명하고 있으며 그렇지 않은 내용들도 간단하게나마 언급하고 있어서 컨테이너 보안이라는 주제에 부담없는 가이드가 된다.

코로나19 팬데믹으로 기업의 업무환경이 변화하면서 사이버 공격 형태도 다변화되고 있는 가운데 2021년에는 협업/생산성 툴의 취약점을 즉각 악용하는 사례가 늘어날 것이라는 전망이 나왔습니다.

트렌드 마이크로가 2020년 12월 15일 온라인 미디어 브리핑을 열고 2021년 주요 보안 위 협 사항 및 대응 전략을 담은 '2021 보안 예측 보고서'에 담긴 보안 전망에 따르면 클라우드 서버를 장악하기 위해 악의적인 컨테이너 이미지를 배포하는 해커와 이 공격 가능성을 인식하지 못하는 사용자가 늘면서 관련된 위협도 이어질 것으로 예상했습니다. (https://www.itbiznews.com/news/articleView.html?idxno=26395)

이 책은 컨테이너 배치본에 영향을 미치는 위협 모형들과 공격 벡터들을 살펴보는 것을 시작으로 컨테이너 보안이 전통적인 소프트웨어 배치본의 보안과 다른 점을 알려주고 있습니다. 이것을 설명하기 위해 컨테이너 작동 방식을 설명하고 있으며 이해가 어려운 독자를 위해 리눅스 메커니즘을 먼저 기술하여 논의를 위한 토대를 마련했습니다. 또한 컨테이너와 더불어 많이 사용하는 방식인 VM과 컨테이너를 비교하는 것을 추가하였고, 이러한 기초를 모두 매듭지은 다음에 컨테이너 보안에 대한 설명을 하고 있습니다.

컨테이너 이미지의 내용을 시작으로 이미지를 안전하게 구축하는 모범 예시를 알려주고 있으며, 잘 알려진 보안 취약점에 대한 대비책 또한 마련되어 있습니다. 마지막으로는 OWAP(Open Web Application Security Project)가 발표한 10대 보안 위협을 소개하고 컨테이너에 특화된 대응책을 제시하면서 마무리를 하고 있습니다.

이 책의 대상 독자는 개발자, 보안 전문가나 운영자, 관리자 등 제한을 두고 있지는 않지만 책의 구성을 살펴본 바로는 컨테이너를 처음 접하는 사람보다는 기존 테스트나 운영 과정에서 컨테이너를 직접 운영해본 유저가 기존 아키텍처를 살펴보면서 책을 보는 것이 낫다는 생각을 하였습니다. 또한 책의 예제들을 시험해보는 과정에서도 기초적인 설명을 축약하여서 중급 이상의 사용자에게 적절하다고 생각했습니다.

컨테이너를 사용해보았으며, 그중 보안 영역에 관심이 있는 사용자에게 이 책을 추천합니다.

거두절미

 

컨테이너에 관심 있으신 분이라면 필수 소장 도서입니다. 저도 컨테이너, 쿠버네티스, 도커, 클라우드 관련 도서를 많이 읽어봤지만 컨테이너를 이렇게 간명하고 깊게 다루는 책은 없었습니다. 컨테이너 ‘보안'을 설명하기 위해 컨테이너가 어떻게 동작하는지 설명하는 데에 책의 대부분을 차지합니다. 다만 200 페이지에 많은 내용을 압축한 만큼 도해는 많지 않습니다.

먼저 저자의 katacoda (An Introduction to Containers for Go programmers)로 실습해보시거나 발표(What is a container, really? Let’s write one in Go from scratch)를 보시길 추천드립니다.

저자 리즈 라이스에 대해

저자 리즈 라이스(Liz Rice)는 아쿠아 시큐리티(Aqua Security)의 오픈 소스 엔지니어링 부사장(VP Open Source Engineering)이자 클라우드 네이티브 보안 전문가입니다. 저자는 수년 전부터 꾸준히 컨테이너와 보안에 관련된 좋은 글을 내고 발표를 하고 있습니다. 저는 한빛미디어의 <나는 리뷰어다 2021> 리뷰어로 선정되어 책의 리뷰를 쓰게 되었지만 이전부터 저자의 블로그나 트위터를 챙겨볼 정도로 팬이 되었습니다.

대상 독자

도커와 쿠버네티스 등 컨테이너 관련 도구들을 조금은 다뤄보셨고 리눅스의 기본 명령어를 알고 계신 분에게 추천드리지만 하나씩 찾아보면서 읽어보겠다 하는 분들도 충분히 읽으실 수 있습니다. 컨테이너 네트워크를 설명할 때 방화벽과 OSI 레이어부터 설명할 정도니까요.

번역

컴퓨터 분야 기술 번역으로 꽤 오래 활동하신 류광님이 번역해주셨습니다. 공식 한글화 쿠버네티스 문서나 한국 커뮤니티에서 쓰이는 용어와 다소 차이가 있어서 자연스럽게 읽히진 않습니다. 사실 영어와 한국어가 정확히 일대일로 치환되는 것은 아니기 때문에 역자의 고민이 묻어나는 부분이긴 하지만 독자에 따라 호불호가 있을 수 있습니다.

원문 번역 커뮤니티에서 흔히 볼 수 있는 번역
deployment 배치본 디플로이먼트
controller 제어기 컨트롤러
namespace 이름공간 네임스페이스
multitenancy 다중 입주 멀티테넌시

더 읽을 거리

책이 압축되어 있는 만큼 중간중간 별도의 링크를 남겨 더 읽을 거리를 제공합니다. 저도 컨테이너 분야를 공부하면서 도움되었던 자료들을 모으며 번역하고 있습니다. 필요하신 분들에게 도움이 되었으면 좋겠습니다.

container.jpeg

 

 
요즘 대부분의 개발자들은 컨테이너 기술을 사용해서 어플리케이션 배포를 하고 있다. 그에 맞춰 최근들어 컨테이너 관련한 보안 문제에 대한 이슈가 지속적으로 발생하고 있고 이 책 또한 컨테이너 보안 관련한 이슈에 대해서 설명하고 있는 책이다.
 
책을 읽고 나니 컨테이너 보안이라는 것이 특별하다고 느끼지는 않았고 결국은 리눅스 보안이 핵심이며 이를 컨테이너에 맞춰서 다시 생각해보게 하는 그런 책이였던 것 같다. 책의 특이한 점을 꼽자면 대부분의 컨테이너 책들이 "도커" 에만 치중해 있고 사용법만을 가르치는 책이였다면, 이 책은 오히려 이론서? 기본서? 와 같은 느낌이 들었다.
 
목차만 보면 알기 힘들 수도 있지만, 처음에는 컨테이너와 관련 없이 리눅스 기능들에 대해서 압축해서 알려주면서 컨테이너도 결국 이런 기술들의 조합으로 이루어져 있다는 것을 상기 시킨다. 그 뒤에 3장, 4장이 하이라이트인 것 같은데 컨테이너 구조를 알려주면서 도커 없이 어떻게 프로세스를 격리 시켜서 컨테이너화할 수 있는지 하나씩 파헤쳐보기 시작한다. 이 목차를 앍고 나니 예전에 컨테이너 동작 원리에 대해 궁금했던 부분들이 해결되기도 했다.
 
그 이후에 다른 책들이 보통 처음에 설명하는 부분인 VM 과 컨테이너의 차이점을 책의 중반부(5장)에서 설명하면서 "너가 컨테이너에 대해 알았으니 이제 한번 비교해보자" 라는 식으로 들어간다. 그렇게 보니 이 차이점에 대해서 좀 더 잘 이해할 수 있었던 것 같다. 이전에 배울때는 그냥 그렇구나 하고 어떻게 보면 암기식이였던 것이 이제는 이해가 되기 시작했던 것 같다.
 
이제 그 이후장부터는 컨테이너를 사용함에 있어 보안적으로 어떤 부분들을 조심해서 이용해야 하는지를 알려준다. 만약 3장과 4장을 이해한 상태라면 뒷부분은 빠르게 읽으면서 넘어갈 수 있지 않을까 싶다. 물론 이 책의 저자가 "Aqua Security" 소속이라서 그런지 트레이싱 도구로 본인들이 만든 오픈소스를 사용해서 알려준다. 이 부분은 알고만 넘어가고 다른 도구를 사용해도 상관 없을 듯 싶다.
 
이 책은 한번쯤 궁금했던 컨테이너와 관련된 가려운 부분을 긁어주는 책인 것 같다. 다만, 컨테이너(docker)를 아예 사용하지 않았다면 우선 다른 책을 보는 것을 권하고 싶다. 특히 도커나 리눅스를 아예 모른다면 책이 이해가 안될 수 있을 것이다. 왜냐하면 초반에 리눅스에 대해서 살짝은 알려주지만 그냥 사용법 정도와 용도를 알려줄 뿐 이해를 시키지는 않는다. 또한 도커에 대한 기본적인 부분 (실행, 빌드 등)에 대해서는 이미 알고 있다는 전제하에 진행한다.
 
컨테이너가 어떻게 격리되고 이를 어떤 방식으로 구현되고 있는지 궁금한 분들, 그리고 이것이 보안적으로 어떻게 적용되어야 하는지 궁금한 분들이 이 책을 읽는 다면 도움이 될 것 같다.

 

도커와 같은 컨테이너 기술이 어떻게 동작하는지에 대해 이해해 볼 수 있는 책입니다. 컨테이너의 보안이 어떻게 하면 위협되는지 알 수 있으며, 이러한 위협을 막기위해서는 어떻게 대처해야하는지 설명해 줍니다. 다소 어려울 수는 있지만 컨테이너의 기본 지식부터 알 수 있는 유용한 책입니다.

  요즘 어디서나 들을 수 있는 컨테이너 환경에서 프로그램을 작성하면서, 처음에는 그냥 잘 동작하는 것에만 목적을 두었었지만, 시간이 가면서 VM 가상화 환경에서 작성하던 프로그램보다 좀 더 시스템적인 부분에 대해 신경을 써야만 한다는 것을 깨달아 가고 있다.

인터넷에 써 있는 이야기들을 살펴보면, 마치 컨테이너 환경으로 옮겨가면 여러가지 장점이 많아서 이제는 가야한다는 말이 많지만, 막상 컨테이너 환경에서 프로그램을 작성하여, 서비스 중에 아무 문제없이 스케일링이 잘 되고, 롤링 업데이트에 이슈가 없는 그리고 보안적 측면에서도 안전하게 하려면, 이게 쉬운 문제가 아니라는 것을 깨닫게 된다.

프로그램을 개발하는 단계에서는 바로 신경을 쓰지 못하는 것이 보안과 관련된 부분이다. 특히 컨테이너의 경우 기존 가상화 환경이나, 호스트 시스템에서 직접 서비스하는 것과는 다른 개념들이 있기 때문에, 차이를 상당히 잘 이해해야하고, 그러한 이해를 바탕으로 보안과 관련하여 어떤 부분을 신경써야할 지 고민을 해야한다.

  한빛미디어에서 출간된 '컨테이너 보안'을 리뷰하면서 읽어보았을 때, 저자의 생각 역시 내가 생각하는 바와 크게 다르지 않다고 생각되었다. 본 책은 크게 보면 기본 개념 파악과 컨테이너 환경에서의 보안 지침과 관련 예시로 나뉘어 있다. 전반부는 보안과 관련된 기본적인 개념 그리고 VM과 컨테이너간의 차이에 대해서 Linux 시스템을 기준으로 해서 설명한다. 그리고 중반부터는 컨테이너의 이미지 생성방법부터 시작하여 컨테이너에 들어가는 소프트웨어가 가질 수 있는 보안적인 취약점, 컨테이너 네트웍이 가질수 있는 보안 취약점 등 보안에 대한 지침, 예시 및 관련한 기본지식까지 두루 설명을 해 두고 있어, 컨테이너 환경에서 어떤 부분을 짚어야 하는 지를 명확하게 알려주고 있다.

책이 두껍지 않아 내용이 많지 않다고 생각할 수 있지만, 컨테이너의 특성과 보안에 중점을 두어 설명을 하고 있어 그리 적은 내용이 아니라는 것을 읽다보면 알게 된다. 그리고 보조 설명이 필요한 부분은 인터넷 링크를 많이 기술해두어 관련 내용들을 찾아보면서 읽어보면, 많은 도움이 되리라 생각된다.

  이 책은 Linux 상에서 Docker와 K8s(Kubenenes)를 기준으로 설명을 하고 있기 때문에, 다른 환경에서의 예제를 바탕으로 공부하고 싶은 분들에게는 맞지 않을 수 있다. 보안이라는 개념이 환경에 따라 전혀 다르지 않기 때문에 참고용으로 읽어보기에는 문제가 없겠지만, 그렇지 않은 경우라면 이 책말고 다른 책을 선택해야할 것이다.

주로 서비스 프로그램 개발 및 성능 튜닝, 문제 발생 및 업데이트 시 서비스의 무중단 이런 부분만 생각하며 일해왔었는데, 이 책을 읽으면서 컨테이너의 기본에 대해 좀 더 잘 이해할 수 있게 되어, 비슷한 경험을 가진 분들이나 컨테이너에서의 보안을 처음 공부해보려는 분들에게 좋은 지침서가 될 것으로 생각된다.

현재 클라우드 업무를 하고 있고 그중에서 보안과 관련된 업무를 하던 중에 클라우드를 하기 위해서는 단순 CSP(AWS, Azure, GCP 등)만알아서는 안되고 도커와 쿠버네티스와 같은 컨테이너 관련된 내용에 대해서 알고 싶어 하던 중에운이 좋게 한빛미디어 리뷰어에 채택이 되어 해당 책을 리뷰하게 되었습니다.

KakaoTalk_20210216_153607492_01.jpg

 

우선 컨테이너 시큐리티를 읽기 위해서는 선행지식이 좀 있어야 합니다. 클라우드에 대한 지식은 없더라도 컨테이너 및 리눅스 명령어와 용어에 대해서 익숙하지 않은 독자라면 읽기가 많이 어려울 것으로 판단됩니다.  한빛미디어 책 소개 부분에도 해당 책은 "중고급"을 대상으로 하고 있으므로 이 책에 흥미가 있으신 분들은 이점 유념해서 접근하시는 게 좋을 것 같습니다.

 

 

 

 

 

저 또한 리눅스는 많이 사용하고 있어서 어느 정도 용어나 명령어는 익숙했지만 컨테이너는 이제 막 공부를 하는 중이었기 때문에 책을 읽어가는데 어려움이 있었습니다. 물론 리눅스 명령어에 익숙해 있던 거지 용어에 익숙해 있는 것은 아니었기에 중간중간 좀 어려운 용어들이 있었습니다. 

그리고 아무래도 번역서이다 보니 책 중간에 IT용어를 무리하게 번역한 부분이 있어서 조금씩 어색한 부분이 있으니 이점도 읽기 전에 미리 아셨으면 좋겠습니다.

 

책의 전체적인 내용은 컨테이너 기반 시스템을 구성하는 데 있어서 사용되고 있는 기반 기술과메커니즘을있으며, 이것들이 구체적으로 리눅스 OS에서 어떻게 작용되고 있는지 설명하고 있습니다. 또한 컨테이너 어떻게 작동하고 구성 요소들이 내외부 적으로 어떻게 통신하는지 알 수 있으며 이 속에서 컨테이너 보안이 무엇이고, 왜 그렇게 해야 하는지에 대해서 기술하고 있습니다.

 

책의 구성은 각 장에서 왜 그것이 중요하고, 어떻게 해야 하며, 무엇을 생각해야 하는지에 대해서 설명하고 있으며 각 장 마지막에는 해당 장에 대한 간단한 요약과 함께 다음 장에서 설명할 내용을 기술하고 있습니다. 

 

1장 컨테이너 보안 위협

  • 컨테이너에서의 영향을 미칠 수 있는 여러 종류 및 보안 원칙

2장 리눅스 시스템 호출, 접근 권한, 능력

  • 기본 리눅스 매커니즘

3장 cgroups와 제어 그룹

  • Cgroups 기능 및 자원을 제한 하는 방법

4장 컨테이너 격리

  • 호스트 자원들에 대한 프로세스 접근을 제한하는데 필수적인 리눅스 매커니즘

5장 VM과 컨테이너

  • VM의 격리

6장 컨테이너 이미지

  • 컨테이너 이미지 실행에 대한 설정, 보안 영향, 보안 점검

7장 컨테이너 이미지의 소프트웨어 취약점

  • 취약점 설명

8장 컨테이너 격리의 강화

  • 응용 프로그램 코드의 인스턴스들을 격리하는 접근 방식

9장 컨테이너 격리 깨기

  • 컨테이너 격리의 잘못된 설정 및 관행

10장 컨테이너 네트워크 보안

  • 컨테이너 네트워크에서의 보안 원칙

11장 TLS를 이용한 구성 요소 간 보안 연결

  • 네트워크 연결에 대한 보안 연결

12장 비밀 정보를 컨테이너에 전달

  • 컨테이너 사이의 안전한 정보 전달

13장 실행 시점 컨테이너 보호

14장 컨테이너와 OWASP 10대 위협

  • OWASP TOP 10

 

컨테이너 보안은 위 14가지 장으로 구성하여 컨테이너 구성시 개발자 및 보안 담당자, 아키텍처 등이 고민해야 할 부분을 가이드하고 있습니다. 맨 위에 언급한 것과 같이 책의 내용이 초급자를 위한 내용은 아니므로 어느 정도 컨테이너와 리눅스에 대한 선행 학습을 하신 이후에 접근하시면 좀 더 내용을 심도 있게 익히실 수 있는 책입니다.


저도 책을 아직 1 회독밖에 하지 않았고 컨테이너에 대해서 좀 더 공부를 하고 다시 이 책을 접근한다면 더 많은 내용을 익힐 수 있을 것 같습니다.

 

 

들어가기

-      이 책은 기본적으로 컨테이너에 대한 개념을 어느정도 확립한 상태에서 보안에 대해 심화적으로공부하기 위한 도서에 알맞은 책

 

1장 컨테이너 보안 위협

-      보안에 대해 필요한 기초 개념 서술 및 컨테이너에서의 보안 원칙 설명

-      보안 원칙들 (최소 권한, 심층 방어, 공격 면적 축소 등)

 

2장 리소스 시스템 호출, 접근권한, 능력

- 리눅스 세상 모든 것은 파일이다 -> 모든 정보가 기록이 파일에담겨 있다 그러므로 접근제한을 잘 해야한다

- 파일 접근 권한 설명 및 확인

 

3cgroups와 제어 그룹

-      그룹에 속한 프로세스들의 자원을 제한하는 수단

-      도커에서도 마찬가지로 cgrops 방식으로 제어그룹다루기 가능 즉 컨테이너가 사용하는 자원 제한의 방법을 익히는 장

 

4장 컨테이너 격리

-      Name space, 루트 디렉토리 변경, 제어 그룹 등 제한 및 격리를 통해 컨테이너들이 서로 간섭하지 못하도록 함

 

5VM과 컴퓨터

-      VM은 컨테이너에 비해 비용 및 시간이 많이사용되지만 컨테이너는 시야가 제한될 뿐 추가적인 보안 기법을 사용하면 VM못지 않은 보안적 효과를 가질수 있음

 

6장 컨테이너 이미지

-      컨테이너 이미지 식별 및 보안 그리고 주의점에 관한 내용

 

7장 컨테이너 이미지의 소프트웨어 취약점

-      컨테이너 이미지 스캐닝 종류와 결과

 

8장 컨테이너 격리 강화

-      Seccomp, AppArmor, SELinux의보안 메커니즘 설명

 

9장 컨테이너 격리 깨기

-      컨테이너에서의 --privileged플래그의역할

 

10장 컨테이너 네트워크 보안

-      컨테이너의 네트워크 환경과 보안에 대한 설명

 

11 TLS를 이용한구성 요소 간 보안 연결

-      네트워크 신뢰성을 위한 TLS

12장 비밀 정보를 컨테이너에 전달

-      컨테이너에서의 비밀정보 전달 방법 소개

 

13장 실행 시점 컨테이너 보호

-      컨테이너의 실행 시점을 세밀하게 보호

 

14장 컨테이너와 OWASP 10대위험

-      모든 위험에 대해서 비용대비 가장 훌륭한 스캐너

 

 

책 마지막엔 항상요약이 있어 다시 집고 넘어가기에 좋았음

항상 명령어가나오면 실습하기 좋은 예제가 같이 첨부되어 실습에 용이

기본적인 도커명령어 사용방법이 나오지만 어디까지나 곁들이는 용으로 중급자에게 알맞음

   즉 도커의 기본 원리와 개념을 알고 있고 보안에 대해서 더 알고 싶다면 이 책을 강추합니다! 기본적인 보안 개념뿐만 아니라 어떻게 적용하고 사례까지 있기에 많은 도움이 될 거라고 확신합니다! 

 

최근 집에서 굴러다니는 데스크탑에 Windows10 설치 후 구성한 VMware 환경에 우분투 리눅스를 설치하고 Docker, Kubernetes 관련 지식을 조금씩 익혀가고 있는 와중에 이 도서가 출간되었다.

 

이러한 개인적 상황에서 이 도서의 4장 '컨테이너 격리' 에서 다루고 있는 주제 '컨테이너는 실제로 어떻게 작동하는가' 와, 5장 'VM과 컨테이너' 에서 다루는 VM과 컨테이너의 차이점, 6장 '컨테이너 이미지' 의 '컨테이너 런타임이 컨테이너 이미지를 어떤 식으로 사용하는지' 는 매우 반가웠다. 'ㅅ')

 

도서에서 소개하는 '보안을 위한 Dockerfile 에 대한 Best practice' 는 앞으로 Dockerfile 하나를 만들어도 염두에 두어야 할 내용일 것이며, 컨테이너의 격리를 강화하거나 컨테이너의 격리가 깨지는 상황에 대한 설명, 공격자가 deploy 본의 취약점을 악용하더라도 심층 방어를 통해 또 다른 방어층을 만들어 컨테이너에 대한 침해를 하지 못 하도록 한다던가 하는 내용은, 컨테이너 및 보안 관련하여 매우 얕은 지식을 가지고 있는 내게는 생소하지만 신기한 이야기였다.

 

이 도서는 단계별 따라하기 방식의 매뉴얼 형식이 아니다. 독자가 컨테이너에 어느 정도 익숙하며 Docker 나 Kubernetes 사용 경험이 있다고 가정하고 있기에, 이 도서는 분명한 진입 장벽이 존재하는 도서이다. 하지만 컨테이너 보안에 앞서, 본인처럼 컨테이너 자체에 대한 경험과 지식이 부족한 사람들에게는 위에서 언급한 4, 5, 6 장의 내용이 이에 대한 이해도를 상당히 끌어올릴 수 있을 것이라 생각된다.

 

아직은 리눅스, 컨테이너 무지랭이니까. 허.

좀 더 익숙해지기 위해 실습과 병행하면서 읽어봐야겠다. 'ㅅ')

.

가벼움과 재사용 가능한 코드, 그리고 무엇보다 2013년 도커의 등장 이래로 컨테이너에 대한 관심이 증가하고 있습니다. 컨테이너는 격리된 공간에서 프로세스가 동작하는 기술로, 도커의 초기 광고 문구인 Build Once Run Anywhere 처럼, 한 번만 빌드하고 어디서든 실행할 수 있게 해줍니다. 컨테이너를 이용하면 간단한 한 두개의 명령어를 통해 다종다양한 실행 환경에서 우려되는 각종 오류와 지원 문제를 해결해준다는 점에서도 크나큰 매력이 있습니다.

이 책은 컨테이너 기반 시스템을 구성하는데 쓰이는 여러 기반 기술들과 매커니즘을 소개하고, 리눅스 운영체제에서 구체적으로 어떻게 작용하는지 설명하고 있습니다. 전반부는 시스템 호출과 리눅스 능력 등 컨테이너와 관련된 리눅스 메커니즘을 설명하면서, 컨테이너가 어떻게 작동하고 컨테이너의 구성 요소들이 어떻게 서로 혹은 외부와 통신하는지 다루고 있습니다. 또한 컨테이너 이미지를 안전하게 구축하는 best practice를 사례와 함께 설명하고, 기본 구현 이상으로 컨테이너 보안을 강화하는데 사용할 수 있는 추가적인 리눅스 보안 수단들을 설명해주고 있습니다.

이어지는 후반부에서는, 컨테이너간의 통신 방식과 연결에 제한을 두어 보안을 개선하는 방법을 살펴보고 있습니다. 컨테이너화된 구성 요소들이 서로를 식별하고 보안 네트워크 연결을 설정하는데 사용되는 개인 키/공개 키 방식과 인증서를 사례로 알아보고, 마지막으로 컨테이너의 기능을 활용해 공격을 방지하는 여러 보안 도구들을 소개하고 있습니다.

이 책은 아래 범주에 속하는 독자를 대상으로 하고 있습니다.

  • ps grep, cat, chown, chmod 등의 기본적인 리눅스 명령어에 익숙한 사람
  • docker kubectl 등의 도구를 통해 컨테이너 응용 프로그램을 실행하고 관리해본 경험이 있는 사람

다만 특정 컨테이너에 종속되어 설명된다기보단, 여러 컨테이너 구현들이 공통의 특징들을 많이 공유한다는 점을 강조하고자 다양한 컨테이너 도구들을 사용하며 설명해주고 있습니다. 또한 그 근간이 되는 기술에 대한 설명과 다양한 예시를 함께 제공해주어, 초보자라도 차근차근 따라갈 수 있는 난이도의 책이라 생각됩니다. 책의 마지막 부분인 부록의 보안 점검 목록 항목들을 통해, 먼저 운영 중인 컨테이너의 보안을 점검하기 위한 현황표를 작성하고 역으로 필요한 부분 순으로 읽는 것도 이 책을 활용하는 좋은 방법일 것 같습니다.



총평 먼저 말씀드리자면!

- 보안 초보자도 충분히 이해할 수 있도록

상세한 개념 설명과 예제들, 관행들이 충분히 수록되어 있는 책.

 

- 컨테이너 보안에 대해 전반적인 이해를 원한다면 추천합니다.

가장 기초적인 개념 설명부터 직접 실행 예제까지 수록되어 있어서

이해하기 쉽고, 또 페이지 수가 많지 않아 부담스럽지 않아요.

 

 

 

 



보안에 관심이 있다면, 지식이 많지 않더라도 충분히 이해하며 읽을 수 있어요.

웬만한 개념 설명이 다 되어 있기 때문에, 한번쯤

'취약점, 리눅스 명령어, 프로세스, VM ..' 등의 용어를 들어 봤다면 읽기 괜찮을 것 같아요.

 

상세한 배경지식이 있다면 정말 가볍게 읽을 수 있을 것 같습니다 :D

 



책 내용이 매우 상세해서, 복기하며 책을 읽을 수 있었어요.

한번들었던 건 단단해지고, 처음보는 내용은 쉽게 이해할 수 있었습니다!

 

가장 좋았던 세가지를 꼽아볼게요.



1. 상세한 용어정의 & 설명

2. 예제 및 이해를 돕는 그림 多

3. 매 chapter 끝에 요약 수록

 



제가 생각하기에 이 세가지 특징들이 이 책의 큰 장점인 것 같아요 :D

 

+) 책 맨 뒤에 색인이 수록되어 있어요. 굉장히 많은 개념이 언급되기 때문에, 이부분을 훑어보고

아는 개념 위주로 처음에 읽으면 도움이 많이 될 것 같습니다!!

 

+) 목차에 있는 내용들이 그대로 소개가 되기 때문에, 목차에 있는 내용을 한번 살펴보시고

책 구매를 할 것인지 결정하시면 좋을 것 같아요! 각 목차별 내용을 요약하려다가, 책을 소개하는

의미가 없을 것 같아서 뺐는데 꼭 목차확인먼저 해보세요 :D

 





컨테이너 보안을 이해하는데 이만한 책이 없는 것 같아요.

보통 어떤 주제를 특정한 책이라면

 

1) 상세한 설명이 있되, 그 내용이 정말 방대하거나

백과사전인줄..

 

2) 내용은 적정한대신, 이미 배경지식은 알고 있다는 가정하에

 

씌어진 책이 굉장히 많은데,

내용의 양과 질을 모두 고려한 책이어서 맘에 들었습니다 :D

 

컨테이너 보안에 대해 궁금한데, 뭐부터 공부할지 감이 안잡히신다면 이책을 읽어보시는거

강력히 추천할게요!

* 다만 매우 상세히 공부하기를 원하신다면 다른 책도 추가적으로 참고하셔야 해요!

 

 

책을 읽는데 리눅스 이름공간, 프로세스 ID 격리 부터 루트 디렉터리 변경 같은

리눅스 기본 내용들도 상세히 소개해주시는 거보고 감동받았습니다 :D

 

(요즘 바빠서 예제를 직접 실습해보진 못했지만 여유 생기면 실습까지 따라해보려고 해요!)

 

긴 글 읽어주셔서 감사합니다!!



이제는 모두가 모든 배포의 컨테이너를 사용하여 배포한다. 하지만 나는 컨테이너로 배포하였을 때 생길 수 있는 보안 위험에 대해서는 특별히 생각해 본적이 없는 것 같다. (자동적으로 보안적으로 이득이 되는 부분이 있지 않을까라는 생각은 해보았다.) 이 책에서는 컨테이너로 배포하였을 때 생길 수 있는 보안 위험을 컨테이너의 원리부터 설명하여 알려 준다. 예를 들면 설정 오류를 통한 위험과 이를 방지하기 위한 모범 관행을 설명하고 취약점을 찾는 방법도 설명한다. 또한 보안 네트워크 연결 설정 보안 도구를 활용 방법도 잘 설명되어 있다.

 

 

1. 책의 목차

 

책의 목차는 다음과 같습니다.

 

제1장. 컨테이너 보안 위협

제2장. 리눅스 시스템 호출, 접근 권한, 능력

제3장. chroup와 제어 그룹

제4장. 컨테이너 격리

제5장. VM과 컨테이너

제6장. 컨테이너 이미지

제7장. 컨테이너 이미지의 소프트웨어 취약점

제8장. 컨테이너 격리의 강화

제9장. 컨테이너 격리 깨기

제10장. 컨테이너 네트워크 보안

제11장. TLS를 이용한 구성 요소간 보안 연결

제12장. 비밀 정보를 컨테이너에 전달

제13장. 실행 시점 컨테이너 보호

제14장. 컨테이너와 OWASP 10대 위협

 

2. 이 책을 필요로 하는 독자

 

- 보안에 관심 있는 개발자 또는 프로젝트를 수행중인 보안 담당자 

 

이 책은 조금 난이도 가 있습니다. 책의 앞머리에서도 말을 했지만, 쿠버네티스나 도커의 경험자 또는 리눅스 커맨드에 

어느 정도 익숙한 사람들이 대상이라 생각 됩니다. 책 자체가 군더더기 없이 정말 딱 내용만 전달 하기 위한 것으로 보입니다.

어떤 그림도 있지 않고, 초보자에게 약간은 친절 하지(?) 않은 책입니다.

하지만 그 반대로, 오라일리에서 최근 보안 관련 책들은 두껍지 않고, 약 250 페이지 이기에,

중급 정도의 보안 담당자나 엔지니어가 읽기에 좋다고 봅니다. (제가 말하는 중급은 어느 정도 개발 경험이 있는 분이

읽는 걸 추천 드리는 것입니다. ^^)

 

3. 책의 번역 수준 그리고 전체 책의 페이지에 대해

 

책의 번역 수준은 굉장히 저는 만족도가 높았습니다. 20년도 3월에 번역 된 'bash를 활용한 사이버 보안 운영'에 관한 

책도 번역 수준이 좋았습니다만, 이 책역시 굉장히 좋습니다. 류광님이 번역 하신 거라, 한글 번역이 나쁜 건 없었습니다.

책 페이지는 250페이지라 너무 두껍지도 않고 얇아서 실습 하기도 괜찮고, 책을 금방 다 읽을 것으로 생각 합니다.

 

4. 실무에서 쉽게 적용 할 수 있는 보안 아이디어들

제가 특히 만족 한 것은 실무 중 프로젝트에서 리눅스에 대한 컨테이너 보안을 어떻게 적용 할지에 대한 아이디어를 얻는 것이

전 이책의 장점이라고 생각 합니다. 몇 가지를 뽑자면,

 

1) 10장의 컨테이너 보안 중 네트워크 정책 모범 관행

 

예를 들어, 네트워크 정책의 모범 관행 중, 1) 모든 진입 트래픽을 기본적으로 거부 하는 것 2) 모든 진출 트래픽을 기본적으로 거부 하는 내용들은

제가 업무에서 일을 하면서, 실제 프로젝트 내, 네트워크 정책에 대해서 다시 한번 리뷰를 할 수 있게 되었습니다.

 

또한 참고 형식으로 추가하는 일종의 꿀팀 같은 것들은, 실제로 업무에 도움이 되면서, 즐겨 찾기 해도 괜찮은 사이트를 알려 주는게 굉장히 좋았습니다.

(ex) 발칸의 NW policy 레시피: https://github.com/ahmetb/kubernetes-network-policy-recipes)

 

2) 11장의 TLS

(TLS의 정의는 위키에 잘 정의 되어 있습니다. 링크: https://en.wikipedia.org/wiki/Transport_Layer_Security)

제가 보안 프로젝트를 처음 하게 되었을 때, 왜 굳이 구성 요소 간 보안 연결을 할때, TLS를 사용하지 했습니다만,

처음에 왜 TLS를 사용하지 했지만, 지금 생각해보면, TLS에 대해서 이러한 방식으로 사용하는 예시가 있어,

제가 적용하는 방법이 바른 방법이나 생각 했습니다.^^;

이 책에서도 구성 요소간 보안 연결을 하는 것에 대해 설명도 하고, 추가적인 설명에 대해서 참고로 적는 것을 보면,

저자의 세심한 배려가 돋보입니다. (여기서 말하는 저자의 세심한 배려라는 것, 군더더기 없이 설명 하고, 더 찾아 보고 싶어 하는 건, 참고로 링크 걸기)

 

3) 제일 만족 스러운, 보안 점검 목록

237페이도 있는 컨테이너 보안의 보안 점검 목록입니다. 20가지의 보안 점검 목록을 제공 하고 있습니다. 마치 책을 다 읽고 난 다음에,

복습 한다는 느낌 이랄까요?

 

제 개인적으로는 저 처럼 업무에 바로 실무를 적용 하고 싶어 하는 사람이라면, 1) 목차 훑어 보고, 2) 1장을 먼저 읽어 보고

3) 제일 뒤로 가서 보안 점검 목록에서 아 내가 적용 할 수 있는 아이템이 무엇이 있지? 생각 한다면, 흥미로운 chapter를 골라서 읽고,

실무에 어떻게 적용 할지 고민 하는 것도 그 부분을 읽어 보는 것도 좋은 방법이라고 생각합니다.

 

5. 이 책을 읽고 난 후,

우선 현업에 적용 할 수 있는 아이템을 발견 했다는 것이 굉장히 기뻤습니다. 다시 한번 보안에 대한 위협, 다음에 어떻게 이러한 

보안 위협의 리스크를 줄일지를 다시 한번 생각 할 수 있는 계기가 되었습니다. 제가 일하는 데스크 옆에 책을 놔두고 필요 할 때,

보면 아주 좋을 것 같습니다. 특히 위 보안 점검 목록은 제가 보안 체크를 할 때 꽤 도움이 될 것으로 생각합니다.

 

6. 추가적으로 같이 보면 좋은 책.

20년도에 번역 되어 나온 책인 오라일리에서 나온 'bash를 활용한 사이버 보안 운영' (http://www.yes24.com/Product/Goods/89175653?scode=033&ReviewYn=Y)

이 책과 같이 보면 좋을 것 같습니다.

ContainerSecurity_축소.jpg

 

 

   요즘 많은 프로젝트에서 개발을 시작할 때부터 MSA로 개발하고, Container기반의 Cloud에 Application을 올려서 서비스하고자 합니다. 예전에 On-premise 방식으로 개발해서 운영하고 있는 Application도 이전하고 있는 추세고요. 그러나 Cloud에 올라가 있는 서비스 및 민감정보들에 대해서 많은 사람들이 불안함을 가지게 됩니다. Public에 있는 정보들이 안전한가? Private환경이라고 하더라도 직접 서버에 저장되어 있는 것이 아닌데 해킹의 위협이나 유출될 수 있는 것은 아닌가? 라고 말이죠.

   사실 작년부터 Kubernetes관련 서적들이 나오기 시작하였기 때문에 아직 보안에 대해서는 찾아보기 힘들었습니다. 구글링을 하더라도 많은 자료나 정리되어 있는 곳을 찾기 힘들었고요. 이제 오렐리에서 Container Security에 대해서 나와서 많은 도움이 될 것으로 보여집니다.

   이 책에서는 Container를 관리하기 위한 권한이나 제어그룹에 대해서부터 Container docker image, Container의 Resource들에 대한 isolation, Cotainer가 외부와 통신하거나 Container간의 통신 및 통신 방법 (TLS)등 네트워크에 이르기까지 Container와 관련된 보안이슈나 설정하는 방법 등에 대해서 소개하고 있습니다.

   책이 두껍지 않고, 당장 필요하지 않더라도 알아두면 좋은 내용들로 구성되어 있기에 Container기반의 Cloud에 관련해서 종사하시는 분들이라면 한 번쯤 읽어보시면 좋을 것 같습니다.

 

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

한빛미디어에서 발간된 컨테이너 보안(Container Security)이라는 책을 리뷰어로 받아보게 됐다. 시중에 도커, 컨테이너, 오케스트레이션 등으로 다양한 책이 있지만 이 책은 그중에도 특별하다. 컨테이너란 무엇인지 살펴보고 그 안에 내용을 심도 있게 다뤄나간다. 그 과정에서 보안에 취약한 부분들을 깨우칠 수 있게 돕는다. 단순히 책의 제목에 있는 "보안"이라는 키워드만 생각하고 접근하지 않아도 된다. 컨테이너를 심도 있게 파헤치고 싶다면 추천한다. 

우선 이 책의 대상 독자는 다음과 같다. 

  • IT 분야의 어느 부분에 종사하던 사물의 작동 방식을 자세히 파헤치길 좋아하고 리눅스 터미널에 익숙한 사람
  • 컨테이너에 어느 정도 익숙하고 토커나 쿠버네티스를 사용해 본 적이 있는 사람
    • 예를 들어 "레지스트리에서 컨테이너 이미지를 가져온다", "컨테이너를 실행한다"가 무슨 뜻인지 아는 사람
    • 컨테이너의 세부적인 작동 방식은 몰라도 상관 없음 (이 책에서 설명하고 있기 때문)

책의 저자는 대상 독자를 이 정도로 정의한다. 책을 다 읽고 나서 내 개인적인 견해를 덧붙이자면 아래 내용에 무지하면 책을 읽는데 어려움이 있을 수 있다. 

  • 리눅스 명령어가 친숙하지 않다
    • sudo, ls, cat, ps, proc filesystem, chown, chmod, grep 명령어를 얕게라도 알고 있어야 한다
  • 리눅스 파일 시스템의 구조를 전혀 모른다
  • 네트워크 지식이 없다

물론 하나씩 찾아가면서 공부하는 재미로 읽어도 되지만 더디게 나가는 진도에 지치지 않을까 하는 우려가 앞선다. 컨테이너 보안을 다루는 책에서 위와 같은 것들이 언급되는 것은 당연하다. *NIX 기반으로 도커가 다뤄지고 컨테이너의 원리를 지면의 많은 부분을 할애해서 설명한다. 책의 내용을 따라가다 보면 어느 순간 컨테이너의 원리를 파악하고 그 과정에서 보안을 계속 생각해보게 된다.

이런 내용은 4장의 요약에 잘 드러나있다. "호스트 자원들에 대한 프로세스의 접근을 제한하는데 쓰이는 필수 리눅스 커널 메커니즘 세 가지"는 다음과 같다.

  • 이름공간은 컨테이너가 볼 수 있는 대상들을 제한한다. 예를 들어 프로세스 ID 이름 공간을 적용하면 컨테이너는 호스트와는 격리된 프로세스 ID들만 보게 된다. (namespace)
  • 루트 디렉터리 변경은 컨테이너가 볼 수 있는 디렉터리들과 파일들을 제한한다. (chroot)
  • 제어 그룹은 컨테이너가 접근할 수 있는 자원들을 제어한다. (cgroups: control group)

 

보안은 권한과 제어(격리)로 볼 수 있는데 이 두가지가 컨테이너 보안의 핵심이다. 리눅스 커널 메커니즘 세 가지는 결국 권한과 제어에 대한 이야기로 컨테이너를 이루는 바탕이 되는 핵심 기술이 되겠다. 5장에서는 이를 "컨테이너는 그냥 시야가 제한된 리눅스 프로세스"라고 표현한다. 위에 내용을 이해하고 나면 컨테이너를 생성할 때 완벽한 보안을 위해 no-new-privileges(컨테이너에서 새로운 권한을 얻는 것을 제한하는) 옵션을 사용하는 이유가 납득이 된다.

컨테이너와 비교되는 것이 VM 개념인데 제5장을 통해 가상 머신의 개념을 훑어준다. 컴퓨터의 부팅 과정을 알아보고 VMM(virtual machine monitor 또는 virtual machine manager)의 두 종류를 살펴본다. 제1형 VMM은 하이퍼바이저(hypervisor)라고 불리는데 Hyper-V, Xen, ESX/ESXi가 하이퍼바이저의 예이다. 호스트 운영체제가 없는 빈 하드웨어(소위 '베어 메탈 bare metal')에서 직접 실행되는데 퍼블릭 클라우드의 인스턴스를 생각하면 된다. 제2형 VMM은 VirtualBox처럼 호스트 OS가 있고 그 위에 가상 머신을 올리는 방식을 이야기한다. 이런 방식들과 프로세스 격리를 통한 방식은 보안적인 측면으로 장단점을 구분할 수도 있지만 보통 컨테이너 방식이 VMM 방식보다 나은 부분으로 아래와 같은 항목을 꼽는다.

  • 시동(부팅) 속도가 컨테이너가 훨씬 빠르다
    • 이는, auto-scaling에 민첩하냐 아니냐의 문제로 연결된다
    • 새로운 버전 발행도 시동 시간은 중요하다
  • 배포 과정이 컨테이너가 훨씬 효율적이다
    • VM의 경우 이미지를 다른 곳에서 실행하기 위한 과정이 너무 느리고 번거롭다
    • VM의 용량은 또 어떠한가
  • 클라우드 환경에서 VM 하나를 임대하려면 CPU와 메모리를 지정해야 하고 사용량과 상관없이 자원 사용 비용을 지불해야 한다
    • 컨테이너의 경우도 호스트OS가 VM이라면 결국 비용 지불에는 차이가 없겠지만 여러 개의 컨테이너를 하나의 VM에서 올릴 수도 있고 요즘은 클라우드에서 서버리스 개념으로 컨테이너 매니지드 서비스를 제공한다. AWS에서 fargate 혹은 GCP에서 Cloud Rund을 생각해보면 된다.

컨테이너 이미지는 OCI(Open Container Initiative, https://opencontainers.org) 준수 config.json 이 사용된다. 앞에서 리눅스 커널 매커니즘으로 컨테이너와 동일한 환경을 구축(namespace, chroot, cgroups)해보는데 책의 중반부에서는 도커 이미지 파일을 풀어서 내용을 확인해보는 과정이 있다. umoci라는 도구를 사용해서 이미지를 unpack해보면 config.json 파일을 확인해볼 수 있다. 이 안에서 우리는 namespaces가 어떻게 할당되는지를 다시 한번 확인할 수 있다.

이미지를 구축할 때 사용하는 Dockerfile에는 다양한 명령들이 있는데 모범 관행을 따라서 보안을 신경 써야 한다.

  • 기반 이미지
    • 신뢰된 레지스트리의 이미지를 지정
    • 승인된 기반 이미지만 사용하는 것이 좋다
    • 서드파티 기반 이미지에는 악성 코드가 포함되어 있을 수 있다
  • 다단계 구축
    • 최종 이미지에서 불필요한 내용 제거하는 방법이다
    • 예를 들면 Go 프로그램을 컨테이너에 포함시키는데 
    • 우선 Go 컴파일러를 통해 실행파일을 만들고
    • 실행파일만 컨테이너에 포함시킨다. 이미지에 컴파일로는 필요 없다
    • 이렇게 단계를 분리해서 불필요한 것들을 이미지에 포함시키지 않으면 공격 표면이 훨씬 작아진다
  • 볼륨 마운트
    • Dockerfile에 /etc, /bin 같은 민감한 디렉터를 마운트 하지 않는지 점검해야 한다
  • RUN 명령
    • Dockerfile이 챔해되면 RUN을 통해 원하는 임의의 코드를 실행할 수 있는데
    • 이건 보안적으로 매우 심각한 단계임으로 Dockerfile 편집할 권한은 신뢰할 수 있는 팀원에게만 주는 게 좋다
  • setuid 이진 파일 주의
    • setuid 비트가 설정된 실행 파일은 권한 확대로 이어질 수 있기 때문에 포함시키지 말아야 한다

이외에도 non-root USER 지정, 민감한 자료를 포함시키면 안되고, 불필요한 코드 주의 등 보안에 신경 써야 하는 것은 많다. Dockerfile의 best practice를 따르는 것은 매우 중요하다.

이미지 스캔을 통해 취약점을 찾아내는 것도 매우 중요하다. 스캐닝 도구는 TrivyClairAnchore 등이 있다. 스캐너에 따라 다른 결과를 내기는 하지만 우리 이미지의 취약성을 찾는데 많은 도움을 줄 것이다. AWS의 CodeBuild의 경우 Dockerfile로 이미지를 구축한 후 이미지를 스캔한다. 스캔한 결과로 바로 확인할 수 있고 취약점이 발견되면 이미지 구축이 실패하게 된다.

책의 후반부에는 이미지를 생성할 때 사용하는 옵션을 살펴보면서 그 위험성도 함께 언지한다. 또한 네트워크 보안 부분으로 넘어가서는 커널의 netfilter를 이용해서 패킷을 처리할 때 iptables를 사용하는 방식을 살펴본다. 이 부분을 통해 컨테이너 오케스트레이션 도구인 쿠버네티스에서 어떻게 트래픽이 로드 밸런싱 되는지 배우게 된다. iptables 규칙을 세우는 것까지 다루고 있지만 너무 딥-다이브다. 사실 컨테이너나 쿠버네티스를 다루면서 iptables를 직접 건드릴 일은 제로 퍼센트에 가깝다. 개인적인 호기심이 아니라면 훌훌 넘겨도 된다. 

 

마무리

서두에 언급했듯이 이 책은 단순히 컨테이너의 보안만을 다루지는 않는다. 그 근간이 되는 기술을 설명하면서 차근차근 깊이 있게 나아간다. 아마 모든 내용을 한번에 이해할 수 있다면 이미 배경지식 상당한 수준이었을 거다. 잘 이해가 안돼도 걱정하지 마시라. 부록: 보안 점검 목록을 통해 현재 본인이 다루고 있는 컨테이너를 점검해볼 수 있을 것이다. 또한 부록에 명시된 키워드가 이 책의 핵심이기 때문에 필요하면 그것들 위주로 찾아보면 된다. 컨테이너가 무엇인지 감을 잡고 싶다고? 이 책의 일독을 권한다. 

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 상품명 :
컨테이너 보안
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
컨테이너 보안
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
컨테이너 보안
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실

최근 본 상품1