솔로 개발자한테 Tailscale 의 가장 큰 약점은 동시에 UX 의 강점이기도 해. 디바이스마다 오래 사는 키를 받는데, 그 키는 *네가* 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 으로 들어간 admin dashboard 에서 살아있는 row 를
DELETE FROM security_sessions로 전부 지울 수 있어. layer 두 개, 각각 한 클릭. - Downstream secret 회전. 폰이 cache 한 거 (1Password vault, Gmail session, GitHub PAT) 별도 회전.