샌드박스 격리와 인프라 보안 아키텍처
업데이트: 2026-10-02
AI가 생성한 검증되지 않은 코드나 서드파티 오픈소스 파이썬 패키지를 클라우드 환경에서 실행할 때 가장 중요한 것은 **"내 프로젝트의 데이터와 환경변수가 다른 사용자나 외부 해커로부터 완벽히 격리되고 보호받는가"**입니다.
DashCloud는 호스트 커널 직접 접근을 차단하는 가상화 샌드박스와 외부 인바운드 수신 포트 원천 차단을 결합해 다층 보안 아키텍처를 구축했습니다.
3계층 다중 보안 방어 아키텍처
┌─────────────────────────────────────────────────────────────┐
│ 1계층: 제로 인바운드 포트 네트워크 방어선 │
│ ├─ 외부에서 들어오는 모든 접속 포트 차단 (DDoS, 포트스캔 불가능)│
│ └─ 오직 아웃바운드 암호화 통신(TLS 1.3)만 허용 │
└─────────────────────────────────────────────────────────────┘
▲
│
┌─────────────────────────────────────────────────────────────┐
│ 2계층: 커널 레벨 가상화 샌드박스 격리 │
│ ├─ 시스템 콜 필터링 및 호스트 커널 직접 접근 차단 │
│ ├─ 리눅스 네임스페이스(PID, Mount, Network) 완전 분리 │
│ └─ cgroups v2 하드웨어 자원 강제 격리 │
└─────────────────────────────────────────────────────────────┘
▲
│
┌─────────────────────────────────────────────────────────────┐
│ 3계층: AES-256-GCM 시크릿 암호화 저장소 │
│ ├─ 데이터베이스 내 모든 환경변수 군사 등급 암호화 저장 │
│ └─ 디스크에 파일로 쓰지 않고 프로세스 런타임 메모리에만 주입│
└─────────────────────────────────────────────────────────────┘제1방어선: 제로 인바운드 포트 보안
일반적인 클라우드 가상머신(AWS EC2, VPS)은 SSH(22번 포트)나 웹서버(80, 443, 8080번 포트)를 외부에 열어두어야 합니다. 이로 인해 Shodan 같은 전 세계 해킹 스캐너의 무차별 사전 대입 공격, DDoS 트래픽 공격, 제로데이 RCE(원격 코드 실행) 취약점에 상시 노출됩니다.
DashCloud의 제로 포트 철학
- 텔레그램 롱폴링 봇, 웹 크롤러, 퀀트 매매 프로그램은 모두 봇이 외부 거래소나 메신저 서버로 먼저 접속을 시도하는 아웃바운드 클라이언트입니다.
- DashCloud는 컨테이너의 모든 인바운드 수신 포트를 기본적으로 100% 닫아둡니다.
- 인터넷 상의 어떤 해커나 봇넷도 내 서비스의 IP를 스캔하거나 침투 경로를 찾을 수 없습니다. 공격 표면 자체가 0에 수렴합니다.
제2방어선: 시스템 콜 필터링 및 샌드박스 격리
멀티 테넌트 클라우드 환경에서는 동일한 물리 서버 위에서 여러 사용자의 컨테이너가 함께 실행될 수 있습니다.
일반 도커 컨테이너는 호스트 OS의 리눅스 커널을 공유하므로, 리눅스 커널 취약점(Dirty COW, Dirty Pipe 등)이 발생했을 때 악의적인 사용자가 다른 사용자의 메모리를 엿보거나 컨테이너를 탈출할 잠재적 위험이 있습니다.
DashCloud의 완벽한 커널 격리
- 시스템 콜 인터셉트: 컨테이너 내부의 프로세스가 호스트 커널과 직접 대화하지 못하도록 시스템 콜을 가상화 계층에서 가로채 검증합니다.
- Non-root 권한 분리 실행: 모든 봇 프로세스는 제한된 권한의 유저 네임스페이스에서 격리되어 실행되므로 호스트 시스템 파일에 절대 접근할 수 없습니다.
- 독립된 마운트 네임스페이스: 각 프로젝트는 오직 자신에게 할당된
/app물리 볼륨 디렉터리만을 바라볼 수 있으며, 다른 프로젝트의 파일이나 디스크는 물리적으로 보이지 않습니다.
제3방어선: AES-256-GCM 환경변수 시크릿 암호화
텔레그램 봇 토큰, 업비트/바이낸스 API Key, 데이터베이스 비밀번호는 개발자의 가장 귀중한 자산입니다.
- 데이터 저장 시점 암호화: 대시보드에서 환경변수를 입력하고 저장하는 순간, 데이터베이스에는 평문이 아니라 AES-256-GCM 알고리즘으로 암호화된 암호문만 기록됩니다.
- 디스크 유출 없는 메모리 직접 주입:
많은 개발자가 실수로
.env파일을 디스크에 생성했다가 깃허브에 커밋하거나 로그로 남기는 실수를 저지릅니다. DashCloud는 디스크에 임시 설정 파일을 일체 쓰지 않고, 컨테이너 기동 찰나에 호스트 데몬이 프로세스의 메모리 영역(process.env/os.environ)에만 직접 시크릿을 복호화하여 주입합니다. - 자동 로그 마스킹:
빌드 로그나 콘솔 스트리밍 중에 토큰 패턴이 감지되면 자동으로
****마스킹 처리되어 브라우저 콘솔 화면에 노출되지 않도록 보호합니다.
시크릿은 대시보드뿐 아니라 CLI로도 주입할 수 있습니다.
npx dashcloud env set TELEGRAM_BOT_TOKEN=7123456789:AAF... --project my-bot컴플라이언스 및 데이터 주권 보호
- 국내 데이터 거버넌스 준수: DashCloud의 아시아 리전 인프라는 데이터 보호 및 개인정보 보호 규정을 철저히 준수합니다.
- 프로젝트 삭제 시 즉시 파기: 사용자가 대시보드에서 프로젝트를 삭제하면, 연결되었던
/app물리 볼륨과 암호화 키는 즉각 군사 표준 방식으로 덮어쓰기되어 어떠한 잔여 데이터도 복구 불가능하게 영구 파기됩니다.