보안/Docker

진단 실습 가정 및 환경 Docker는 Client - Server 구조를 갖기 때문에 Client가 원격으로 REST API를 통해 Docker를 이용할 수 있습니다. 그러나 관리자의 Container에 대한 접근 제한 미비 등 안전하지 않은 설정(Misconfiguration)으로 인해 악의적인 공격자는 REST API를 이용하여 Container ID 뿐 아니라 원격에서 Container 실행 뿐 아니라 종료, 로그 또한 남길 수 있습니다. 원래는 Attacker 환경, Victim 환경을 따로 구성해야하지만, 본 실습에서는 Victim에서 REST API 서비스 포트를 임의로 지정한 후, 공격자가 이를 찾아냈다는 가정 하에 하나의 Victim 가상환경에서 공격자 입장으로 여러 명령을 실행해보도록 ..
사전 준비 이전 실습에서 0.0.0.0의 IP주소와 8000포트로 선언해주었다. 다음 주소로 실행하면 이와 같이 연결이 잘 수행되고 있는 것을 확인할 수 있다. 0.0.0.0:8000 이제 index.html이라는 기본 페이지를 수정하고자 한다. 방법은 크게 두 가지로 나눌 수 있다. 직접 Container 안에 접속하여 html 파일을 수정하거나, 호스트와 컨테이너의 파일 시스템과 매핑한 후 호스트에서 작업을 하는 것이다. Container 에 접속하여 파일 수정 직접 Container 안에 접속한 후, 쉘로 접근하여 파일을 직접 수정할 수 있다. TestWS1 컨테이너를 실행하고, 쉘로 작업하기 위한 명령어를 실행한다. docker start TestWS1 docker exec -it TestWS1 ..
Docker란? Go언어로 작성된 리눅스 컨테이너 기반으로하는 오픈소스 가상화 플랫폼이다. 우리에게 익숙한 가상화 플랫폼인 VMware와 VirtualBox는 호스트 OS위에 게스트 OS 전체를 가상화하여 사용하는 방식이다. 이 방식은 여러가지 OS를 가상화할 수 있고 비교적 사용법이 간단하지만 무겁고 느려서 운영환경에선 사용할 수 없다. 이와 달리 도커는 OS가 아닌 프로세스를 격리 하는 방식이다. 리눅스에서는 이 방식을 리눅스 컨테이너라고 하고, 단순히 프로세스를 격리시키기 때문에 가볍고 빠르게 동작한다. CPU나 메모리는 딱 프로세스가 필요한 만큼만 추가로 사용하고 성능적으로도 거의 손실이 없다. 여러 개의 컨테이너들을 동시에 구동해도 서로 영향을 미치지 않고 독립적으로 실행되기 때문에 마치 가벼운..
Younngjun
'보안/Docker' 카테고리의 글 목록