2026OpenClaw프로덕션SSRF

OpenClaw v2026.3.x 프로덕션 게이트웨이 강화: OpenAI 호환 API, 아웃바운드 미디어, Webhook, SSRF

OpenClaw 2026.3.x를 프로덕션에 올릴 때 Node 고정과 포트 18789만으로는 부족합니다. 게이트웨이는 /v1/models, /v1/embeddings 같은 OpenAI 호환 HTTP로 기존 SDK를 재사용하기 쉬워지지만 메신저 브리지 옆에 스캐너가 건드리기 쉬운 표면이 늘어납니다. 아웃바운드 미디어 정책, 본문보다 앞선 Webhook 인증, SSRF 가드, 설정·백업 chmod 0600, 플러그인 HTTP 루프백 고정, 계층화된 doctor 점검을 같은 릴리스 묶음으로 다룹니다. 게이트웨이 운영, 설치, 업데이트와 MCP, 하이브리드 라우팅, 클라우드 FAQ와 경계를 맞추고, SFTPMAC 호스팅 리모트 Mac으로 게이트웨이와 산출물 디렉터리를 같은 Apple 하드웨어에 두는 선택을 비교하세요.

OpenClaw프로덕션OpenAI 호환WebhookSSRF리모트 Mac
OpenClaw 프로덕션 게이트웨이 OpenAI 호환 API 보안 강화

세 가지 오해

첫째, 호환을 “/v1 전체를 하나의 장수명 베어러로 공개해도 된다”고 보는 것. 호환은 프로토콜 편의일 뿐 인증 전략이 아닙니다. 흔한 접두사를 훑으면 대화보다 먼저 임베딩 비용이 불어날 수 있습니다.

둘째, 디버깅 초기에 JSON을 먼저 파싱하고 서명을 나중에 검증하는 순서. 큰 본문이 CPU와 디스크를 고갈시키기 쉬우며 인스턴스 확장보다 순서 수정이 저렴합니다.

셋째, 아웃바운드를 보안만의 문제로 보고 멀티모달 스킬의 썸네일·PDF 가져오기를 빼먹는 것. MIME을 조이면 빈 답처럼 보이기 쉬우니 스테이징에서 스킬별 도메인을 열거하세요.

규정 준수 관점에서 호환 API도 M2M으로 처리자·로그 보존·지역 경로를 문서화하고, 분기마다 호환 토큰 폐기 드릴로 백오프를 확인합니다. WAF 규칙 스크린샷을 티켓에 남겨 감사에서 의도를 재현합니다.

2026.3.x 검토용 네 평면 매트릭스

소규모 팀 기준입니다. 위협 모델에 맞게 조정하세요.

평면전형적 위험주 통제합격 기준
OpenAI 호환 HTTP무단 추론·임베딩전용 토큰, 선택 mTLS, WAF 경로익명은 401, 스택 없음
아웃바운드 미디어메타데이터 SSRF도메인 허용, RFC1918 차단, 크기·시간 상한메타데이터 IP·file 스킴 부정 사례
인바운드 Webhook리플레이·거대 본문시간 창, 정시간 비교, 인증 우선실패는 상관 ID만, 원시 비밀 미저장
플러그인·설정전 세계 읽기 백업chmod 600, 비로그인 SA, SecretRef 층find로 그룹·기타 읽기 비트 없음

여러 평면을 동시에 바꾸면 번호 매긴 체크리스트 하나에 소유자와 리허설 날짜를 묶습니다.

토큰, 리버스 프록시, 루프백

공개 가상 호스트와 관리 리스너를 분리하고 호환 접두사와 대시보드에 다른 속도 제한을 겁니다. 내부 자동화는 127.0.0.1:18789 가벼운 헬스를 유지하고 외부는 TLS 종단과 봇 관리 바깥에 둡니다.

호환 토큰은 브리지 비밀보다 짧은 주기로 돌리고 이중 활성 창을 문서화합니다. 하이브리드에서 정한 모델 허용을 호환 클라이언트가 우회하지 않게 맞춥니다.

로그는 라우트 패밀리·주체 유형·대략적 크기 버킷까지 구조화하고 익명 401과 인증 500을 분리 알림합니다. 비밀과 표면 매핑을 IaC 근처에 두고 호환 폐기가 Telegram까지 번지지 않게 확인합니다. LB 본문 검사가 전체 버퍼면 에지 검증을 검토합니다. 다지역은 키를 나누고 내부 OpenAPI 조각으로 지원 필드만 공유합니다.

Webhook과 SSRF: 스테이징 curl과 순서

합성 데이터만 사용하고 로그 필드명은 게이트웨이 운영과 맞춥니다. 층마다 기대 지연을 문서화합니다.

# Layer 0: 프로세스와 루프백
openclaw status
curl -sS -m 5 http://127.0.0.1:18789/health

# Layer 1: 익명 호환 프로브는 닫힘
curl -sS -o /dev/null -w "%{http_code}\n" https://gw.example.com/v1/models

# Layer 2: 허용된 호환(모델 화이트리스트)
curl -sS -H "Authorization: Bearer $OPENCLAW_COMPAT_TOKEN" https://gw.example.com/v1/models | head

# Layer 3: 서명 없는 Webhook은 무거운 파싱 전 거부
curl -sS -o /dev/null -w "%{http_code}\n" -X POST https://gw.example.com/hooks/vendor -d '{}'

# Layer 4: SSRF 부정 사례(메타데이터 IP, file, 리다이렉트) 기록

케이스 ID·기대 코드 CSV를 분기마다 다시 실행합니다.

아웃바운드 미디어와 파일 권한

객체당 10~20MB를 시작 상한으로 두고 파트너 예외는 승인과 함께 둡니다. 요청 타임아웃 3~8초와 사용자 대기 예산을 문서화합니다. 설정과 야간 백업은 chmod 600과 서비스 계정 소유로 제한합니다. 플러그인 HTTP는 루프백 또는 메시 mTLS에 둡니다.

주요 업그레이드마다 업데이트와 MCP 절차를 반복해 스냅샷, doctor, 플러그인 핫 리로드 경계, 네트워크 변경 후 SSRF 재시험을 넣습니다. 아웃바운드 실패율·Webhook 거부·호환 401을 그래프로 두고 거부가 급락하면 익명 노출 의심도 봅니다. 백업 tar가 공개 읽기 객체 스토리지로 가지 않게 하고 컨테이너 마운트 권한과 연쇄 페치 합산 타임아웃을 점검합니다.

FAQ, 계층 검증, 호스팅 리모트 Mac

호환 토큰이 텔레그램 봇 토큰과 같아도 되나요?

아니요. 비밀·로테이션·영향 범위 문서를 분리하세요.

doctor는 녹색인데 SSRF가 걱정됩니다

아웃바운드 통합 테스트와 WAF 로그 주간 샘플을 추가하세요. doctor는 형태 검증이지 모든 런타임 페치를 보증하지 않습니다.

클라우드 VM 대 리모트 Mac

리눅스는 클라우드 FAQ를 보세요. Apple 툴체인과 SFTP 산출물 동거가 중요하면 리모트 Mac을 고릅니다.

요약: OpenClaw 3.x는 고급 HTTP를 기본에 가깝게 두므로 인증·이그레스·인바운드 검증·파일 위생을 함께 설계합니다.

한계: 매트릭스 유지에는 당직 규율과 정확한 인벤토리가 필요합니다. SFTPMAC 리모트 Mac은 게이트웨이 업타임과 디렉터리 분리 산출물 전달을 한 머신에 올리는 선택입니다.

인시던트 시간과 설정 드리프트로 재오픈되는 펜테스트, 기능에서 방화벽으로 컨텍스트 전환 비용을 TCO에 넣고 호환 남용 시도와 Webhook 거부를 대시보드화합니다. 연간 HTTP 표면만 검토하고 아웃바운드 허용 예외에 만료일을 둡니다.

OpenClaw 게이트웨이와 SFTP 친화 산출물 경로를 안정적인 Apple 하드웨어에 두려면 SFTPMAC 플랜을 살펴보세요.