-
[Docker] Security in DockerDocker 2024. 3. 8. 22:34
리눅스 기반 보안 기술
1. Kernal namespaces
여러 개의 OS가 있는 것처럼 만드는 기술
포트 충돌 없이 여러 개의 웹서버를 돌릴 수 있게 하는 기술
- 각각의 앱은 자기만의 network namespace가 있다. 해당 공간 내에 자신만의 IP 주소와 풀 범위 포트 존재
여러 앱 간 공유 자원들을 경쟁조건 없이 돌릴 수 있게 하는 기술
- IPC namespace
자기만의 파일 시스템
- 각각의 앱은 자기만의 mount namespace(filesystem)이 있다. 각각의 mount namespace는 자기만의 시스템 복사본이 있다.(/etc, /var, /dev etc)
- 자신만의 namespace가 있는 것들
- process id
- network
- filesystem/mount
- inter-process communication
- user
도커 컨테이너는 네임스페이스들의 집합이다.
- 네임스페이스들이 모여 컨테이너를 이룬다.
- process id namespace
- 모든 컨테이너는 pid = 1로 시작하는 고유한 process tree가 있다.
2. cgroups
CPU, RAM, Storage와 같이 컨테이너들이 모두 사용해야 하는 공유자원에 대해 컨트롤하는 기술
3. capabilities
root 권한은 많은 세부 허가 목록들로 이루어져 있다. 모든 허가를 컨테이너에게 주는 건 위험하므로 필요한 허가만 개별 컨테이너에 추가할 수 있게 해주는 기술
4. Mandatory Acess Control Systems
자원들의 접근 수준을 설정하는 기술
5. seccomp
컨테이너의 syscall 허용 횟수를 다루는 기술
도커 기반 보안 기술
이미지 취약성 검사, 이미지 정합성 검사, 비밀키 관리, 스웜 모드 등
'Docker' 카테고리의 다른 글
[Docker] Docker overlay networking (0) 2024.03.08 [Docker] Swarm mode (0) 2024.03.08 [Docker] 3. Containerizing - Dockerfile로 도커 이미지 만들기 (0) 2024.03.08 [Docker] 2. 도커 이미지(Docker Image) 3분 이해 (1) 2024.02.23 [Docker] 1. 도커Docker를 왜 만들었을까? - 도커 큰그림 그리기 (0) 2024.02.23