솔로 개발자한테 Tailscale 의 가장 큰 약점은 동시에 UX 강점이기도 — 각 디바이스가 long-lived 키 받고, 그 키는 *네가* revoke 할 때까지 유효. 자동 timeout 없음. "폰이 30분 동안 안 움직였어, 확실해?" 도 없음.
꼭 설정해야 할 세 방어
| 방어 | 하는 일 | 위치 |
|---|---|---|
| Key expiry | N일 후 re-auth 강제 (기본 180일, 1일까지 낮출 수 있음) | Admin → Settings → Keys |
| Device approval | 새 디바이스가 join 전 수동 승인 필요 | Admin → Settings → Device Approval |
| 폰 잠금화면 | Tailscale 앱이 OS 잠금 상속; 폰 PIN 켜져있으면 공격자가 Tailscale UI 못 열어 | 폰 설정 |
폰 사라질 때 실제로 할 일
- Tailscale admin 에서 디바이스 revoke. 다른 디바이스에서
login.tailscale.com로그인, 폰 찾아, "Remove" 클릭. 몇 초 안에 mesh 에서 빠짐. - Find My / 등가물 trigger. 디바이스 잠그거나 wipe.
- Tailnet 안의 앱 session revoke. Track 7 의 killswitch 가 여기 들어와 — Tailscale revoke 완료 전에도 PIN-auth admin dashboard 가 모든 active row 에
DELETE FROM security_sessions. 두 layer, 각각 한 클릭. - Downstream secret 회전. 폰이 cache 한 거 (1Password vault, Gmail session, GitHub PAT) 별도 회전.