Docker 소켓 노출은 민감합니다.

 

Docker 소켓을 노출하면 호스트 시스템이 손상될 수 있습니다.

Docker 데몬은 예를 들어 UNIX 도메인 소켓을 통해 해당 기능에 접근할 수 있는 API를 제공합니다. Docker 소켓을 컨테이너에 마운트하면 컨테이너가 호스트 시스템의 Docker 데몬을 제어할 수 있으므로 전체 시스템에 대한 완전한 접근 가능합니다. Docker 소켓에 접할 수 있는 손상된 컨테이너 또는 악성 컨테이너는 전체 Kubernetes 클러스터의 무결성을 위험에 빠뜨릴 수 있습니다.

다음 질문을 확인하세요

  • POD를 신뢰할 수 없거나, 취약점이 포함되어 있을 수 있습니다.

만약 상위 질문에 해당된다면 위험이 있을 수 있습니다.

권장되는 보안 코딩 방법

Docker 소켓을 POD의 볼륨으로 절대로 추가하지 않는 것이 좋습니다.

민감한 코드 예시

apiVersion: v1
kind: Pod
metadata:
  name: test
spec:
  containers:
    - image: k8s.gcr.io/test-webserver
      name: test-container
      volumeMounts:
        - mountPath: /var/run/docker.sock
          name: test-volume
  volumes:
    - name: test-volume
      hostPath:
        path: /var/run/docker.sock # Sensitive
        type: Socket

규칙을 준수한 해결책

apiVersion: v1
kind: Pod
metadata:
  name: test
spec:
  containers:
    - image: k8s.gcr.io/test-webserver
      name: test-container

같이보면 좋은 자료


If you like SONARKUBE, don’t forget to give me a star. :star2:

원문으로 바로가기

Star This Project