파드의 호스트 IPC 네임스페이스 공유

호스트 IPC 자원이 필요하지 않은 파드에서 host_ipc를 비활성화하세요.

설명

host_ipc = true인 파드는 호스트 IPC 네임스페이스를 공유합니다. 공유 메모리, 세마포어 등 호스트의 IPC 자원에 접근할 수 있는 범위가 넓어질 수 있으며 컨테이너 격리가 약해집니다. 실제 자원 읽기·변경에는 해당 자원의 권한 등 다른 접근 통제도 적용됩니다.

잠재적 영향

  • 권한이 허용되는 호스트 IPC 자원을 통해 데이터가 노출되거나 변경될 수 있습니다.
  • IPC 자원 간섭이나 고갈이 다른 프로세스의 동작에 영향을 줄 수 있습니다.

해결 방법

  • 호스트 IPC 공유가 필요하지 않은 워크로드에는 host_ipc = false를 사용하세요. 필요한 예외는 시스템 도구의 용도와 접근 권한을 검토해 제한하세요.
  • 비 root 실행과 최소 권한을 적용하고 Pod Security Admission이나 정책 엔진으로 불필요한 host_ipc 사용을 제한하세요.

예시

호스트 IPC 공유만 비교하는 기존 Pod 예제입니다. 실제 배포에는 유지보수되는 이미지를 사용하세요.

변경 전

hcl
resource "kubernetes_pod" "pod" {
  metadata {
    name = "terraform-example"
  }

  spec {
    host_ipc = true

    container {
      image = "nginx:1.7.9"
      name  = "example"
    }
  }
}

변경 후

hcl
resource "kubernetes_pod" "pod" {
  metadata {
    name = "terraform-example"
  }

  spec {
    host_ipc = false

    container {
      image = "nginx:1.7.9"
      name  = "example"
    }
  }
}

설명:

  • 변경 전: 호스트의 IPC 네임스페이스를 공유합니다.
  • 변경 후: 호스트 IPC 네임스페이스 공유를 비활성화합니다.

참조