AWS Cloud School 8th/<Docker> Honeypot 구현하기

도커 설치, 프로젝트 설명

Randy, the engineer 2025. 3. 28. 09:30
./get-docker.sh

도커 설치부터 하고 프로젝트에 대해 설명해보겠습니다.

도커 설치

curl -fsSL https://get.docker.com -o get-docker.sh

-> 도커 사이트에서 도커 실행파일 다운로드

chmod +x get-docker.sh

-> 도커 실행권한 제공

./get-docker.sh

-> 도커 다운로드 실행

만약 안된다면 apt update -y 실행 먼저 해보고 다운로드 받아보기

docker -v
-> 도커 버전 확인, 잘 다운로드됐는지 확인

이렇게 나온다면 도커를 정상적으로 잘 다운로드 하신겁니다.

 

프로젝트 설명

허니팟을 간단하게 구성해보고, 공격 시뮬레이션과 그라파나 모니터링까지 해볼 생각입니다.

허니팟이란?

사이버 공격을 유도하는 취약한 서비스입니다.

실제 서비스로 보이는 시스템을 일부러 구축, 해커들이 공격하기 쉽게 만들어놓은 시스템입니다.

그래서 꿀단지, 허니팟이라고 부릅니다.

 

해커들이 이 허니팟을 공격해도 실제 서비스가 아니기때문에 손해를 입는 일은 없고, 오히려 공격 실사례를 분석해볼 수 있는 좋은 기회일 수 있습니다.

 

구조

 

  • Hacker VM와 Server VM은 서로다른 호스트지만, Docker Swarm으로 인해 컨테이너들은 같은 네트워크에 존재
    • 실제 인터넷 환경에서는 호스트가 달라도 서로 통신이 가능하다는 실제 환경을 구축하고자 했습니다.
  • Hacker VM에서 Server VM으로 공격
  • 공격 로그를 Prometheus, Grafana를 활용해서 대시보드 시각화

위와 같은 순서로 진행해볼 예정입니다.

기술 선정 이유

1. 도커

제가 이제 막 도커를 배운 참이라 응용해보고싶기도 하고,

도커에서 허니팟을 만들어놓으면 일단 호스트와는 격리되어있기 때문에 상대적으로 안전합니다.

허니팟에 가해지는 공격이 호스트에게 전달되는 것을 최소화할 수 있습니다.

 

2. PostgreSQL

각 서비스에서 중요한 정보가 들어있는 곳은 DB입니다.

따라서 DB가 공격당하는 경우의 수를 가정해보고자 하는데,

DB는 요즘 사람들이 많이 쓰는 인기있는 DB를 사용해보고싶었습니다.

그래서 도커 허브에 들어가서 각 DB들의 이미지 pull 횟수를 살펴봤습니다.

mysql 5,483,408
mariadb 2,533,317
mongo 2,807,198
postgres 12,355,558

 

지난 주 pull 횟수 기준으로 PostgreSQL이 제일 많습니다.

 

3. Prometheus, Grafana

제가 influxDB, telegraf, grafana를 배웠는데요, influxDB와 telegraf의 기능을 하나로 합쳐놓은 것이 Prometheus라고 하여 한번 사용해보고싶었습니다.

 

다음 포스팅부터는 프로젝트를 구성해나가보도록 하겠습니다.