보안 강화 가이드 - OpenClaw 배포 방案

AI 폭주 방지 —— OpenClaw를 샌드박스에 가둔다

OpenClaw를 샌드박스에 넣는 이유가 뭐야

AI은 코드 작성, 파일 수정, 스크립트 실행을 도와줄 수 있는데, 이것이 강점인 동시에 위험성도 있음. 만약 AI이 실행하면 안 될 명령을 실행하면 결과는 클 수 있음.

샌드박스 대 베어메탈

실행 시간 제한 없음

['AI가 rm -rf / 명령으로 전체 시스템 삭제 (실제 사례 여럿)', 'AI가 시스템 핵심 설정 파일 실수 수정, 서버 부팅 불가', 'API Key가 AI 로그로 출력돼 누구나 볼 수 있음', '컨테이너 탈출, 호스트 머신의 다른 서비스 영향', 'AI가 네트워크를 통해 민감 데이터 유출']

Docker 샌드박스 + 권한 제어 + 네트워크 격리

['읽기 전용 파일시스템, AI가 파일 수정 불가', '모든 Linux capability 폐기, 권한 최소로', 'CPU와 메모리 제한, 리소스 고갈 방지', '네트워크 격리, 필요 API 끝점만 접속 가능', '로그 감사, 모든 작동 기록 남음']

Docker 샌드박스 구축

핵심 아이디어: 읽기 전용 마운트 + 네트워크 차단 + 리소스 제한.

보안 샌드박스 컨테이너 생성
# 높은 제약이 있는 컨테이너 생성

이 명령어가 한 것: 파일시스템 읽기 전용, 모든 특권 버리기, 메모리 1GB 제한, CPU 1코어 제한, 프로세스 100개 제한, 완전 단네. 거친 거 맞지.

docker-compose.yml 샌드박스 설정

실제 배포는 Nginx 리버스 프록시 권장. 8080을 80/443 뒤에 숨기기. 디버깅 완료 후 8080 인바운드 규칙 삭제 기억할 것.

docker-compose.yml
version: "3.8"

AppArmor / Seccomp 강화

더 많은 보안 비교 알고 싶으면 이 글 참고:

seccomp-profile.json (간단 버전)
{
  "defaultAction": "SCMP_ACT_ERRNO",
  "architectures": ["SCMP_ARCH_X86_64", "SCMP_ARCH_AARCH64"],
  "syscalls": [
    {
      "names": [
        "read", "write", "open", "close", "stat", "fstat",
        "mmap", "mprotect", "munmap", "brk", "ioctl",
        "access", "pipe", "select", "sched_yield",
        "dup", "dup2", "clone", "execve", "exit",
        "wait4", "kill", "getpid", "getuid", "getgid",
        "socket", "connect", "sendto", "recvfrom"
      ],
      "action": "SCMP_ACT_ALLOW"
    }
  ]
}

이 seccomp 설정은 가장 기본 시스템 콜만 허용, mount, ptrace 같은 위험 조작은 전부 차단.

샌드박스 배포(OpenClaw)

1

격리 컨테이너 생성

키 쌍 생성. 공개키 업로드. 비밀번호 로그인과 root 직접 연결 비활성화.

2

읽기 전용 파일 시스템

/tmp와 지정한 workspace 디렉토리 외 다른 곳은 쓸 수 없음.

3

네트워크 제한

internal network로 외부 인터넷 직접 접속 차단, API 필요하면 프록시 경유.

4

자원 제한

CPU, 메모리, 프로세스 수에 모두 상한선을 설정해 컨테이너가 호스트 머신의 리소스를 독점하지 못하도록 방지.

5

일상 사용 편함, 응답 빠름, 문제 적은 설정:

또는

샌드박스 의미: AI 그릴 그려주고, 안에서만 활동 가능. 나가면 아무것도 못 함. 놀다가 문제 생겨도 시스템 영향 없음.

다층 격리 보호, 파일 시스템 읽기 전용, 네트워크 화이트리스트 제어, 리소스 제한. AI 오작동은 컨테이너 내부만 영향, 시스템 영향 없음.

VS
베어 메탈 배포(전통적인 방식)

시스템 권한 공유, 파일 완전히 읽고 쓸 수 있어, 네트워크 제한 없어. 배포 간단하지만, AI가 실수하면 전체 시스템에 영향 미칠 수 있고 심하면 삭제도 가능.

🏢 엔터프라이즈 환경은 고려해볼 수 있어 Zscaler Private Access 뭘 백업할지, 얼마나 자주, 얼마나 보관할지 명확히. 권장: 데이터 디렉터리 매일 백업, 설정 파일 변경 후 즉시 백업, 최근 30일 백업 보관. Cloudflare Tunnel 등의 방안, 네트워크 레벨에서 더 세밀한 접근 제어, VPN마저도 아낄 수 있다.
MOLILI 데스크톱 애플리케이션에는 샌드박스 격리가 내장되어 AI의 모든 작동이 안전한 샌드박스 내에서 실행되므로 이런 설정을 직접 할 필요 없음. MOLILI에 대해 알아보기 →
이 튜토리얼이 도움 됐나?