오픈클로(OpenClaw) 보안 강화 가이드: 5계층 방어 전략
오픈클로(OpenClaw) 설치 후 반드시 적용해야 할 다중 방어 체계. 네트워크 격리부터 Docker 샌드박싱, 모니터링까지 5단계 보안 강화 가이드.
오픈클로(OpenClaw, 구 몰트봇/Moltbot) 보안 강화 가이드: 5계층 방어 전략
설치 후 반드시 적용해야 할 다중 방어 체계
TL;DR
| 계층 | 방어 | 난이도 | 필수 | |------|------|--------|------| | 1층 | 네트워크 격리 (loopback) | 낮음 | 필수 | | 2층 | 폴더 권한 (700) | 낮음 | 필수 | | 3층 | 파일 권한 (600) | 낮음 | 필수 | | 4층 | Docker 격리 | 높음 | 선택 | | 5층 | 모니터링 | 중간 | 권장 |
1층: 네트워크 격리
기본 설정 (설치 시 적용)
openclaw config set gateway.bind "loopback"
openclaw config set gateway.mode "local"
확인 방법
lsof -i :18789
# 결과: localhost:18789만 보여야 함
추가 강화: 방화벽
# macOS 방화벽 추가
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add /opt/homebrew/bin/node
2층: 폴더 권한 강화
문제점
기본 설치 시 일부 폴더가 755 (누구나 읽기 가능)
해결: 700으로 변경
chmod 700 ~/.openclaw
chmod 700 ~/.openclaw/agents
chmod 700 ~/.openclaw/agents/main
chmod 700 ~/.openclaw/agents/main/agent
chmod 700 ~/.openclaw/credentials
chmod 700 ~/.openclaw/identity
chmod 700 ~/.openclaw/logs
chmod 700 ~/.openclaw/devices
확인
ls -la ~/.openclaw | grep "^d"
# 모든 폴더가 drwx------ 이어야 함
3층: 파일 권한
민감 파일 목록
| 파일 | 내용 | 권장 권한 |
|------|------|----------|
| openclaw.json | Discord/Telegram 토큰 | 600 |
| auth-profiles.json | API 키 | 600 |
확인 및 수정
chmod 600 ~/.openclaw/openclaw.json
chmod 600 ~/.openclaw/agents/main/agent/auth-profiles.json
# 확인
ls -la ~/.openclaw/openclaw.json
# -rw------- 이어야 함
4층: Docker 격리 (선택)
최고 수준 보안이 필요할 때
docker run -d \
--name openclaw \
--network none \
-v ~/.openclaw:/root/.openclaw:ro \
openclaw/openclaw:latest
또는 전용 사용자
# 전용 사용자 생성 (macOS)
sudo dscl . -create /Users/openclaw
sudo dscl . -create /Users/openclaw UserShell /bin/false
# 해당 사용자로 실행
sudo -u openclaw openclaw gateway
5층: 모니터링
외부 연결 감시 스크립트
cat > ~/.openclaw/monitor.sh << 'EOF'
#!/bin/bash
lsof -i :18789 | grep -v "127.0.0.1" && \
osascript -e 'display notification "OpenClaw 외부 연결!" with title "보안 경고"'
EOF
chmod +x ~/.openclaw/monitor.sh
cron 등록 (5분마다)
crontab -e
# 추가:
# */5 * * * * ~/.openclaw/monitor.sh
운영 권장사항
사용하지 않을 때
openclaw gateway stop
다시 사용할 때
openclaw gateway start
토큰 교체 (월 1회 권장)
- Discord: Developer Portal → Reset Token
- Telegram: @BotFather → /revoke
- 새 토큰으로 설정 업데이트
보안 점검 체크리스트
# 1. 네트워크 바인딩 확인
lsof -i :18789 | grep -v localhost && echo "경고: 외부 노출!"
# 2. 폴더 권한 확인
ls -la ~/.openclaw | grep -v "drwx------" | grep "^d" && echo "경고: 폴더 권한 취약"
# 3. 파일 권한 확인
ls -la ~/.openclaw/openclaw.json | grep -v "\-rw-------" && echo "경고: 설정 파일 노출"
# 4. Gateway 상태
openclaw gateway status
원라이너 점검
echo "=== OpenClaw 보안 점검 ===" && \
lsof -i :18789 | head -3 && \
ls -la ~/.openclaw/openclaw.json | awk '{print $1, $NF}'
결론
| 사용 환경 | 권장 계층 | |----------|----------| | 로컬 테스트 | 1~3층 (필수) | | 일상 사용 | 1~3층 + 5층 (모니터링) | | 민감 데이터 | 1~5층 전체 |
핵심: 기본 설치만으로는 부족. 최소 1~3층은 반드시 적용.