sudo 없이 Docker를 실행하면 안 되는 3가지 이유

sudo 없이 Docker를 실행하면 안 되는 3가지 이유

Docker는 가장 많이 사용되는 컨테이너화 플랫폼 중 하나이며 소프트웨어 엔지니어 사이에서 높은 사랑을 받고 있습니다. Docker 컨테이너 및 기타 관련 작업을 관리하기 위한 강력한 CLI 도구가 함께 제공됩니다.

기본적으로 Linux에서 Docker 관련 명령을 실행하려면 루트 권한이 필요합니다. 물론 편의를 위해 이를 변경하고 루트 권한 없이 Docker 명령을 실행할 수 있지만 보안 영향을 알고 있어야 합니다.

Docker 공격 표면이란 무엇입니까?

공격 표면은 악의적인 사용자가 시스템에 진입하여 대혼란을 일으키는 데 사용할 수 있는 창 수와 유사한 공격 지점의 수입니다. 일반적으로 IT 시스템은 보안 위험을 줄이기 위해 최소한의 공격 표면을 가져야 합니다.

일반적으로 Docker의 공격 표면은 매우 작습니다. 컨테이너는 격리된 안전한 환경에서 실행되며 다른 경우가 아니면 호스트 운영 체제에 영향을 미치지 않습니다. 또한 Docker 컨테이너는 보안을 강화하는 최소한의 서비스만 실행합니다.

sudo 권한 없이 Docker를 제어하도록 Linux 시스템을 구성할 수 있습니다. 이는 개발 환경에서는 편리할 수 있지만 프로덕션 시스템에서는 심각한 보안 취약점이 될 수 있습니다. 그리고 sudo 없이 Docker를 실행하면 안 되는 이유가 여기에 있습니다.

1. Docker 컨테이너 제어 기능

sudo 권한이 없으면 시스템이나 서버에 액세스할 수 있는 모든 사람이 Docker의 모든 측면을 제어할 수 있습니다. 그들은 Docker 로그 파일에 액세스할 수 있으며 마음대로 또는 실수로 컨테이너를 중지하고 삭제할 수 있습니다. 또한 비즈니스 연속성에 필수적인 중요한 데이터를 잃을 수도 있습니다.

프로덕션 환경에서 Docker 컨테이너를 사용하는 경우 다운타임으로 인해 비즈니스와 신뢰가 손실됩니다.

2. 호스트 OS 디렉토리 제어권 확보

Docker 볼륨은 컨테이너 데이터를 호스트 OS의 지정된 폴더에 작성하여 공유하고 유지할 수 있는 강력한 서비스입니다.

sudo 없이 Docker를 실행하는 가장 큰 위협 중 하나는 시스템의 모든 사용자가 루트 디렉토리를 포함하여 호스트 OS의 디렉토리를 제어할 수 있다는 것입니다.

Linux Docker 이미지(예: Ubuntu 이미지)를 실행하고 다음 명령을 사용하여 루트 폴더에 마운트하기만 하면 됩니다.

docker run -ti -v /:/hostproot ubuntu bash

그리고 Linux Docker 컨테이너는 루트 사용자로 실행되기 때문에 본질적으로 전체 루트 폴더에 대한 액세스 권한이 있음을 의미합니다.

앞서 언급한 명령은 최신 Ubuntu 이미지를 다운로드하여 실행하고 루트 디렉토리에 마운트합니다.

Docker 컨테이너 터미널 에서 cd ​​명령을 사용하여 /hostproot 디렉터리로 이동합니다.

cd /hostproot

도커 컨테이너에 호스트 OS 루트 폴더 마운트

ls 명령을 사용하여 이 디렉토리의 내용을 나열하면 현재 컨테이너에서 사용할 수 있는 호스트 OS의 모든 파일이 표시됩니다. 이제 파일 조작, 비밀 파일 보기, 파일 숨기기 및 숨기기 해제, 권한 변경 등을 할 수 있습니다.

3. 악성 소프트웨어 설치

잘 만들어진 Docker 이미지는 백그라운드에서 실행되어 시스템을 조작하거나 중요한 데이터를 수집할 수 있습니다. 더 나쁜 것은 악의적인 사용자가 Docker 컨테이너를 통해 네트워크에 악성 코드를 퍼뜨릴 수 있다는 것입니다.

Docker 컨테이너에는 몇 가지 실제 사용 사례가 있으며 각 애플리케이션에는 서로 다른 보안 위협 세트가 있습니다.

Linux에서 Docker 컨테이너 보호

Docker는 강력하고 안전한 플랫폼입니다. sudo 없이 Docker를 실행하면 공격 표면이 증가하고 시스템이 취약해집니다. 프로덕션 환경에서는 Docker와 함께 sudo를 사용하는 것이 좋습니다.

시스템에 너무 많은 사용자가 있으면 각 사용자에게 권한을 할당하기가 매우 어려워집니다. 이러한 경우 최상의 액세스 제어 방법을 따르면 시스템의 보안을 유지하는 데 도움이 될 수 있습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다