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

Book description

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

Table of contents

  1. 지은이·옮긴이 소개
  2. 옮긴이의 말
  3. 이 책에 대하여 (1/2)
  4. 이 책에 대하여 (2/2)
  5. 감사의 말 (1/2)
  6. 감사의 말 (2/2)
  7. 제1장 컨테이너 보안 위협
    1. 1.1 위험, 위협, 완화
    2. 1.2 컨테이너 위협 모형
    3. 1.3 보안 경계
    4. 1.4 다중 입주
      1. 1.4.1 공유 컴퓨터
      2. 1.4.2 가상화
      3. 1.4.3 컨테이너 다중 입주
      4. 1.4.4 컨테이너 인스턴스
    5. 1.5 보안 원칙들
      1. 1.5.1 최소 권한
      2. 1.5.2 심층 방어
      3. 1.5.3 공격 표면 축소
      4. 1.5.4 폭발 반경 제한
      5. 1.5.5 직무 분리
      6. 1.5.6 컨테이너에 보안 원칙들을 적용
    6. 1.6 요약
  8. 제2장 리눅스 시스템 호출, 접근 권한, 능력
    1. 2.1 시스템 호출
    2. 2.2 파일 접근 권한
      1. 2.2.1 setuid와 setgid
    3. 2.3 리눅스 능력
    4. 2.4 권한 확대
    5. 2.5 요약
  9. 제3장 cgroups와 제어 그룹
    1. 3.1 제어 그룹 위계구조
    2. 3.2 제어 그룹 생성
    3. 3.3 자원 한계 설정
    4. 3.4 프로세스를 제어 그룹에 배정
    5. 3.5 도커와 cgroups
    6. 3.6 cgroups 버전 2
    7. 3.7 요약
  10. 제4장 컨테이너 격리
    1. 4.1 리눅스 이름공간
    2. 4.2 호스트 이름 격리
    3. 4.3 프로세스 ID 격리
    4. 4.4 루트 디렉터리 변경
    5. 4.5 이름공간과 루트 변경의 조합
    6. 4.6 마운트 이름공간
    7. 4.7 네트워크 이름공간
    8. 4.8 사용자 이름공간
      1. 4.8.1 도커의 사용자 이름공간 제약
    9. 4.9 IPC 이름공간
    10. 4.10 제어 그룹 이름공간
    11. 4.11 호스트의 관점에서 본 컨테이너 프로세스
    12. 4.12 컨테이너 전용 호스트
    13. 4.13 요약
  11. 제5장 VM과 컨테이너
    1. 5.1 컴퓨터 부팅 과정
    2. 5.2 VMM의 등장
      1. 5.2.1 제1형 VMM(하이퍼바이저)
      2. 5.2.2 제2형 VMM
      3. 5.2.3 커널 기반 VM(KVM)
    3. 5.3 “가두고 흉내 낸다” 접근 방식
    4. 5.4 가상화 불가 명령의 처리
    5. 5.5 프로세스 격리와 보안
    6. 5.6 VM의 단점
    7. 5.7 컨테이너 격리와 VM 격리의 비교
    8. 5.8 요약
  12. 제6장 컨테이너 이미지
    1. 6.1 루트 파일 시스템과 이미지 설정
    2. 6.2 실행 시점에서 매개변수를 명시적으로 설정
    3. 6.3 OCI 표준
    4. 6.4 이미지 설정 정보
    5. 6.5 이미지 구축
      1. 6.5.1 docker build의 위험
      2. 6.5.2 데몬 없는 이미지 구축
      3. 6.5.3 이미지 계층
    6. 6.6 이미지 저장
    7. 6.7 이미지 식별
    8. 6.8 이미지 보안
    9. 6.9 구축 시점 보안
      1. 6.9.1 Dockerfile의 출처
      2. 6.9.2 보안을 위한 Dockerfile 모범 관행
      3. 6.9.3 구축용 컴퓨터에 대한 공격
    10. 6.10 이미지 저장 보안
      1. 6.10.1 사설 레지스트리 운영
      2. 6.10.2 이미지 서명
    11. 6.11 이미지 배치 과정의 보안
      1. 6.11.1 적절한 이미지의 배치
      2. 6.11.2 악성 배치 정의
      3. 6.11.3 승인 제어
    12. 6.12 GitOps와 배치 보안
    13. 6.13 요약
  13. 제7장 컨테이너 이미지의 소프트웨어 취약점
    1. 7.1 취약점 연구
    2. 7.2 취약점, 패치, 배포판
    3. 7.3 응용 프로그램 수준 취약점
    4. 7.4 취약점 위험 관리
    5. 7.5 취약점 스캐닝
    6. 7.6 설치된 패키지 찾기
    7. 7.7 컨테이너 이미지 스캐닝
      1. 7.7.1 불변 컨테이너
      2. 7.7.2 정기적인 스캐닝
    8. 7.8 스캐닝 도구들
      1. 7.8.1 정보의 출처
      2. 7.8.2 오래된 출처
      3. 7.8.3 수정 없는 취약점
      4. 7.8.4 하위 패키지 취약점
      5. 7.8.5 패키지 이름 차이
      6. 7.8.6 추가적인 스캐닝 기능
      7. 7.8.7 스캐너 오류
    9. 7.9 스캐닝 과정을 CI/CD 파이프라인에 도입
    10. 7.10 취약한 이미지가 실행되지 않게 하는 방법
    11. 7.11 제로데이 취약점
    12. 7.12 요약
  14. 제8장 컨테이너 격리의 강화
    1. 8.1 seccomp
    2. 8.2 AppArmor
    3. 8.3 SELinux
    4. 8.4 gVisor
    5. 8.5 카타 컨테이너
    6. 8.6 파이어크래커
    7. 8.7 유니커널
    8. 8.8 요약
  15. 제9장 컨테이너 격리 깨기
    1. 9.1 루트로 컨테이너 실행
      1. 9.1.1 비루트 사용자 ID 지정
      2. 9.1.2 컨테이너 안의 루트 권한 요구
      3. 9.1.3 루트 없는 컨테이너
    2. 9.2 --privileged 플래그와 리눅스 능력
    3. 9.3 민감한 디렉터리의 마운팅
    4. 9.4 도커 소켓 마운팅
    5. 9.5 컨테이너와 호스트의 이름공간 공유
    6. 9.6 사이드카 컨테이너
    7. 9.7 요약
  16. 제10장 컨테이너 네트워크 보안
    1. 10.1 컨테이너 방화벽
    2. 10.2 OSI 네트워크 모형
    3. 10.3 IP 패킷이 전송되는 과정
    4. 10.4 컨테이너의 IP 주소
    5. 10.5 네트워크 격리
    6. 10.6 계층 3, 4의 라우팅과 규칙들
      1. 10.6.1 iptables
      2. 10.6.2 IPVS
    7. 10.7 네트워크 정책
      1. 10.7.1 여러 가지 네트워크 정책 솔루션
      2. 10.7.2 네트워크 정책 모범 관행
    8. 10.8 서비스 메시
    9. 10.9 요약
  17. 제11장 TLS를 이용한 구성 요소 간 보안 연결
    1. 11.1 보안 연결
    2. 11.2 X.509 인증서
      1. 11.2.1 공개 키/개인 키 쌍
      2. 11.2.2 인증 기관
      3. 11.2.3 인증서 서명 요청(CSR)
    3. 11.3 TLS 연결
    4. 11.4 컨테이너들 사이의 보안 연결
    5. 11.5 인증서 폐기
    6. 11.6 요약
  18. 제12장 비밀 정보를 컨테이너에 전달
    1. 12.1 비밀 값의 속성들
    2. 12.2 컨테이너에 정보를 전달하는 방법
      1. 12.2.1 비밀 값을 컨테이너 이미지 자체에 저장
      2. 12.2.2 네트워크로 비밀 값 전달
      3. 12.2.3 환경 변수로 비밀 값 전달
      4. 12.2.4 볼륨 마운트를 통한 비밀 값 전달
    3. 12.3 쿠버네티스의 비밀 값
    4. 12.4 루트의 비밀 값 접근
    5. 12.5 요약
  19. 제13장 실행 시점 컨테이너 보호
    1. 13.1 컨테이너 이미지 프로파일
      1. 13.1.1 네트워크 트래픽 프로파일
      2. 13.1.2 실행 파일 프로파일
      3. 13.1.3 파일 접근 프로파일
      4. 13.1.4 사용자 ID 프로파일
      5. 13.1.5 그 밖의 실행 시점 프로파일
      6. 13.1.6 컨테이너 보안 도구
    2. 13.2 표류 방지
    3. 13.3 요약
  20. 제14장 컨테이너와 OWASP 10대 위험
    1. 14.1 주입
    2. 14.2 취약한 인증
    3. 14.3 민감한 데이터 노출
    4. 14.4 XML 외부 개체
    5. 14.5 취약한 접근 제어
    6. 14.6 잘못된 보안 설정
    7. 14.7 교차 사이트 스크립팅(XSS)
    8. 14.8 안전하지 않은 역직렬화
    9. 14.10 불충분한 로그 기록과 감시
    10. 14.9 알려진 취약점을 가진 구성요소 사용
    11. 14.11 요약
  21. 마지막으로
  22. 부록: 보안 점검 목록
  23. 찾아보기 (1/3)
  24. 찾아보기 (2/3)
  25. 찾아보기 (3/3)

Product information

  • Title: 컨테이너 보안: 컨테이너화된 응용 프로그램의 보안을 위한 개념, 이론, 대응법과 모범 관행까지
  • Author(s): 류광, 리즈 라이스
  • Release date: February 2021
  • Publisher(s): Hanbit Media, Inc.
  • ISBN: 9791162247181