Docker 컨테이너의 내부에 대한 액세스를 금지하는 방법은 무엇입니까?


14

도커 이미지 형식으로 고객에게 앱을 제공하고 싶습니다. 그러나 최종 사용자가 컨테이너 내부의 내용을 변경하지 않도록하는 것이 중요합니다. 사용자는 컨테이너를 실행 / 중지하고 네트워크를 통해 컨테이너와 상호 작용할 수 있어야합니다.

컨테이너 내부에 대한 접근을 금지 할 수 있습니까? 컨테이너가 만든 이미지의 무결성을 확인할 수 있습니까?


2
도커 호스트를 관리하지 않으면 할 수 없다고 생각합니다. 이 액세스를 차단하여 어떤 문제를 해결 하시겠습니까?
Tensibai

Tensibai가 언급했듯이 그것은 다릅니다. 이 경우 필요한 컨테이너 보안상의 이유로 수정되지 않은 것을 알고, 당신은 기본적으로 자신의 서버에서 실행해야합니다. 사람들이 문제를 수정하지 않도록 수정하지 못하게하려면 아마도 그렇게 할 수있는 방법이있을 것입니다. 사용 사례를 설명하면 여기에 도움이됩니다.
Aurora0001

답변:


11

즉, 고객이 자체 인프라에서 실행되는 컨테이너를 수정하지 못하게 할 수 없습니다. 컨테이너는 난독화할 수있는 바이너리와는 다릅니다. 그것들은 런타임 환경입니다. 그러나 컨테이너 내부에 배포하는 코드는 난독 화 될 수 있습니다.

귀하의 질문은 타사 지원 문제, 즉 자신의 환경에서 실행되는 소프트웨어를 수정하는 클라이언트를 암시합니다. 제공 하는 컨테이너 를 운영 하는 도구 (예 : 모니터링 및 로깅)를 제공하는 경우 클라이언트는 소프트웨어 라이센스의 일부로 무단으로 수정하지 않는 데 동의해야합니다. 이는 컨테이너뿐만 아니라 모든 유형의 타사 소프트웨어에 적용됩니다.

상황에 따라 클라우드 인프라에서 실행되는 SaaS (Software As A Service)로 앱을 제공 할 수도 있습니다.

클라이언트가 컨테이너를 인프라에서 실행해야하고 수정 제한 사항을 준수하지 않으면 소프트웨어 사용을 지원하지 않을 수 있습니다.


6

Docker는 컨테이너에 대한 사용자 액세스를 막을 수단을 제공하지 않지만 이미지 개발자는 몇 가지 전략을 따를 수 있습니다

  • 소프트웨어를 난독 처리합니다 (루비, 파이썬 등)
  • 쉘이없는 기본 이미지 및 사용자가 이미지를 짓밟는 데 사용할 수있는 다른 바이너리에서 이미지를 빌드하십시오.

물론 그들은 항상 컨테이너를 내보내고 다시 포장 할 수 있지만 극단적 인 조치입니다 ...


난독 화 코드의 예제로 Ruby와 Python이 제공되는 이유는 무엇입니까? 이러한 언어의 코드는 일반적으로 실행중인 OS에서 일반 텍스트 소스 파일로 유지됩니다. C ++, C #, Java와 같은 컴파일 된 언어 또는 JS와 같이 "축소"될 수있는 언어를 사용하는 것이 바람직하지 않습니까?
AjaxLeung

5

당신은 고정 표시기 그룹에서 사용자를 제거하고 대한 sudos 만들 수 있습니다 docker startdocker stop.


3
해당 서버를 소유 한 경우에만 가능 / 효과적 ...
Dan Cornilescu

5

고객이 돈을 투자 할 준비가되면 Docker enterprise edition을 사용해야합니다. Docker EE에는 UCP(Universal Control Plane) UCP 도구가 있습니다. UCP를 통해 역할 및 액세스 권한을 생성하고 사용자가 컨테이너를 변경 / 수정하도록 제한 할 수 있습니다.

1 개월의 평가판 라이센스가있는 DDC (Docker Data Center)보다 UCP를 테스트하려는 경우 요구 사항에 따라 세부 사항을 정교하게하는 데 도움이됩니다.

이것이 도움이되기를 바랍니다!

감사합니다!


1
도커 그룹에 대한 솔루션으로, 이것은 도커 호스트 시스템 만 관리하면 작동합니다. OP는 이미지를 배포하는 것처럼 들립니다 ...
Tensibai

2

스크립트를 통해 전달하십시오. 모든 종류의 제한 및 검사를 ansible 스크립트에 보관하십시오.


2
컨테이너에 대한 액세스를 어떻게 방지합니까? 제안이 실제로 OP의 문제를 어떻게 해결하는지 설명하십시오.
Michael Le Barbier Grünewald
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.