C.W.K.
Stream
Lesson 03 of 05 · published

ACL — 디바이스가 뭐 도달할 수 있는지 제한

~15 min · acl, tailscale, tags

Level 0Greenhorn
0 XP0/53 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete

기본적으로 tailnet 의 모든 디바이스가 다른 모든 디바이스의 모든 포트 도달 가능. 솔로 작업엔 보통 OK. 근데 디바이스 몇 개 있고 민감한 포트의 서버 있으면 ACL (Access Control List) 가 mesh 조여줘.

기본 — 안에선 활짝 열림

ACL 설정 안 함: 모든 디바이스 → 모든 디바이스, 모든 포트. 폰 도난당하면 공격자가 home 맥, Pi, VPS 다 SSH 접근 — 전부.

최소한 유용한 ACL

이제 폰이 사라지면 공격자가 웹 앱은 칠 수 있는데 (여전히 PIN 보호됨; 그래서) 어떤 host 에도 SSH 못 해. blast radius 가 극적으로 줄어.

형성할 가치 있는 두 ACL 습관

  1. 폰은 절대 SSH 못 함. 폰용 태그 쓰고 그 태그한테 22번 거부. 폰은 SSH 필요 없음 — 부재가 분실 폰 공격을 훨씬 덜 흥미롭게 만들어.
  2. Admin 서비스는 별도 태그. 데이터베이스 admin UI, 서버 config 엔드포인트, destructive 한 거 — tag:admin-laptop 으로 제한. 침해된 노트북이 침해된 폰보다 드물어.

Code

최소한 유용한 Tailscale ACL·json
{
  "tagOwners": {
    "tag:admin-host": ["autogroup:admin"],
    "tag:phone":      ["autogroup:admin"]
  },
  "acls": [
    // 폰은 웹 앱 도달 가능 — SSH 는 X
    {
      "action": "accept",
      "src":    ["tag:phone"],
      "dst":    ["tag:admin-host:8000-9000,80,443"]
    },
    // Admin 노트북은 모든 거 도달 가능
    {
      "action": "accept",
      "src":    ["autogroup:admin"],
      "dst":    ["*:*"]
    }
  ]
}

External links

Exercise

Tailscale ACL 에디터 열어 (admin → Access Controls). 'phone' 태그 디바이스에서 22번 막는 룰 추가. 폰 태그 (admin → Machines → … → Edit ACL tags). 테스트: 폰에서 ssh me@laptop — 실패해야 함. 폰은 SSH 절대 필요 없음 — 가장 싸고 큰 win 의 ACL.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.