container_security-01

요즘 대부분의 개발자들은 컨테이너 기술을 사용해서 어플리케이션 배포를 하고 있다. 그에 맞춰 최근들어 컨테이너 관련한 보안 문제에 대한 이슈가 지속적으로 발생하고 있고 이 책 또한 컨테이너 보안 관련한 이슈에 대해서 설명하고 있는 책이다.

책을 읽고 나니 컨테이너 보안이라는 것이 특별하다고 느끼지는 않았고 결국은 리눅스 보안이 핵심이며 이를 컨테이너에 맞춰서 다시 생각해보게 하는 그런 책이였던 것 같다. 책의 특이한 점을 꼽자면 대부분의 컨테이너 책들이 “도커” 에만 치중해 있고 사용법만을 가르치는 책이였다면, 이 책은 오히려 이론서? 기본서? 와 같은 느낌이 들었다.

목차만 보면 알기 힘들 수도 있지만, 처음에는 컨테이너와 관련 없이 리눅스 기능들에 대해서 압축해서 알려주면서 컨테이너도 결국 이런 기술들의 조합으로 이루어져 있다는 것을 상기 시킨다. 그 뒤에 3장, 4장이 하이라이트인 것 같은데 컨테이너 구조를 알려주면서 도커 없이 어떻게 프로세스를 격리 시켜서 컨테이너화할 수 있는지 하나씩 파헤쳐보기 시작한다. 이 목차를 앍고 나니 예전에 컨테이너 동작 원리에 대해 궁금했던 부분들이 해결되기도 했다.

그 이후에 다른 책들이 보통 처음에 설명하는 부분인 VM 과 컨테이너의 차이점을 책의 중반부(5장)에서 설명하면서 “너가 컨테이너에 대해 알았으니 이제 한번 비교해보자” 라는 식으로 들어간다. 그렇게 보니 이 차이점에 대해서 좀 더 잘 이해할 수 있었던 것 같다. 이전에 배울때는 그냥 그렇구나 하고 어떻게 보면 암기식이였던 것이 이제는 이해가 되기 시작했던 것 같다.

이제 그 이후장부터는 컨테이너를 사용함에 있어 보안적으로 어떤 부분들을 조심해서 이용해야 하는지를 알려준다. 만약 3장과 4장을 이해한 상태라면 뒷부분은 빠르게 읽으면서 넘어갈 수 있지 않을까 싶다. 물론 이 책의 저자가 “Aqua Security” 소속이라서 그런지 트레이싱 도구로 본인들이 만든 오픈소스를 사용해서 알려준다. 이 부분은 알고만 넘어가고 다른 도구를 사용해도 상관 없을 듯 싶다.

이 책은 한번쯤 궁금했던 컨테이너와 관련된 가려운 부분을 긁어주는 책인 것 같다. 다만, 컨테이너(docker)를 아예 사용하지 않았다면 우선 다른 책을 보는 것을 권하고 싶다. 특히 도커나 리눅스를 아예 모른다면 책이 이해가 안될 수 있을 것이다. 왜냐하면 초반에 리눅스에 대해서 살짝은 알려주지만 그냥 사용법 정도와 용도를 알려줄 뿐 이해를 시키지는 않는다. 또한 도커에 대한 기본적인 부분 (실행, 빌드 등)에 대해서는 이미 알고 있다는 전제하에 진행한다.

컨테이너가 어떻게 격리되고 이를 어떤 방식으로 구현되고 있는지 궁금한 분들, 그리고 이것이 보안적으로 어떻게 적용되어야 하는지 궁금한 분들이 이 책을 읽는 다면 도움이 될 것 같다.