OpenClaw에 Tailscale 붙여서 보안 점수 6점 → 9점 올린 이유

처음엔 “굳이 이렇게까지?” 싶었어요.

OpenClaw 로컬에서 잘 돌아가는데, Tailscale까지 붙이라고? 복잡하게 왜?

근데 설정하고 나서 생각이 180도 바뀌었습니다.

텔레그램 봇 스팸 공격? 차단됨. API 비용 폭탄? 불가능. 외부에서 웹 UI 접근? Tailscale 네트워크만.

보안 점수로 치면 6점에서 9점으로 뛴 거예요. 진짜로.

OpenClaw에 Tailscale 붙여서 보안 점수 6점 → 9점 올린 이유

솔직한 마음: 왜 이 글을 쓰게 됐는가

OpenClaw 설치하고 텔레그램 연동까지 끝냈을 때, 좀 불안했어요.

“누군가 내 봇 username 알아내서 무한 메시지 보내면?” “Gemini/Anthropic API 호출되면서 비용 청구되는 거 아냐?”

이런 생각이 자꾸 드는 거예요.

실제로 텔레그램 봇은 기본적으로 누구나 DM 보낼 수 있어요. 그룹에도 아무나 초대할 수 있고요. 이게 편리함의 대가죠. 보안 구멍이기도 하고.

그래서 삽질 시작했습니다. 결론부터 말하면:

항목이전이후위험 감소
텔레그램 DM누구나 메시지 가능본인(나의 ID)만🔴→🟢
텔레그램 그룹아무 그룹에나 추가 가능차단됨🔴→🟢
API 비용 폭탄가능 (봇 스팸)불가능🔴→🟢
웹 UI 접근localhost만Tailscale 네트워크만🟡→🟢

“근데 이거 설정 어렵지 않아요?”

솔직히 말하면, 한 번 해보면 30분이면 끝나요. 제가 삽질한 시간은 빼고요.


OpenClaw가 뭔데? 왜 보안이 중요한가

OpenClaw… 이름부터 뭔 소린지 모르겠죠?

쉽게 말할게요. **”내 컴퓨터에서 돌아가는 개인 AI 비서”**예요.

ChatGPT나 Claude를 브라우저에서 쓰는 게 아니라, 내 맥북/리눅스에서 직접 돌리는 거예요. 텔레그램으로 명령하면 AI가 파일 만들고, 코드 짜고, 웹 검색하고, 이메일 보내고.

근데 여기서 문제가 생겨요.

“내 AI한테 명령할 수 있는 사람이 나만이어야 하잖아요?”

기본 설정으로는 그게 안 돼요. 텔레그램 봇 username만 알면 누구나 메시지 보낼 수 있으니까.

최악의 시나리오:

  1. 해커가 내 봇 username 알아냄 (텔레그램에서 검색 가능)
  2. 무한 메시지 스팸 → AI 계속 응답
  3. Anthropic/OpenAI/Google API 호출 폭주
  4. 💸 월말에 청구서 폭탄

이게 가능한 구조였어요. 무서웠습니다.


내가 적용한 3단계 보안 설정

1단계: 텔레그램 봇 – 본인 ID만 허용

가장 먼저 한 건 텔레그램 봇이 내 ID에서만 응답하도록 설정한 거예요.

OpenClaw 설정 파일(~/.openclaw/openclaw.json)에서:

{
  "telegram": {
    "enabled": true,
    "allowedUsers": ["180447549"],
    "groupPolicy": "closed"
  }
}

allowedUsers에 내 텔레그램 ID만 넣으면 끝.

“내 ID는 어떻게 알아요?”

텔레그램에서 @userinfobot 검색해서 메시지 보내면 바로 알려줘요.

groupPolicy: "closed"는 봇을 그룹에 초대하는 것도 막아줘요. 누가 이상한 그룹에 초대해서 스팸 보내는 것도 차단.

2단계: Tailscale – 웹 UI 접근 제한

OpenClaw 웹 UI가 localhost:18789에서 돌아가는데, 이걸 외부에서 접근하고 싶을 때가 있어요. 카페에서, 다른 방에서.

근데 그냥 포트 포워딩하면? 전 세계에 오픈되는 거예요.

Tailscale은 이 문제를 깔끔하게 해결해줘요.

Tailscale이 뭐냐고요? 개인 VPN인데, 설정이 거의 없는 VPN이에요.

WireGuard 기반이라 빠르고, 계정 만들고 앱 설치하면 내 모든 기기가 같은 네트워크에 들어와요. 포트 포워딩? 필요 없음. 방화벽? 뚫을 필요 없음.

설치:

# macOS
brew install tailscale

# 로그인
tailscale up

그 다음, OpenClaw를 Tailscale 네트워크에만 바인딩:

{
  "gateway": {
    "bind": "tailnet",
    "port": 18789,
    "authToken": "bd5e714d..."
  }
}

bind: "tailnet"이 핵심이에요. 이제 이 웹 UI는 Tailscale 네트워크에 연결된 내 기기에서만 접근 가능해요.

Tailscale IP는 100.x.x.x 형태로 나와요. 저는 http://100.110.156.101:18789로 접속합니다.

3단계: Gateway 토큰 인증

마지막으로 Gateway에 토큰 인증 걸었어요.

Tailscale 네트워크 안에 있어도, 혹시 같은 Tailnet 쓰는 가족이나 친구가 접근할 수 있으니까요.

{
  "gateway": {
    "authToken": "bd5e714d-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  }
}

이 토큰 모르면 웹 UI 접근 자체가 안 돼요. 2중 잠금인 셈이죠.


설정 후 보안 점검 결과

다 설정하고 나서 점검해봤어요.

✅ 안전한 항목

항목상태설명
네트워크 바인딩tailnetTailscale 네트워크만 접근 가능
Gateway 인증Token 방식토큰 없으면 접근 불가
텔레그램 DM본인만내 ID 외 모든 메시지 무시
텔레그램 그룹차단됨groupPolicy: closed
디렉토리 권한700본인만 읽기/쓰기
디스크 암호화FileVault ON분실 시에도 데이터 보호
Ollama (로컬 LLM)localhost127.0.0.1:11434 로컬만

🟡 주의 항목 (위험도 낮음)

항목상태위험도비고
API 키 평문 저장설정파일 내낮음FileVault + 700 권한으로 보호됨
Private Keyidentity/device.json낮음동일 보호
Gateway Token설정파일 내낮음Tailnet 내부만 접근 가능

공격 시나리오 분석 – 진짜 안전한가?

“말로만 안전하다고 하지 말고, 공격 시나리오로 검증해봐요.”

이게 맞는 말이에요. 그래서 직접 분석해봤습니다.

공격가능 여부이유
인터넷에서 웹UI 접근❌ 불가능Tailscale만 허용
텔레그램 스팸 공격❌ 불가능본인 ID만 응답
API 비용 폭탄❌ 불가능외부 접근 차단
맥북 분실 시 데이터 유출❌ 불가능FileVault 암호화
같은 Tailnet 사용자 접근⚠️ 가능Token 필요함

마지막 항목만 조금 주의가 필요해요. 가족이나 친구가 같은 Tailscale 계정 쓰면 이론상 접근 가능한데, Gateway 토큰이 있으니까 괜찮아요.

최종 보안 점수: 9/10 ✅

이전 6점에서 9점으로 올랐어요. 진짜 체감됩니다.


읽으면서 충격받은 것들

이 설정하면서 몇 가지 충격받은 게 있어요.

1. 텔레그램 봇이 기본적으로 이렇게 열려 있다니

진짜 몰랐어요. 봇 만들면 당연히 나만 쓰는 줄 알았는데, username만 알면 누구나 메시지 보낼 수 있다니. 텔레그램의 개방성이 장점이자 단점인 거죠.

2. Tailscale이 이렇게 쉽다니

VPN 하면 OpenVPN 설정하느라 삽질하던 기억이 있는데, Tailscale은 설치하고 로그인하면 끝이에요. 실화냐 싶었음.

3. WireGuard 기반이라 속도가 빠름

Tailscale이 WireGuard 위에 만들어진 건데, 덕분에 VPN 끼고도 속도 저하가 거의 없어요. 이전에 쓰던 VPN들은 다 느렸거든요.


내가 느낀 점: 불안에서 확신으로

솔직히 처음엔 “이 정도면 괜찮지 않나?” 하고 대충 넘어가려 했어요.

근데 API 비용 청구서 생각하니까… 불안해지더라고요.

Anthropic Claude API가 저렴하지 않거든요. 누가 스팸으로 1000개 메시지 보내면? 그거 다 내 비용이에요.

설정하고 나니까 마음이 편해졌어요. “이제 나만 쓸 수 있다”는 확신이 생기니까.

투자한 시간: 약 2시간 (삽질 포함) 얻은 것: 마음의 평화

가성비 최고죠.


앞으로 내가 할 것들

이 설정으로 끝이 아니에요. 앞으로 할 것들:

1. API 사용량 모니터링 설정

  • Anthropic, OpenAI 대시보드에서 알림 설정
  • 일일 사용량 임계치 초과 시 Slack/이메일 알림

2. 정기 보안 점검

  • 월 1회 openclaw doctor 실행해서 보안 상태 확인
  • 새로운 취약점 발표되면 업데이트

3. 백업 자동화

  • ~/.openclaw/ 폴더 정기 백업
  • Time Machine + 클라우드 이중화

FAQ

Q: Tailscale 무료인가요? 네, 개인 사용은 무료예요. 100개 기기까지 연결 가능하고, 대부분의 기능 다 써요.

Q: 텔레그램 ID는 바뀔 수 있나요? 아니요, 텔레그램 ID는 계정 생성 시 고정되고 변경 불가예요. Username은 바꿀 수 있지만 ID는 고정.

Q: 맥북 말고 리눅스 서버에서도 되나요? 네, OpenClaw와 Tailscale 모두 Linux 지원해요. 설정 방법도 거의 동일합니다.

Q: 같은 Tailnet에 가족 기기가 있으면 위험한가요? Gateway 토큰 인증이 있어서 토큰 없으면 접근 못해요. 근데 완전히 분리하고 싶으면 별도 Tailscale 계정 만드세요.

Q: Ollama 로컬 LLM도 Tailscale로 접근 가능한가요? 가능해요. Ollama를 Tailscale IP에 바인딩하면 외부에서도 접근할 수 있어요. 근데 보안 설정 추가로 해야 해요.

Q: 설정 잘못하면 봇이 아예 안 되는 거 아닌가요? openclaw doctor 명령어로 설정 검증할 수 있어요. 문제 있으면 알려줍니다.


결론: 로컬 AI 쓴다면 보안은 필수

OpenClaw 같은 로컬 AI 에이전트는 편리하지만, 보안 구멍이 생각보다 많아요.

텔레그램 봇 열어두면 누구나 메시지 보낼 수 있고, 웹 UI 그냥 열어두면 포트 스캔에 걸려요.

Tailscale + 텔레그램 ID 제한 + Gateway 토큰.

이 3가지만 설정하면 보안 점수 9점까지 올릴 수 있어요.

30분 투자로 마음의 평화 얻기. 저는 충분히 가치 있었습니다.