호스트 운영 체제 네임스페이스 사용은 보안에 민감합니다.

 

호스트 운영 체제 네임스페이스를 사용하면 호스트 시스템이 손상될 수 있습니다.

공격 대상이 되는 부분

  • 호스트 프로세스
  • 호스트 프로세스 간 통신(IPC) 메커니즘
  • 로컬 호스트 시스템의 네트워크 서비스

이 세 가지 항목에는 Kubernetes 클러스터의 내부 운영 시스템 또는 엔터프라이즈의 내부 인프라를 지원하는 시스템이 포함될 수 있습니다.
컨테이너의 이런 부분을 개방하 것은 컨테이너에 의해 노출된 서비스를 이미 성공적으로 악용한 공격자에게 새로운 공격 표면이 열리게됩니다. 클러스터의 복원력에 따라서, 공격자는 클러스터가 프로세스를 시작한 노드를 손상시켜 공격을 클러스터로 확장할 수 있습니다.
호스트 네트워크 공유는 중요한 네트워크 성능을 필요로 하는 워크로드에 상당한 성능 이점을 제공할 수 있습니다. 그러나 이 공격 벡터를 성공적으로 악용하면 클러스터 내의 기밀성에 치명적인 영향을 미칠 수 있습니다.

다음 질문을 확인하세요

  • 이 POD의 서비스는 Kubernetes 클러스터의 관리자가 아닌 사용자가 접근할 수 있습니다.
  • 클러스터의 서비스 성능은 운영체제 네임스페이스에 의존하지 않습니다.

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

권장되는 보안 코딩 방법

호스트 운영 체제 네임스페이스를 사용하지 마세요.

민감한 코드 예시

apiVersion: v1
kind: Pod
metadata:
  name: example
  spec:
  containers:
    - name: web
      image: nginx
      ports:
        - name: web
          containerPort: 80
          protocol: TCP
  hostPID: true # Sensitive
  hostIPC: true # Sensitive
  hostNetwork: true # Sensitive

규칙을 준수한 해결책

apiVersion: v1
kind: Pod
metadata:
  name: example
  spec:
  containers:
    - name: web
      image: nginx
      ports:
        - name: web
          containerPort: 80
          protocol: TCP
  hostPID: false
  hostIPC: false
  hostNetwork: false

같이보면 좋은 자료


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

원문으로 바로가기

Star This Project