호스트 IPC 네임스페이스 공유

불필요한 호스트 IPC 공유를 제거하고 프로세스 간 통신 자원을 분리하세요.

설명

IPC 네임스페이스는 프로세스 간 통신 자원과 관련되므로, 호스트와 공유하면 컨테이너 격리 수준이 낮아질 수 있습니다. 개별 IPC 자원에 실제로 접근할 수 있는지는 사용자 권한과 capability에도 달려 있습니다.

ipc: "host"는 애플리케이션 컨테이너에 일반적으로 필요한 설정이 아닙니다. 특별한 운영 목적이 없다면 컨테이너와 호스트의 IPC 공간은 분리해 두는 것이 안전합니다.

잠재적 영향

  • 권한이 허용하면 컨테이너가 호스트 IPC 자원에 접근할 수 있습니다.
  • 격리가 약해져 다른 워크로드나 호스트 자원에 간접 영향을 줄 수 있습니다.
  • 취약점 악용 시 피해 범위가 더 넓어질 수 있습니다.

해결 방법

  • ipc: "host" 설정을 제거하고 기본 IPC 격리를 유지하세요.
  • 디버깅이나 특수 목적의 예외 구성은 운영 서비스와 분리하세요.
  • 컨테이너 권한, 네임스페이스, capability 설정을 함께 검토해 격리 정책을 일관되게 유지하세요.

예시

sample/app:latest는 실제 애플리케이션 이미지로 바꾸세요.

변경 전

yaml
services:
  webapp:
    image: sample/app:latest
    ipc: "host"

변경 후

yaml
services:
  webapp:
    image: sample/app:latest

설명:

  • 변경 전: 호스트 IPC 네임스페이스를 공유해 컨테이너 격리 수준이 불필요하게 낮아집니다.
  • 변경 후: 기본 IPC 분리를 유지해 컨테이너와 호스트 사이의 경계를 더 명확하게 지킵니다.

참조